Python简单易学,但又博大精深。许多人号称精通Python,却不会写Pythonic的代码,对不少经常使用包的使用也并不熟悉。学海无涯,咱们先来了解一些Python中最基本的内容。python
Python的特色编程
解释型语言,无需编译便可运行app
提供了交互式命令行ide
基于对象的编程思想模块化
跨平台和良好的兼容性,在Windows、Mac、Linux上均可运行函数
简单好用并且功能强大编码
01 中文编码spa
不少同窗在打开数据时会赶上乱码问题,其缘由是字符集的编码问题。Linux和Mac默认的编码集是UTF8,而Windows则是ASCII。若是数据编码的字符集,和你使用Python进行处理时所用的字符集不一样,则会出现乱码问题。命令行
另外,我我的的习惯是在Python代码的头部加入如下内容,其中第二行声明了使用UTF8字符集。3d
#!/usr/bin/env python# coding:utf8
02 变量
Python中的变量能够看做是一个个容器,里面存放着咱们须要使用到的值。
Python对变量名的要求和其余语言同样:能够包括英文、数字以及下划线,但不能以数字开头,区分大小写。固然我推荐,变量名用纯英文就很好,而且取一些有意义的名称,便于本身理解每一个变量的做用。
Python是一门弱类型的语言,在使用变量时无需声明其类型。Python中的变量包括如下几类:数值、字符串、列表、元组、字典。
03 数值
数值包括整型和浮点型,分别对应整数和浮点数,后者精度更高。
# 整型a = 1# 浮点型b = 2.1print a, b
04 字符串
字符串也就是咱们常常接触到的文本,能够往里面听任意长度的内容,用单引号或双引号括起来。应当注意,中文以及中文符号只能出如今字符串內,若是在下面第三行中使用了中文输入法的逗号 ,Python将报错。
c= Hello d = 你好 print c, d
使用 + 能够拼接两个字符串。
printc + d
使用 len() 能够获得字符串的长度。
printlen( Hello World )
使用切片能够访问字符串中的某个字符或某个片断。
05 列表
列表比如一条队伍,里面依次存放着多个变量。列表和字符串相似,但字符串中的每一个元素都是字符,而列表中的每一个元素能够是任意类型的变量。
使用 len() 能够得到列表的长度。
printlen(a)
列表元素的按下标访问和赋值等操做,和字符串都是相似的。
printa[1], a[-1]a[1] =100printa
使用 del 删除列表中的某个元素。
dela[0]printa
06 元组
元组和列表相似,惟一的不一样是元组中的元素在初始化以后不能再更改,所以能够理解成一个只读的变量。
# 使用()定义一个元组a = (1, 2.1, Hello )# 尝试修改元组中的元素会报错a[0] = 100
07 字典
字典是一种极为重要的变量类型,使用一个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。
printdi.has_key( k4 )
若是访问不存在的key,Python将会报错。在赋值的时候,若是key已经存在,则会用新的value覆盖已有的value。
08 注释
被注释的代码将不会运行,能够看做是写给本身和其余程序猿阅读的一些笔记和说明,提升代码可读性。
# 这里是单行注释 这里是不少行注释
在Sublime中,选中须要注释的内容,按Ctrl+/便可完成注释。
09 保留字符
在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 条件
在写代码的时候,每每须要根据某些条件进行判断,并根据判断结果执行不一样的分支代码。
须要注意的是,但凡出现了 if 和 elif ,就须要加上相应的条件判断,而且注意代码的缩进。在Sublime中输入 if 会出现相应的提示,能够方便地补全代码,在换行时光标也会自动跳到合适的缩进处。
13 循环
若是须要打印从1到100的100个数,确定不会傻傻地写100行print代码,而是会用循环来处理相似的重复性工做。
14 while 循环
while 循环的思想是,只要某一条件成立,就不断执行循环体里的代码,直到条件再也不成立。
15 for 循环
for 循环的循环次数通常是事先预知的,将一个标志变量从某个起始值迭代到某个终止值后即结束。
# x从0开始,一直到9结束for x in xrange(0, 10): print x
能够用 for 循环方便地遍历列表和字典。
16 循环控制
循环控制主要包括三种: pass 、 continue 、 break 。
pass 表示什么也不作,只是占一行代码的位置;continue 表示当即退出本轮循环,继续执行后续轮循环;break 表示当即推出循环,后续循环也再也不执行。
17 时间
在处理数据时,不少地方都会涉及到时间,例如数据产生的时间。先介绍一下时间戳的概念,时间戳指的是从1970年1月1日0时0分0秒开始,到某一时刻所经历的秒数,能够是整数或者小数,后者的精度更高。
为何须要时间戳这样的一个概念?由于对于同一个时刻,不一样人的描述可能不一样,毕竟文本的形式变幻无穷,而时间戳使得时间的表达获得了统一,每一个时刻只能用惟一的整数或浮点数来表示,同时也便于计算时间差这样的处理。
# 来看一下当前时刻的时间戳吧import timet =time.time()printt,type(t)
关于时间戳,最经常使用的处理即是时间戳和时间文本之间的转换,例如将 2016年10月1日 10时0分0秒 转为时间戳。
其中, %Y 、 %m 等都是时间字段,前者表示四位的年份,后者表示两位的月份。
文件
文件操做包括向文件中写内容,以及从文件中读内容,使用 open() 打开一个文件。
18 异常
Python代码中可能会出现一些能够预知的问题,例如字典访问的key不存在。
若是不加处理,发生问题的时候Python便会报错并退出,可能以前跑了好久又要重头再来。所以,咱们须要
19 函数
函数的做用是代码模块化,将可重用的代码封装成一个函数,这样在须要使用的时候就只需调用写好的函数便可,而不用从新写一遍代码。
函数的使用包括两个部分,函数的定义和函数的调用。除此以外,函数能够有一个或多个参数,参数之间以逗号分开,为函数的功能提供更多的灵活性。