一、软件安装及工具准备
1.安装python
安装python3:
brew install python3
查看命令:python3【直接回车】,如图则证明已经成功安装,否则为未安装【退出时可输入:exit()然后点回车】
2.安装pip
# 下载安装脚本
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# 运行安装脚本
sudo python3 get-pip.py
#常用命令
#升级命令
pip pip3 install -U pip
#安装包命令
pip install Package # 最新版本
pip install Package==1.0.4 # 指定版本
pip install 'Package>=1.0.4' # 最小版本
查看命令:pip3 --version【python3版本的命令】如图:证明已经成功安装
3.安装Vscode 【Download Visual Studio Code】
安装汉化插件【扩展插件搜索 chinese】
安装python插件【扩展插件搜索 python】
配置python运行指向python3的路径
安装python插件【扩展插件搜索 code runner】
安装成功后点击.py文件,右上角出现运行小三角即代表成功
二、Python 学习(入门级别)
1.Python 数据类型
内置数据类型,在编程中,数据类型是一个重要的概念。
变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。
在这些类别中,Python 默认拥有以下内置数据类型:
类型 | 变量 |
---|---|
文本类型 | str |
数值类型 | int, float, complex |
序列类型 | list, tuple, range |
映射类型 | dict |
集合类型 | set, frozenset |
布尔类型 | bool |
二进制类型 | bytes, bytearray, memoryview |
Python 数字
#Python 中有三种数字类型: int、float、complex #为变量赋值时,将创建数值类型的变量,实例: x = 10 # int y = 6.3 # float z = 2j # complex #如需验证 Python 中任何对象的类型,请使用 type() 函数,实例: print(type(x)) #<class 'int'> print(type(y)) #<class 'float'> print(type(z)) #<class 'complex'>
Python 字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。str = 'Hello World!' print(str) # 输出完整字符串 Hello World! print(str[0]) # 输出字符串中的第一个字符 H print(str[2:5]) # 输出字符串中第三个至第六个之间的字符串 llo print(str[2:]) # 输出从第三个字符开始的字符串 llo World! print(str * 2) # 输出字符串两次 Hello World!Hello World! print(str + "TEST") # 输出连接的字符串 Hello World!TEST
Python列表
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print(list) # 输出完整列表 ['runoob', 786, 2.23, 'john', 70.2] print(list[0]) # 输出列表的第一个元素 runoob print(list[1:3]) # 输出第二个至第三个元素 [786, 2.23] print(list[2:]) # 输出从第三个开始至列表末尾的所有元素 [2.23, 'john', 70.2] print(tinylist * 2) # 输出列表两次 [123, 'john', 123, 'john'] print(list + tinylist) # 打印组合的列表 ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
Python 元组
元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print(tuple) # 输出完整元组 ('runoob', 786, 2.23, 'john', 70.2) print(tuple[0]) # 输出元组的第一个元素 runoob print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素 (786, 2.23) print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素 (2.23, 'john', 70.2) print(tinytuple * 2) # 输出元组两次 (123, 'john', 123, 'john') print(tuple + tinytuple) # 打印组合的元组 ('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
Python 字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。dict = {} dict['one'] = "one" # {'one':'one'} dict[2] = "two" # {2:'two'} tinydict = {'name': 'runoob', 'code': 6734, 'dept': 'sales'} print(dict['one']) # 输出键为'one' 的值 one print(dict[2]) # 输出键为 2 的值 two print(tinydict) # 输出完整的字典 {'dept': 'sales', 'code': 6734, 'name': 'runoob'} print(tinydict.keys()) # 输出所有键 ['dept', 'code', 'name'] print(tinydict.values()) # 输出所有值 ['sales', 6734, 'runoob']
Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列 s 转换为一个元组 list(s) 将序列 s 转换为一个列表 set(s) 转换为可变集合 dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。 frozenset(s) 转换为不可变集合 chr(x) 将一个整数转换为一个字符 unichr(x) 将一个整数转换为Unicode字符 ord(x) 将一个字符转换为它的整数值 hex(x) 将一个整数转换为一个十六进制字符串 oct(x) 将一个整数转换为一个八进制字符串 有时您可能需要为变量指定类型。这可以通过 casting 来完成。 Python 是一门面向对象的语言,因此它使用类来定义数据类型,包括其原始类型。 因此,使用构造函数完成在 python 中的转换,实例: int() - 用整数字面量、浮点字面量构造整数(通过对数进行下舍入),或者用表示完整数字的字符串字面量 float() - 用整数字面量、浮点字面量,或字符串字面量构造浮点数(提供表示浮点数或整数的字符串) str() - 用各种数据类型构造字符串,包括字符串,整数字面量和浮点字面量 实例 整数: x = int(1) # x 将是 1 y = int(2.5) # y 将是 2 z = int("3") # z 将是 3 实例浮点数: x = float(1) # x 将是 1.0 y = float(2.5) # y 将是 2.5 z = float("3") # z 将是 3.0 w = float("4.6")# w 将是 4.6 实例字符串: x = str("S2") # x 将是 'S2' y = str(3) # y 将是 '3' z = str(4.0) # z 将是 '4.0'
2. Python 运算符
Python算术运算符
以下假设变量: a=10,b=20:运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a * b 输出结果 200 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 / 除 - x除以y b / a 输出结果 2 % 取模 - 返回除法的余数 b % a 输出结果 0 ** 幂 - 返回x的y次幂 a**b 为10的20次方 输出结果 100000000000000000000 // 取整除 - 返回商的整数部分(向下取整) 9//2 = 4 | -9//2 = -5
以下实例演示了Python所有算术运算符的操作:
a = 21 b = 10 c = 0 c = a + b print("1. c 的值为:", c) # 31 c = a - b print("2. c 的值为:", c) # 11 c = a * b print("3. c 的值为:", c) # 210 c = a / b print("4. c 的值为:", c) # 2.1 c = a % b print("5. c 的值为:", c) # 1 # 修改变量 a 、b 、c a = 2 b = 3 c = a**b print("6. c 的值为:", c) # 8 a = 10 b = 5 c = a//b print("7. c 的值为:", c) # 2
Python比较运算符
以下假设变量: a=10,b=20:运算符 描述 实例 == 等于 - 比较对象是否相等 (a == b) 返回 False != 不等于 - 比较两个对象是否不相等 (a != b) 返回 True > 大于 - 返回x是否大于y (a > b) 返回 False < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量 True 和 False 等价 (a < b) 返回 True >= 大于等于 - 返回x是否大于等于y (a >= b) 返回 False <= 小于等于 - 返回x是否小于等于y (a <= b) 返回 True 操作实例:
a = 21 b = 10 c = 0 if a == b: print("1 - a 等于 b") else: print("1 - a 不等于 b") if a != b: print("2 - a 不等于 b") else: print("2 - a 等于 b") if a < b: print("4 - a 小于 b") else: print("4 - a 大于等于 b") if a > b: print("5 - a 大于 b") else: print("5 - a 小于等于 b") # 修改变量 a 和 b 的值 a = 5 b = 20 if a <= b: print("6 - a 小于等于 b") else: print("6 - a 大于 b") if b >= a: print("7 - b 大于等于 a") else: print("7 - b 小于 a")
Python赋值运算符
以下假设变量: a=10,b=20:运算符 描述 实例 = 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c += 加法赋值运算符 c += a 等效于 c = c + a -= 减法赋值运算符 c -= a 等效于 c = c - a *= 乘法赋值运算符 c = a 等效于 c = c a /= 除法赋值运算符 c /= a 等效于 c = c / a %= 取模赋值运算符 c %= a 等效于 c = c % a **= 幂赋值运算符 c = a 等效于 c = c a //= 取整除赋值运算符 c //= a 等效于 c = c // a 操作实例:
a = 21 b = 10 c = 0 c = a + b print("1. c 的值为:", c) # 1. c 的值为: 31 c += a print("2. c 的值为:", c) # 2. c 的值为: 52 c *= a print("3. c 的值为:", c) # 3. c 的值为: 1092 c /= a print("4. c 的值为:", c) # 4. c 的值为: 52.0 c = 2 c %= a print("5. c 的值为:", c) # 5. c 的值为: 2 c **= a print("6. c 的值为:", c) # 6. c 的值为: 2097152 c //= a print("7. c 的值为:", c) # 7. c 的值为: 99864
Python逻辑运算符
以下假设变量: a=10,b=20:运算符 描述 实例 and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值 (a and b) 返回 20 or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值 (a or b) 返回 10 not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True not(a and b) 返回 False 操作实例:
a = 10 b = 20 if a and b: print("1. 变量 a 和 b 都为 True") else: print("1. 变量 a 和 b 有一个不为 True") if a or b: print("2. 变量 a 和 b 都为 True,或其中一个变量为 True") else: print("2. 变量 a 和 b 都不为 True") # 修改变量 a 的值 a = 0 if a and b: print("3. 变量 a 和 b 都为 True") else: print("3. 变量 a 和 b 有一个不为 True") if a or b: print("4. 变量 a 和 b 都为 True,或其中一个变量为 True") else: print("4. 变量 a 和 b 都不为 True") if not(a and b): print("5. 变量 a 和 b 都为 False,或其中一个变量为 False") else: print("5. 变量 a 和 b 都为 True")
Python成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。运算符 描述 实例 in 如果在指定的序列中找到值返回 True,否则返回 False x 在 y 序列中 , 如果 x 在 y 序列中返回 True not in 如果在指定的序列中没有找到值返回 True,否则返回 False x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True 操作实例:
a = 10 b = 20 list = [1, 2, 3, 4, 5] if (a in list): print("1. 变量 a 在给定的列表中 list 中") else: print("1. 变量 a 不在给定的列表中 list 中") if (b not in list): print("2. 变量 b 不在给定的列表中 list 中") else: print("2. 变量 b 在给定的列表中 list 中") # 修改变量 a 的值 a = 2 if (a in list): print("3. 变量 a 在给定的列表中 list 中") else: print("3. 变量 a 不在给定的列表中 list 中")
Python身份运算符
身份运算符用于比较两个对象的存储单元运算符 描述 实例 is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False 操作实例:
a = 20 b = 20 if (a is b): print("1. a 和 b 有相同的标识") else: print("1. a 和 b 没有相同的标识") if (a is not b): print("2. a 和 b 没有相同的标识") else: print("2. a 和 b 有相同的标识") # 修改变量 b 的值 b = 30 if (a is b): print("3. a 和 b 有相同的标识") else: print("3. a 和 b 没有相同的标识") if (a is not b): print("4. a 和 b 没有相同的标识") else: print("4. a 和 b 有相同的标识")
3. Python 条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句……
else:
执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
操作实例:
# 例1:if 基本用法
flag = False
name = 'python'
if name == 'python': # 判断变量是否为 python
flag = True # 条件成立时设置标志为真
print('我是python') # 并输出欢迎信息
else:
print('我是'+name) # 条件不成立时输出变量名称
print('flag:', flag)
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
操作实例:
# 例2:elif用法
num = 5
if num == 0: # 判断num的值
print('等于0')
elif num == 1:
print('等于1')
elif num > 3:
print('大于3')
elif num >= 2:
print('大于等于2')
else:
print('以上都不是') # 条件均不成立时输出
python多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
操作实例:
# 例3:if语句多个条件
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print('是的')
# 输出结果: 是的
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print('是的')
else:
print('不是')
# 输出结果: 不是
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print('是的')
else:
print('不是')
# 输出结果: 不是
3. Python 循环语句
Python的循环语句,程序在一般情况下是按顺序执行的。
编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:
Python 提供了 for 循环和 while 循环(在 Python 中没有 do..while 循环):
循环语句
循环类型 | 描述 |
---|---|
while 循环 | 在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
for 循环 | 重复执行语句 |
嵌套循环 | 你可以在while循环体中嵌套for循环 |
循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
循环类型 | 描述 |
---|---|
break | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环 |
pass | pass是空语句,是为了保持程序结构的完整性(不重要可忽略) |
Python While 循环语句
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:while 判断条件(condition): 执行语句(statements)……
操作实例:
count = 0 print("开始!") while (count < 9): print('The count is:', count) count = count + 1 print("结束!") # 输出结果 开始! The count is: 0 The count is: 1 The count is: 2 The count is: 3 The count is: 4 The count is: 5 The count is: 6 The count is: 7 The count is: 8 结束!
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:
# continue 和 break 用法 i = 1 while i < 10: i += 1 if i % 2 > 0: # 非双数时跳过输出 continue # 满足某个条件的时候判断是否需要执行后续代码 print(i) # 输出双数2、4、6、8、10 i = 1 print('----分割线---') while (True): # 循环条件为1必定成立 print(i) # 输出1、4、7、10 i += 3 if i > 10: # 当i大于10时跳出循环 break # 跳出循环
循环使用 else 语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
count = 0 while count < 3: print(count, " 小于 3") count = count + 1 else: print(count, " 不小于 3") # 输出结果 # 0 小于 3 # 1 小于 3 # 2 小于 3 # 3 不小于 3
无限循环
如果条件判断语句永远为 true,循环将会无限的执行下去,现实编码要避免此情况发生,会造成程序崩溃,如下实例:
var = 1 while var == 1: # 该条件永远为true,循环将无限执行下去 print("执行代码") print("结束!") #执行代码 #执行代码 #执行代码 #执行代码 #...... # Traceback (most recent call last): # File "/Users/coolpanda/自动化测试/python/interfaceTest/test.py", line 3, in <module> # print("执行代码") # KeyboardInterrupt # 注意:以上的无限循环你可以使用 Control+C 来中断循环。
Python for 循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:# for循环的语法格式如下: for key in obj: statements(s)
实例:
# 字符串遍历 for a in 'Python': # 第一个实例 print("当前字母: ", a) print("------分割线------") # List(列表)遍历 fruits = ['苹果', '西瓜', '哈密瓜'] for fruit in fruits: # 第二个实例 print('当前水果: ', fruit) print("结束!") # 输出结果 # 当前字母: P # 当前字母: y # 当前字母: t # 当前字母: h # 当前字母: o # 当前字母: n # ------分割线------ # 当前水果: 苹果 # 当前水果: 西瓜 # 当前水果: 哈密瓜 # 结束!
通过序列索引迭代
fruits = ['苹果', '西瓜', '哈密瓜'] for index in range(len(fruits)): print(fruits[index]) print("以上代码相当于>") print(fruits[0]) print(fruits[1]) print(fruits[2])
for 语句时同样有两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:
fruits = ['苹果', '西瓜', '哈密瓜', '草莓', '榴莲'] for fruit in fruits: if(fruit == '苹果'): continue # 找到苹果 不打印 直接查找下一个 elif(fruit == '草莓'): break # 找到草莓 跳出循环 print(fruit) # 输出结果 # 西瓜 # 哈密瓜
Python 循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环,根据现实场景理论上可以一直嵌套#Python for 循环嵌套语法: for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s) #Python while 循环嵌套语法: while expression: while expression: statement(s) statement(s)
实例:
# while 循环嵌套 i = 2 while(i < 10): j = 2 while(j <= (i/j)): if not(i % j): break j = j + 1 if (j > i/j): print(i, " 是质数") i = i + 1 # 输出结果 # 2 是质数 # 3 是质数 # 5 是质数 # 7 是质数 # for 循环嵌套 list = [2, 5, 7, 9, 11] for num in range(10): # 迭代 0 到 10 之间的数字 for i in list: # 根据因子迭代 if num == i: # 确定第一个因子 print('%d 在10中' % (i)) break # 跳出当前循环 # 输出结果 # 2 在10中 # 5 在10中 # 7 在10中 # 9 在10中
4. Python 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法
def 函数名称( 参数名称 ):
"函数_文档字符串"
function_suite
return [表达式]
实例:
def speak(str):
print('传入参数', str) # 打印参数
return '你好' # 返回数据 不写默认返回 None
a = speak('请说话') # 接收并调用函数
print('函数返回:', a)
# 输出结果:
# 传入参数 请说话
# 函数返回: 你好
# 备注:
# 1.参数(str)可选
# 2.return 返回表达式可选
# 3.a = 变量接收回掉可选
# 即:简单版本
def speak1():
print('执行函数') # 打印参数
speak1() # 接收并调用函数
# 输出结果:
# 执行函数
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。