Python的特性
解释型语言,不用编译程序就可以运作
给予了互动式cmd
根据构造函数的编程思想
混合开发和较好的兼容模式,在Windows.Mac.Linux上都可以运作
简易功能强大并且功能齐全
1.中文编码
许多 小伙伴在开启数据信息的时候会遇到错码难题,其根本原因是字段名的编号难题。Linux和Mac默认设置的编号集是UTF8,而Windows则是ASCII。假如编码数据的字段名,与你应用Python开展解决时选用的字段名不一样,则会发生错码难题。
此外,我自己的方式是在Python编码的头顶部添加以下几点,在其中第二行申明了应用UTF8字符集。
#!/usr/bin/env python# coding:utf8
2.自变量
Python中的自变量能够当作是一个个器皿,里边储放着大家就需要应用到的值。
Python对用户标识符的需求和其它语言表达一样:能够包括英文.数据及其下横线,但不可以以数据开始,区别英文大小写。自然推存,用户标识符用纯英语就很好,而且取一些感兴趣的名字,有利于自身了解每一个字符串的功效。
Python是一门弱种类的语言表达,在应用自变量时不用申明其种类。Python中的自变量包含下列几种:标值.字符串数组.目录.元组.词典。
3.标值
标值包含整形和浮点型,各自相匹配整数金额和浮点型,后面一种精密度高些。
# 整形a = 1# 浮点型b = 2.1print a, b
4.字符串数组
字符串数组也就是大家常常了解到的文字,能够往里放随意长短的內容,用反斜杠或引号括起來。理应留意,汉语及其中文符号只有发生在字符串数组內,假如在下面第三行中采用了中文输入法的分号 ,Python将出错。
c = Hello d = 您好 print c, d
应用 能够拼凑2个字符串数组。
print c d
应用 len() 能够获得字符串数组的长短。
print len( Hello World )
应用切成片能够浏览字符串数组中的特定标识符或某一精彩片段。
# 部位字符从0开始c = Hello World # 打印出結果为H,字符为0表明**个标识符print c[0]# 打印出結果为d,字符为负值表明从后面向前数# 因此-1表明倒数**字符print c[-1]# 应用:回到一个精彩片段,灶具前后左右各自为逐渐字符和完毕字符# 包含逐渐字符,但不包括完毕字符# 因而c[1:5]表明,回到字符从1到4的精彩片段,即第二个到第五个标识符print c[1:5]# 灶具前后左右的字符一样还可以应用负值# 或是不给予,表明从最左方逐渐或一直到最右边print c[1:-1], c[:5], c[3:]
5.目录
目录如同一条团队,里边先后储放着好几个自变量。目录和字符串数组相近,但字符串数组中的不同设计全是标识符,而目录中的不同原素能够是随意种类的自变量。
# 应用[]界定一个空目录,应用append()向目录尾端插入一个原素# 假如要关注到**部,就用prepend()好啦a = []a.append(1)a.append(2.1)a.append( Hello )print a
应用 len() 能够得到目录的长短。
print len(a)
目录原素的按字符浏览和取值等实际操作,和字符串数组全是相近的。
print a[1], a[-1]a[1] = 100print a
应用 del 删掉目录中的某一个原素。
del a[0]print a
6.元组
元组和目录相近,**的差异是元组中的要素在复位以后不可以再变更,因而能够了解成一个写保护的自变量。
# 应用()界定一个元组a = (1, 2.1, Hello )# 试着改动元组中的属性会出错a[0] = 100
7.词典
词典是一种十分重要的变量类型,应用一个key来浏览对应的value,即一种键值对的信息方式。
# 应用{}界定一个词典a = {}# 应用key来取值valuea[ k1 ] = 1a[ k2 ] = 2.1a[ k3 ] = Hello
因此可以归纳出词典和目录的不一样。目录中的因素是井然有序对等的,因此是用字符来取值和浏览,而词典中的因素是混乱的,因此是用key来实际操作相对应value。
# 还可以在界定词典和目录的一起开展取值li = [1, 2.1, Hello ]di = { k1 :1, k2 :2.1, k3 :Hello }
应用 has_key() 分辨词典中能否有某一key。
print di.has_key( k4 )
假如浏览不会有的key,Python可能出错。在取值的情况下,假如key早已存有,则会用新的value遮盖已经有的value。
8.注解
被注解的源代码将不容易运作,能够当作是致自己和别的程序员阅读文章的一些手记和表明,提升编码易读性。
# 这儿是单行注解 这儿是许多 行注解
在Sublime中,选定*须 引用的內容,按Ctrl /就可以进行注解。
9.保存标识符
在Python中,有一些字符串数组具备某种特殊作用,如 import . class 等。我们在挑选 用户标识符时,应小心规避这种保存标识符。
# 下列自变量取值将出错import = 1
10.行和缩近
在Python中,代码块的界限并不是根据大括号等标记开展显式区划,只是根据行的缩近完成的。持续同样缩近水准的编码处在同一个代码块,在应用 for . while . if . try 等英语的语法时*须留意每排编码的缩近。
11.操作符
操作符的效果是基于已经有的自变量转化成新的自变量,关键有下列几类:
算术运算符: ,-,*,/,%,即加.减.乘.除.取余
较为操作符:==,!=,>,<,>=,<=,即相当于.并不等于.超过.低于.高于或等于.不大于
赋值运算符:=, =,-=,*=,/=,%=,即取值.加取值.减取值.乘取值.除取值.取余取值
逻辑运算符:and,or,not,即与.或.非
a = 1b = 2print a bprint a == b# 等额的于 a = a 3a = 3print ac = Trued = Falseprint c and d
12.标准在敲代码的情况下,通常须要按照一些标准来分辨,并依据分辨結果实行不一样的支系编码。
a = 1# 单独标准if a == 1:print 11111# 解决标准不成才的支系if a == 2:print 22222else:print 33333# 好几个标准,是多少个都能够if a == 1:print 11111elif a == 2:print 22222else:print 33333
*须 特别注意的是,只要是发生了 if 和 elif ,就*须 再加上一定的标准分辨,而且留意编码的缩近。在Sublime中键入 if 会产生此类的提醒,能够便捷地补齐编码,在自动换行时鼠标光标也会自行跳到适合的缩近处。
13.循环系统
假如*须打印出从1到100的一百个数,毫无疑问不容易傻傻的地写100行print编码,只是会用循环系统来解决相近的反复工作中。
14.while 循环系统
while 循环系统的思维是,只需某一标准创立,就持续实行循环体里的编码,直至标准不会再创立。
flag = 1while flag < 10:print flag # 一定要记住在循环体里改动标准自变量 # 不然将会造成 无限循环 flag = 1
15.for 循环系统
for 循环系统的循环系统频次一般是事前预料的,将一个标示自变量从某一起始值迭代更新到某一停止值后即完毕。
# x从0开始,一直到9完毕for x in xrange(0, 10):print x
可以用 for 循环系统便捷地解析xml目录和词典。
li = [1, 2.1, Hello ]dict = { k1 :1, k2 :2.1, k3 :Hello }# 解析xml目录,这儿的item仅仅一个临时性自变量,取其他名字也行for item in li:print item# 遍历字典的所有key,这儿的key也仅仅一个临时性自变量,名字不重要for key in dict.keys():print key# 遍历字典的所有value,这儿的value也仅仅一个临时性自变量,名字不重要for value in dict.values():print value# 与此同时解析xmlkey和valuefor key, value in dict.items():print key, value
16.循环系统操纵
循环系统操纵一般有三种:pass . continue . break 。
pass 表示什么都不做,仅仅占一行编码的部位;continue 表明马上撤出这轮循环系统,执行事后轮循环系统;break 表明马上发布循环系统,事后循环系统也不会实行。
for x in xrange(0, 10):if x == 5:pass else:print xfor x in xrange(0, 10):if x == 5:continue print xfor x in xrange(0, 10):if x == 5:break print x
17.時间
在解决数据信息时,许多 地区都是会牵涉到時间,比如数据信息造成的時间。先介绍一下时间格式的定义,时间格式指的是以1970年1月1日0时0分0秒逐渐,到某一时时刻刻所亲身经历的分秒,能够是整数金额或是小数,后面一种的要求高些。
为何*须 时间格式那样的一个定义?由于针对同一个时时刻刻,不一样人的叙述很有可能不一样,终究文字的方式千姿百态,而时间格式促使時间的表述获得了统一,每一个时时刻刻只有用**的整数金额或浮点型来表明,与此同时也有利于测算时差那样的解决。
# 看来一下当今时间的时间格式吧import timet = time.time()print t, type(t)
有关时间格式,最常见的解决就是时间格式和時间文字中间的变换,比如将 2016年10月1日 10时0分0秒 变为时间格式。
import time# 時间文字转时间格式,精准到秒a = 2016-10-01 10:00:00 a = int(time.mktime(time.strptime(a, %Y-%m-%d %H:%M:%S )))print a# 时间格式转時间文本b = int(time.time())b = time.strftime( %Y-%m-%d %H:%M:%S , time.localtime(b))print b
在其中, %Y . %m 等全是時间字段名,前面一种表明四位的年代,后面一种表明俩位的月。
文档
文档实际操作包含向文档中写內容,及其文本文件中读內容,应用 open() 开启一个文档。
# 写文档# 再次写方式,打开文件的时候会将文档內容清除fw = open( data.txt , w )# 增加写方式,打开文件后保存初始內容,再次载入for x in xrange(0, 10):# 将整数金额转成文字再载入 fw.write(str(x)) # 还可以每一次载入以后自动换行,为转义字符,表明自动换行 # fw.write(str(x) )fw.close()# 读文档fr = open( data.txt , r )# 一行一行地读,line仅仅个临时性自变量,取其他名字也行for line in fr:print line # 假如每排后边有自动换行,能够将回车符除掉,使內容更紧密 # strip()能够除掉字符串数组两边的空白字符 # print line.strip()fr.close()
18.出现异常Python编码中可能会发生一些能够预料的难题。
比如词典浏览的key不会有。假如不用解决,产生情况的情况下Python便会出错并撤出,很有可能以前跑了好长时间又要重新再来。因而,大家*须对将会发生的异常情况开展捕获和解决。出现异常的构造由 try . except . else . finally 四部份构成。
try:# 试着实行这种编码 print 1 / 0except Exception, e:# 假如发现异常就完成解决 # e为发生的出现异常种类 print eelse:# try里的编码沒有错误 # 能够实行下一步工作了 print 沒有错误 finally:# 不管是不是错误,都是会实行的编码 print 一定会实行
19.涵数
涵数的效果是编码模块化设计,将可器重的编码封裝成一个涵数,那样在*须采用的情况下就只需启用写好的涵数就可以,而无需再次写一遍编码。
涵数的运行包含2个一部分,函数的概念解析函数的启用。此外,涵数能够有一个或好几个主要参数,主要参数中间以分号分离,为变量的工作给予大量的协调能力。
# 界定涵数def hello(name1, name2):print Hello name1 name2# 函数调用hello( Python , JavaScript )