python基础
Python 是区分大小写的,故 a变量 和 A变量 是不同的变量
常用数据类型:
1 int temp = 1 # 整型 2 float temp = 1.235 # 浮点型 3 bool b = True # 布尔型,True, False 4 str s = 'a' # 字符串,不可变类型 5 list li = [1, 'a', 1.23, True] # 列表,有序,可变类型 6 tuple tu = (1, ) # 元组,有序,不可变类型 7 dict dic = {"key1": "value1", "key2": "value2"} # 字典,无序,键值对,可变类型,key 不可重复 8 set st = {1, 'a', True, (1, 3), ['e', False]} # 集合,无序,值不可重复-->作用:数组去重
算术运算符
1 2 + 加 print(a + b) 3 - 减 4 * 乘 5 / 除 6 // 取整 7 % 取余,取模运算 8 ** 幂运算 9
赋值运算符
1 2 = 如 a = 5 3 += 如 a += 5 等同于 a = a+3 4 -= 5 /= 6 *= 7 //= 8 %= 9 **= 10
比较运算符
1 """ 2 < 小于 3 > 大于 4 == 等于 5 <= 小于等于 6 >= 大于等于 7 != 不等于 8 9 比较结果为 布尔值 True False 10 """ 11 a = 5 12 b = 4 13 print(a>b) # 输出 True
逻辑运算符
1 """ 2 and 且 3 or 或 4 not 非 5 6 运算结果为 布尔值 True False 7 """ 8 9 a = 1 < 3 # True 10 b = 1 < 2 # True 11 12 print( (not a ) or b ) # True 13 14 print( b and (not a) ) # False
成员运算符
1 str = 'a' 2 list = [1, 'd', 'a', 1.34] 3 4 # in 5 print( str in list ) # Ture 6 7 # not in 8 var = 2 9 print( var not in list ) # True
字符串连接操作
1 # + 连接相同的类型 2 print('i ' + 'miss you') # i miss you
重复操作
1 # * 后面接数值 2 print('miss '*2) # miss miss
切片操作--索引操作 len()
1 # len() 获取字符串长度 2 3 name = "你若安好,便是晴天!" 4 print(len(name)) # 得到字符串的长度 10 5 6 print(name[1]) # 索引从0开始,故输出:若 7 8 print(name[-1]) # 输出字符串右边的第一个字符,故输出:! 9 10 print(name[3:5]) # 取左,不取右, 故输出:好, 11 12 print(name[:3]) # 输出:你若安 13 14 print(name[3:]) # 输出: 好,便是晴天!
1 # username[开始索引:结束索引:步长], 步长,默认为1,不可为0 2 # 打印:开始位置,开始位置+步长 3 username = '糗事芒果树屋' 4 print(username[0:-1]) # 打印:糗事芒果树 5 print(username[::1]) # 打印:糗事芒果树屋 6 print(username[::2]) # 打印:糗芒树 7 print(username[1:5:2]) # 打印:事果 8 print(username[1:-1:1]) # 打印:事芒果树 9 10 # 倒序 11 print(username[::-1]) # 打印:屋树果芒事糗 12 print(username[-1:-5:-2]) # 打印:屋果 13 print(username[4:0:-1]) # 打印:树果芒事 14 15 """ 16 总结: 17 结束位置-开始位置,符号同步长,可以获取到值,符号不同步长,不能取到值 18 步长 为正数,从左到右,步长 为负数,从右到左 19 """
1 # 切片结束索引超出字符长度范围 ==》 不会报错 2 print(username[1:100]) # 打印:事芒果树屋 3 print(username[100]) # 索引超出范围,报错
占位符输出%
1 """ 2 占位符 3 %s, 字符、字符串占位符 4 %d, 整型占位符 5 %f, 浮点数占位符 6 %.2f 浮点数占位符,保留2位小数 7 """ 8 9 age = 12 10 name = 'qiuyan' 11 price = 12.345 12 13 print(""" 14 age: %d 15 name: %s 16 price: %.2f 17 """%(age, name, price))
18 #输出: 19 20 age:12 21 name:qiuyan 22 price:12.35 23
格式化输出format()
1 # {}中,可填 索引{0}开始且不可为负数,可定义标签,可规定输入字符类型 2 3 print(""" 4 age: {} 5 name: {} 6 price: {:.2f} 7 """.format(age, name, price)) 8 9 # 输出 10 11 age:12 12 name:qiuyan 13 price:12.35 14 15 16 17 print(""" 18 age: {my_age} 19 """.format(my_age=age)) 20 21 # 输出 22 # age = 12
查看数据类型、类型强制转换
1 # type() 查看数据类型 2 print(type(8/3)) # 输出:<class 'float'> 3 4 # 强制转换 int() float() bool() str() 5 print(int(8/3)) # 输出:2
id() 获取变量内存地址,is 比较两个变量的内存地址是否相同
1 # 字符串 2 name1 = 'andy' 3 name2 = 'andy' 4 print(name1 == name2) # True 5 print(id(name1)) # 输出:1922097181896 6 print(id(name2)) # 输出:1922097181896 7 print(name1 is name2) # True 8 9 10 # 列表 相同的值,单独开辟空间 11 user = ['qiuyan'] 12 name = ['qiuyan'] 13 print(user == name) # True 14 print(id(user)) # 输出:2506679870088 15 print(id(name)) # 输出:2506679870152 16 print(user is name) # False
转义字符 \
1 # 转义字符 \ 2 print('yuze,\'wang\'') # 输出:yuze,'wang' 3 print('yuze,"wang"') # 单套双, 输出:yuze,"wang" 4 print("yuze,'wang'") # 双套单, 输出:yuze,'wang'
多行注释
1 """ 2 双引号 3 多行注释 4 """ 5 6 ''' 7 单引号 8 多行注释 9 ''' 10 11 # 单行注释 12 13 print(''' 14 多行原样输出 15 aaa 16 Ctrl+/ 单行注释切换 17 ''')
函数定义
1 # def 关键字,定义函数 2 def function_name(parm, parm1): 3 '''函数注解''' 4 print('函数体') 5 return '返回值'
调用函数
1 # 先定义函数,再调用函数 2 function_name(parm, parm1) # parm, parm1 传入的参数
函数参数
1 # 默认参数, 定义函数时,指定参数 2 def add(a, b=2, c=3): # a 无默认值,调用时必传;b、c有默认值,调用时可传,可不传 3 return a+b+c 4 5 print(add(1, 10)) # a=1, b=10, c=3,故输出:14 6 7 # 位置参数,a 为位置参数,b、c为默认参数,函数定义时,默认参数 要放在 位置参数 后面 8 9 # 关键字参数(常用) 10 add(b=5, c=1, a=10) # 每个参数都能获取到对应的值,正确 11 add(4, a=2, c=6) # b参数,获取不到值,错误 12 13 # 动态参数 *args 接收剩下的‘位置参数’ 14 def test_api(url, params, *args) 15 print(*args) 16 return None 17 18 test_api('http://', 'username:初秋', 'value1', 'value2', 'value2') 19 # 输出:value1 value2 value2 20 21 # 原理 22 a, b, *c = 1, 2, 3, '4', 'cc' 23 print(*c) # 输出:3 4 cc
局部变量 与 全局变量
1 var = '全局' # 顶格, 全局变量 2 3 def func_var(parm): # 函数中的 param、var 都是局部变量,只作用于函数,函数外不可引用 4 # global var # global 关键字修饰变量,为全局变量,可修改全局变量var的值 5 var = '局部' 6 print(var) 7 return var+parm 8 9 print(func_var('参数')) 10 print(var) 11 12 # global var 注释掉,输出结果: 13 14 局部 15 局部参数 16 全局 17 18 19 # global var 未注释,输出结果: 20 21 局部 22 局部参数 23 局部 24