python笔记(第二课)【导入包】【数据类型】【string类型与byte类型的转换】

Ummi ·
更新时间:2024-11-10
· 540 次阅读

导入包 – import

import 先找当前目录下的包,如果没有找到就去找系统配置下的包。注意:文件名称不要为系统包的名称

import 导入系统配置文件,import 导入外包,先要使用pip3 install 命令下载包
在这里插入图片描述
在这里插入图片描述

数据类型 int int1 = 1 print(type(int1)) string(字符串类型) name = 'zf' print(type(name))

字符串的操作

name = " my name is bob" # 首字母大写 print(name.capitalize()) # 元素出现的次数 print(name.count('b')) # 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 print(name.center(50,'-')) # 将字符串转化为类型 print(name.encode()) # 判断是否以该元素结尾,输出结果为True or False print(name.endswith('bob')) # 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。 print(name.expandtabs(4)) # 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,beg默认为0,end默认为字符长度,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 print(len(name)) print(name.find('bob',1,14)) # 如果字符串只包含数字则返回 True 否则返回 False.. print(name.isdigit()) # 返回第一个匹配到的索引下标 print(name.index('a')) # 如果字符串中只包含数字字符,则返回 True,否则返回 False print(name.isnumeric()) # 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 print(name.ljust(20,'-')) # 转换字符串中所有大写字符为小写. print(name.lower()) # 截掉字符串左边的空格或指定字符 print(name.lstrip()) # 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次 print(name.replace('bob','andy')) print(name.rfind('bo')) # 删除字符串字符串末尾的空格 print(name.rstrip()) # num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串 print('1+2+3+4'.split('+')) # 将字符串中大写转换为小写,小写转换为大写 print(name.swapcase()) # 转换字符串中的小写字母为大写 print(name.upper()) 布尔(bool类型) print(type(False)) 列表(list类型) import copy # 列表指针从0开始 list1 = ['zf','ybh','lyz','xl','zf'] # 列表长度 print(len(list1)) # 查看列表元素 print(list1[0]) print(list1[3]) # 截取从指针1开始,以指针3结束,但是不包含指针3 print(list1[1:3]) # 截取从指针1开始直到结束 print(list1[1:]) # -1为最后一个元素 print(list1[-2:]) # 按步长来进行切片 print(list1[0:2:2]) # 修改对象 list1[0] = 'yjl' print(list1) # 删除指定索引的对象 del(list1[0]) print(list1) # 找出某个值第一个匹配项的索引位置 print(list1.index("zf")) # 统计某个元素在列表中出现的次数 print(list1.count('zf')) # 移除列表中某个值的第一个匹配项 list1.remove('zf') print(list1) # 在列表末尾添加新的对象 list1.append('ztw') print(list1) # 复制列表(浅copy) list2 = list1.copy() print(list2) # copy多层时,只是复制了内存地址,当多层发生修改时,copy多层的结果也发生改变 list1.insert(3,['bob','alex']) list2 = list1.copy() list1[3][0] = 'BOB' print(list1) print(list2) del(list1[3]) # 深copy list1.insert(3,['bob','alex']) list2 = copy.deepcopy(list1) list1[3][0] = 'BOB' print(list1) print(list2) del(list1[3]) # 清除列表 list2.clear() print(list2) # 将对象插入列表指定索引位置 list1.insert(3,'guoguo') print(list1) # 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list1.pop(2) print(list1) # 反向列表中元素 list1.reverse() print(list1) # 对原列表进行排序 list1.sort() print(list1) 元祖(tuple)
元祖其实跟列表差不多,只是它一旦创建就不能再修改 tuple1 = ('bob','alex','andy') print(tuple1.index('bob')) print(tuple1.count('bob'))

购物车案例

product_list = [ ('phone',3000), ('mac_computer',9000), ('python book',99), ('air',3000), ] shopping_list = [] salary = input("input your salary:") if salary.isdigit(): salary = int(salary) while True: # 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列 for index,item in enumerate(product_list): print(index,item) user_choice = input("选择要买嘛?>>>:") if user_choice.isdigit(): user_choice = int(user_choice) if user_choice = 0: p_item = product_list[user_choice] if p_item[1] <= salary: # 买的起 shopping_list.append(p_item) salary -= p_item[1] print( "Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" % ( p_item, salary)) else: print("\033[41;1m你的余额只剩[%s]啦,还买个毛线\033[0m" % salary) else: print("product code [%s] is not exist!" % user_choice) elif user_choice == 'q': print("--------shopping list------") for p in shopping_list: print(p) print("Your current balance:", salary) exit() else: print("invalid option")

显示颜色的格式
在这里插入图片描述

字典

字典的三大特性:
一、不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;
二、键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
三、无序

students = { 'student1':'Bob', 'student2':'Alex', 'student3':'Andy', 'student1':'BoB', 'student5':'lyz' } # 无序,天生去重,后面的覆盖前面的 print(students) # 遍历 # for i in students: # print(i,students[i]) for k,v in students.items(): print(k,v) # 返回所有的key print(students.keys()) if 'student1' in students: print(True) # 查看 print(students['student1']) # 推荐使用,上面当键不存在时会报错 print(students.get('student1')) # 修改 students['student1'] = 'xzmly' print(students['student1']) # 当键不存在时添加一条 students['student4'] = 'xdd' print(students) # 删除之del del(students['student4']) print(students) # 删除之pop print(students.pop('student1')) print(students) # 存在students则取students的值,不存在就取默认值 students.setdefault('student5','byb') print(students['student5']) # 将列表转化为列表 print(students.items()) 集合
特点:无序,不会重复 list_1 = [1,4,5,7,3,6,7,9] list_1 = set(list_1) list_2 = set([2,6,0,66,22,8,4]) print(list_1,list_2) # 交集 print(list_1.intersection(list_2)) # 并集 print(list_1.union(list_2)) # 差集 print(list_1.difference(list_2)) # 子集 父集 list_3 = set([1,3,7]) print(list_3.issubset(list_1)) print(list_1.issuperset(list_3)) # 对称差集(合集 - 交集) print(list_1.symmetric_difference(list_2)) # 添加 list_1.add(555) print(list_1) # 可以添加多个 list_1.update([666,777]) print(list_1) # 不存在会报错 list_1.remove(1) print(list_1) # 不存在不会报错 list_1.discard(7) print(list_1) string类型与type类型转换

在这里插入图片描述

msg = '我爱你,北京' print(msg) # string转换为byte时,结果会带b msg1 = msg.encode("utf-8") print(msg1) print(msg1.decode("utf-8"))

在这里插入图片描述


作者:z-victor



byte 数据类型 数据 string类 Python string

需要 登录 后方可回复, 如果你还没有账号请 注册新账号