Python初识

Python的特点

优雅
明确
简单

Python支持多种编程风格
Python支持面向过程的编程风格。
Python支持面向对象的编程风格。数字、字符串、函数、模块…都是“对象”
Python支持函数式编程。世界上只有两种编程语言,C类语言,Lisp类语言

Python代码量小、维护成本低、编程效率高、标准库强大、第三方库非常丰富

Python是一种”半编译、半解释”型语言
和C/C++不同,不是先将源代码文件转化成可执行文件,再执行;而是由Python解释器按行读取源代码文件然后将源代码转化为可供Python解释器直接执行的”字节码”,然后再执行字节码。
例如:我们执行一个.py文件,会生成一个同名的.pyc文件,这个.pyc文件就是Python解释器生成的字节码文件,如果.pyc文件已经存在,就不需要再”翻译”一次了,这样也就高了效率

Python的可扩展性强

Python可以很容易的调用C/C++语言,如果觉得哪里的逻辑不能满足要求,可以用C/C++重构这部分模块,用Python调用

Python的可嵌入性
Python代码也很容易嵌入到C/C++内执行

对于测试人员,Python可以做哪些事??
搭建自动化测试框架
搭建Bug状态跟踪平台
搭建持续集成环境

Python的缺点

除了驱动开发,Python几乎无所不能
执行效率较低

动态类型
Python中的变量不需要声明,直接定义即可,会在初始化的时候决定变量的类型
使用 = 来进行初始化和赋值操作

支持增量赋值
n = n * 10 等价于 n *= 10
不支持++/–这样的操作
只能写成 n += 1
同一个名字变量可以赋值成不同类型的值

变量的命名规则

变量命名必须是数字、字母、下划线,但是不能用数字开头(规则和C语言一样)
变量名大小写敏感
变量命名要做到见名知意

认识数字

Python中是没有int,float这样的关键字的,但实际上数字的类型是区分int,float这样的类型的,可以用内建函数type来查看类型
Python中的数字变量的取值范围并没有限制,不像C语言中int代表4个字节
Python中还有一种复数类型,和数学中的复数是相同的概念

认识字符串

Python中可以使用单引号(‘),双引号(“),三引号(‘’’)来表示字符串
如果一个字符串中包含了单引号,那就用双引号来表示字符串,
如果一个字符串中包含了双引号,那就用单引号来表示字符串,
如果一个字符串中既包含了单引号又包含了双引号,就用三引号来表示字符串
但是有些不可见字符任然需要进行转义,使用\进行转义,比如换行符\n
使用索引操作符[]或切片操作符[:]来获取子字符串(切片操作是一个前闭后开区间)
字符串的索引规则是:第一个字符索引是0,最后一个字符的索引是-1(可以理解为len-1)
“+”用于字符串连接,”*”用于字符串重复
Python中没有”字符类型”的概念,单个字符也是字符串
用内建函数len来获取字符串的长度
格式化字符串,可以用%这样的方式来进行格式化的替换

认识布尔类型

Python中用True和Flase来表示布尔值(注意第一个字符大写)
布尔类型的变量也是一种特殊的整数类型,在和整数进行运算时True被当做1,False被当做0

输入输出

print函数将结果输出到标准输出(显示器)上
raw_input从标准输入中获取用户输入
raw_input返回的结果只是一个字符串,如果想要获得一个数字,需要使用int函数把字符串转换成数字

注释

Python中使用#进行单行注释
但在加中文注释时要小心,直接使用会运行报错
Python的源代码默认只支持ASCII,所以想要包含中文,需要在代码文件最开头的地方加上

 # -*-coding: UTF-8 -*-

操作符

Python中支持 + - * / %这样的操作符,并且他们的行为都和C语言一样
/是”传统除法”,如果两个整数相除,得到的结果仍然是整数,如果其中一个数是浮点数,那么得到的结果也是浮点数
使用from_future_import division就会是/变为精确除法
//是”地板除”无论操作数类型如何,都会对运算结果进行取地板运算
**表示乘方运算
Python也支持标准的比较运算符>,<,< =,> =,= =,! =,这些运算符的表达式结果是一个布尔值
Python也支持逻辑运算符and,or,not
Python中3<4<5等价于3<4 and 4<5这一点和其他大多数编程语言都不太一样
字符串字符串之间也可以使用运算符进行操作
字符串之间也可以使用==,!=来判断两个字符串的内容是否相同
字符串之间也可以比较大小,这取决于字符串的”字典序”

列表/元组/字典

列表和元组类似于C语言中的数组
用[]来表示列表,用()来表示元组
列表和元组能保存任意数量任意类型的Python对象
可以使用下标来访问里面的元素,下标从0开始,最后一个下标为-1
列表和元组之间的唯一区别是:列表中的元素可以修改,元组中的元素不可以修改
字典是Python中的映射数据类型,存储键值对(key-value)
用{}来表示字典
几乎所有类型的Python对象都可以用作键,不过一般还是数字和字符串最常见

Python中用id这个内建函数查看变量的地址

代码块及缩进
Python使用缩进来表示代码块,Python是独一无二使用缩进而不是{}的

if语句

大体和C语言中的用法相同
if expression:
do_something1
do_something2
next_something
也支持else
if expression:
do_something1
else:
do_something2
Python中的else if写为elif
if expression1:
do_something1
elif expression2:
do_something2
else:
do_something3
如果条件分支太多可以使用”表驱动”的方式来组织代码
Python中不支持switch/case这样的语句

while循环语句和if语句语法类似

while expression:
do_something

for循环

for循环和传统的for循环不太一样,for循环接收可迭代对象(序列或迭代器)作为参数,每次迭代其中的一个元素
内建函数range能够生成一个数字组成的列表,方便进行for循环遍历
range函数其实有3个参数,前两个参数表示了一个前闭后开的区间,最后一个数表示每次迭代的步长

break和continue

使用break语句跳出当前循环
使用continue语句,回到循环顶端,判定循环条件,循环条件满足则进行下一次循环

pass语句

有时候需要用到空语句这样的概念,什么都不需要做,但是因为没有{},所以需要有一个专门的语句进行占位,避免缩进混乱

函数

一些可以重复使用的代码,可以提取出来放到函数中,Python中使用def来定义一个函数,使用return来返回结果,使用()来调用一个函数。
Python中没有重载的概念,相同名字的函数,后面的会覆盖前面的
Python支持默认参数,函数的参数可以具备默认值
Python解包(unpack)语法,函数返回多个值
函数也是对象,一个函数和一个数字、字符串一样,都可以定义别名来引用他

文件操作

使用内建函数open打开一个文件
handle = open(file_name, access_mode=‘r’)
file_name是一个文件名可以是绝对路径,也可以是相对路径
access_mode是文件的打开方式,选项有以下几种
‘r’ : 只读
‘w’ : 只写
‘a’ : 追加写
‘t’ : 按文本方式读写
‘b’ : 按二进制方式读写
handle是一个文件句柄,是一个可迭代对象,可以直接用for循环按行读取文件内容
handle使用完毕,需要close,否则会引起资源泄漏(一个进程能打开的句柄数目是有限的)
模块
可用import引用其他.py文件中的代码,被引用的这个代码模块就称之为模块,被引入的文件,去掉.py后缀名,就是模块名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章