python 基础
2022年5月6日python 数据类型
1 2 3 4 5 6 7 8 |
整型:int 浮点型:float 字符串:str 布尔型:bool 列表: list #和php数组差不多 元组:tuple #不能修改的列表 集合:set #集合可以去掉重复数据 集合数据是⽆序的,故不⽀持下标 字典:dict #字典和json一样 |
python 结果输出
1 2 3 4 5 6 7 |
age = 18 name = 'TOM' weight = 23.234 print('我的体重是%.2f公⽄' % weight) print('我的名字是%s,今年%d岁了' % (name, age)) print('输出的内容', end="\t") #\t为制表符四个空格, 默认为\n换行 print(f'我的名字是{name}, 明年{age + 1}岁了,体重{weight}') |
python 输入
1 2 3 |
i = input('请输⼊您的密码:') print(i) print(type(i)) |
python 数据类型转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int(x [,base ]) #将x转换为⼀个整数 float(x ) #将x转换为⼀个浮点数 str(x ) #将对象 x 转换为字符串 eval(str ) #⽤来计算在字符串中的有效Python表达式,并返回⼀个对象 tuple(s ) #将序列 s 转换为⼀个元组 list(s ) #将序列 s 转换为⼀个列表 repr(x ) #将对象 x 转换为表达式字符串 complex(real [,imag ]) #创建⼀个复数,real为实部,imag为虚部 chr(x ) #将⼀个整数转换为⼀个Unicode字符 ord(x ) #将⼀个字符转换为它的ASCII整数值 hex(x ) #将⼀个整数转换为⼀个⼗六进制字符串 oct(x ) #将⼀个整数转换为⼀个⼋进制字符串 bin(x ) #将⼀个整数转换为⼀个⼆进制字符串 |
案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
list1 = [10, 20, 30] tuple1 = (10, 20, 30) str1 = '10' str2 = '[1, 2, 3]' str3 = '(1000, 2000, 3000)' print(tuple(list1)) print(type(tuple(list1))) print(list(tuple1)) print(type(list(tuple1))) print(eval(str1)) print(type(eval(str1))) print(eval(str2)) print(type(eval(str2))) print(eval(str3)) print(type(eval(str3))) |
python 运算符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# 复合赋值运算符 a = 100 a += 1 print('100+1=%d' % a) a -= 1 print('101-1=%d' % a) a *= 2 print('100*2=%d' % a) a /= 2 print('200/2=%d' % a) a //= 3.14123 print(f'100/3.14123={a}') a %= 3 print(f'31.0%3={a}') a **= 9 print(f'1的9次方={a}') # 字符串 print('fawef' + 'faweff') print('-' * 10) # 列表 list1 = [1, 2] list2 = [10, 20] list3 = list1 + list2 print(list3) # [1, 2, 10, 20] print(list1 * 4) # ['hello', 'hello', 'hello', 'hello'] # 元组 t1 = (1, 2) t2 = (10, 20) t3 = t1 + t2 print(t3) # (10, 20, 100, 200) print(t1 * 4) # ('world', 'world', 'world', 'world') # 比较运算符 print(True == True) print(1 != 3) print(1 > 2) print(3 < 2) print(4 >= 4) print(66 <= 55) # 逻辑运算符 if (True and True): # 不能用& print(2) if (False or True): # 不能用| print(4) if (not False): # 不能!False 这么写 print(5) |
python if 语句
1 2 3 4 5 6 7 8 |
num = int(input()) #没有php的 ?: 的三目运算 if (num > 1 and num < 33): print("这个数大于1") elif (num >= 33 and num < 100): print("这个数大于32") else: print("这个数大于100") |
python 循环 语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
i = 0 while True: i += 1 if i % 2 == 0: continue if i > 100: print('程序终止');break print('结果为:%d' % i) i = 1 while i <= 5: print('媳妇⼉,我错了') i += 1 else: print('媳妇原谅我了,真开⼼,哈哈哈哈') str1 = 'abcdefg' for i in str1: if i == 'e': print('遇到e不打印') continue print(i) else: print('循环正常结束了') |
python 字符串和 常用函数
字符串声明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
name1 = 'Tom' name2 = "Rose" content1 = ''' ### # 你好 ### ''' content2 = """ ### # 你好 ### """ print(content1) print(content2) |
字符串下标
1 2 3 4 5 6 7 8 9 10 11 |
name = "abcdefg" # [开始 : 结束 : 间隔] print(name[2:5:1]) # cde print(name[2:5]) # cde print(name[:5]) # abcde print(name[1:]) # bcdefg print(name[:]) # abcdefg print(name[::2]) # aceg print(name[:-1]) # abcdef, 负1表示倒数第⼀个数据 print(name[-4:-1]) # def print(name[::-1]) # gfedcba |
字符串常用函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
.find() #查找字符串位置 没有返回-1 .index() #查找字符串位置 没有报错 .count() #统计字符出现的次数 .replace() #替换 ','.join() #','.join([2,1,1]) 列表元组转换为字符串 .capitalize() #首字母大写 .title() #单词首字母大写 .lower() #转换为小写 .upper() #转换为大写 .lstrip() #删除左侧空格 .rstrip() #删除右侧空格 .strip() #删除两侧空格 .center() #覆盖填充内容 .ljust() #左填充 .rjust() #右填充 .startswith() #判断开始是否存在某个字符串 .endswith() #判断结尾是否存在莫格字符串 .isalpha() #判断是否全都是字母 .isdigit() #判断字符串是否全都是数字 .isalnum() #判断字符串是否由 字母和数字组成 .isspace() #判断字符串是否全都是空格 |
案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
mystr = "hello world and itcast and itheima and Python" #.find(⼦串, 开始位置下标, 结束位置下标) 查找字符串出现的位置没有返回-1 print(mystr.find('and')) # 12 print(mystr.find('and', 15, 30)) # 23 print(mystr.find('ands')) #.index(⼦串, 开始位置下标, 结束位置下标) 查找字符串出现的位置没有报错 print(mystr.index('and')) # 12 print(mystr.index('and', 15, 30)) # 23 #print(mystr.index('ands')) # 报错 #.count(⼦串, 开始位置下标, 结束位置下标) 统计字符出现的次数 print(mystr.count('and')) # 3 print(mystr.count('ands')) # 0 print(mystr.count('and', 0, 20)) # 1 #.replace(旧⼦串, 新⼦串, 替换次数) 字符串替换 mystr = "hello world and itcast and itheima and Python" print(mystr.replace('and', 'he')) print(mystr.replace('and', 'he', 1)) #.split(分割字符, 分割次数) print(mystr.split(' ', 2)) print(mystr.split(' ')) #','.join(多字符串组成的列表 或 元组) list1 = ['chuan', 'zhi', 'bo', 'ke'] t1 = ('aa', 'b', 'cc', 'ddd') print(','.join(list1)) print(','.join(t1)) #.capitalize() 第一个字母大写 print(mystr.capitalize()) #.title():将字符串每个单词⾸字⺟转换成⼤写。 print(mystr.title()) #.lower():⼤写转⼩写 print("AVCD".lower()) #.upper():⼩写转⼤写。 print('Adcfef'.upper()) # .lstrip() 删除字符串左侧空⽩字符 print(' 丰富 '.lstrip()) # .rstrip() 删除字符串右侧空⽩字符 print(' 丰富 '.rstrip()) # .strip() 删除字符串两侧空⽩字符 print(' 丰富 '.strip()) #字符串填充 center 会覆盖一起的内容 print('12312312'.center(50,'3')) #字符串填充 ljust 从左开始填充 print('12312312'.ljust(50, '.')) #字符串填充 rjust 从右开始填充 print('12312312'.rjust(50, '.')) #.startswith() 判断开始是否存在某个字符串 print(mystr.startswith("helo")) #endswith() 判断结尾是否存在莫格字符串 print(mystr.endswith("Python",10)) #.isalpha() 判断是否全都是字母 print('faewfawe'.isalpha()) print('123fawe'.isalpha()) #.isdigit() 判断字符串是否全都是数字 print('123fawe'.isdigit()) print('123123'.isdigit()) #判断字符串是否由 字母和数字组成 print('fe12312fe'.isalnum()) print('234234-2340)'.isalnum()) #.isspace() 判断字符串是否全都是空格 print("1 2 3".isspace()) print(" ".isspace()) |
python 列表和元组 常用函数
1 2 3 4 5 6 7 8 9 10 11 |
.index() #查询内容返回下标 .count() #统计出现次数 .append() #末尾追加一个 .extend() #末尾追加一列 .insert() #指定下标插入数据 .pop() #按照下标删除数据 .remove() #根据内容删除 .reverse() #逆置 颠倒 .clear() #清除 .sort() #排序 .copy() #拷贝 |
案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
name_list = ['331','789','Tom', 'Lily', 'Rose'] print(name_list[2]) # Rose #len查询长度 print(len('Lily')) # in 关键字判断是否存在 print('Lily' in name_list) #not in 判断是否不在 print('Lily' not in name_list) #.index() 获取位置没有就报错 print(name_list.index('Lily')) #.count() 判断总数 print(name_list.count('Lily')) #.append() 末尾添加一个数据 name_list.append('zf') print(name_list) #.extend() 末尾添加一列数据 name_list.extend([110,120]) name_list.extend('123123') print(name_list) # .insert() 指定位置新增数据 name_list.insert(1, 'xiaoming') print(name_list) #del 删除列表中的一个元素 del name_list[0] print(name_list) #pop 删除列表中的一个元素 name_list.pop(0) print(name_list) #删除指定的数据内容 name_list.remove('Rose') print(name_list) #清空列表 #name_list.clear() print(name_list) #根据下标修改列表数据 name_list[0] = 'aaa' print(name_list) #.reverse() 逆置 name_list.reverse() print(name_list) #排序 list2 = [1, 5, 2, 3, 6, 8] list2.sort() print(list2) #拷贝数据 name_li2 = name_list.copy() print(name_li2) # 列表遍历 for i in name_li2: print(i) |
元组的常见操作
元组是特殊的列表数据不支持修改,只支持查找,具体如下。
1 2 3 |
len() .index() .count('bb') |
字典和集合的常见操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#创建字典 dict1 = {} #空字典 dict2 = dict() dict3 = {'name': 'Tom', 'age': 20, 'gender': '男'} print(dict1) print(dict2) print(dict3) #添加值 dict1['name'] = 'zf' #获取字典里面的值 print(dict1['name']) print(dict1.get('name1')) #通过这种方式获取不会报错 print(dict3.keys()) #获取所有keys dict_keys(['name', 'age', 'gender']) print(dict3.values()) #获取所有values dict_values(['Tom', 20, '男']) print(dict3.items()) #获取items dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')]) # 遍历 for k in dict3.keys(): print(k) for v in dict3.values(): print(v) for item in dict3.items(): print(item[0], item[1]) #修改字典里面的值 dict1['name'] = 'zf' #删除字典里面的一个值 del dict3['gender'] |
集合操作
- 集合可以去掉重复数据
- 集合数据是⽆序的,故不支持下标
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
s1 = {10, 20} s1.add(100) s1.add(10) s1.update('abcd') s1.update([100, 200]) #追加数据列表 print(s1) s1.remove(10) s1.discard(10) #删除集合中的指定数据,如果数据不存在也不会报错 print(s1) popItem = s1.pop() #因为集合是无序的所以只能随机弹出 print(s1) print(popItem) print(10 in s1) #判断数据是否存在 print(10 not in s1) #判断数据是否不存在 |