#可变类型 不可变类型
stus = ['aaa', 'bbb', 'ccc', 'ddd', 'eee'] words = '啊哈哈哈' # 取出list里每一个元素 for i in stus: print(i) # 取出字符串中每一个字符 for j in words: print(j)
# 切片,list取值的一种方式 print(stus[1:3]) #顾头不顾尾,只取到下标为1-2的元素,不取下标为3的元素,以list形式 print(stus[:3]) #开头下标写0和不写一样 print(stus[-1]) #-1代表最后一个元素 print(stus[1:]) #如果后面下标不写,代表取到结尾 print(stus[:]) #开头的下标和结尾的下标都不写,代表取整个list print(nums2[0:11:2]) #第二个冒号后面值代表步长,是隔几个元素取一次 print(nums2[::-1]) #步长为负数的话,则从右往左取值 # 切片同样适用于字符串
# 元祖,是不可变 cities = ('beijing','shanghai') #一旦定义好,就不能再变了 cities[0]='天津' # TypeError: 'tuple' object does not support item assignment print(cities.count('beijing')) # 输出beijing的次数 print(cities.index('beijing')) # 输出beijing第一次出现的标位 s = '小黑、小白' #字符串定义好后也不能进行修改 s[0]='' # TypeError: 'str' object does not support item assignment
a,b,c,d = 1,2,3,4 # 多个变量定义 print(c) e = f = g = 0 #多个变量相同值定义
a,b = 1,2 # # 不引入第三方变量的方式把a,b交换 a,b = b,a print(a,b) # 或者 a = 1 b = 2 a = a+b #1+2=3 b = a-b #3-2=1 a = a-b #3-1=2 print(a,b)
# 非空即真,非0即真 # 实现同样的功能,代码越少越牛逼 a = 1 b = 2 print(a==b) # 1当然不等于2啦,所以输出 False s = [1,2,3,4,5] print( 1 not in s) # 1明明就在s里面,所以输出 False
举个例子!
# age name sex addr phone qq email # k - v xiaohei= { 'name':'小黑', 'age':18, 'sex':'男', 'addr':'上海', 'qq':'123456789', 'email':'xiaohei@qq.com' } print(xiaohei)
# 输出:{'email': 'xiaohei@qq.com', 'addr': '上海', 'age': 18, 'name': '小黑', 'sex': '男', 'qq': '123456789'}
【字典】的操作
# 增加
xiaohei['身高'] = 180 xiaohei.setdefault('house','无房') # 输出:{'house': '无房', 'email': 'xiaohei@qq.com', 'addr': '上海', 'age': 18, 'name': '小黑', 'sex': '男', '身高': 180, 'qq': '123456789'} xiaohei['age'] = 25 xiaohei.setdefault('age',30) # setdefault 这种方式,如果key已经存在,那么就不会修改,如果key不存在,就新增 print(xiaohei) # 字典是无序的
# 修改
xiaohei['身高'] = 185 print(xiaohei)
# 删除
xiaohei.pop('身高') # 指定key删除,删除时key不存在是会报错的 del xiaohei['sex'] # 用del来删,删除时key不存在是会报错的 print(xiaohei)
# 取值
print(xiaohei['addr']) # 若key不存在则会报错 print(xiaohei.get('email')) # 若key不存在返回None print(xiaohei.get('email','hahaha@163.com')) # 若key不存在,可以指定一个值返回 xiaohei.clear() # 清空字典 xiaohei.popitem() # 随机删除一个key yaoyuan = {'chouyan':'1包','name':'遥远'} xiaohei.update(yaoyuan) # 把后面的字典合并到前一个字典里 print(xiaohei) print(xiaohei.values()) print(xiaohei.keys())
# 循环取值
for k,v in xiaohei.items(): # 循环取出字典中的key与对应的values print(k,v)
字符串常用方法
######需要记的!!!######
# print(name.count('i')) #查询次数a # print(name.endswith('.jpg')) #判断字符串是否以XX结尾 # print(name.startswith('138')) #判断字符串是否以XX开头 # # bool类型:True 、 Falsea # print(name.upper()) #都变成大写 # print(name.lower()) #都变成小写 # print(name.find('d')) #找不到元素时,不会报错,会返回-1 # print(name[1]) #字符串也可以根据下标取值的 # print(name.isdigit()) #判断是否纯数字 # print(name.isspace()) #判断是否全都是空格 # print(name.strip()) #去掉字符串两边的东西,默认去掉两边的空格和换行符 # print(name.lstrip()) #至去掉左边的 # print(name.rstrip()) #至去掉右边的 # print(name.replace('abc','哈哈哈',1)) #替换字符串,把前面的替换成后面的,1表示替换1次,不写明全替换 # print(names.zfill(5)) #在前面补0 # print(names1.split()) #1、分割字符串;2、把字符串变成一个list;3、默认以空格和换行符分割的 # print(names2.split(',')) #以逗号进行分割 # stus = ['aaa', 'bbb', 'ccc', 'ddd', 'eee'] # print(';'.join(stus)) #1、把list变成字符串;2、以某个字符串连接(这里是以分号连接)
# 一些次要的:
# print(name.capitalize()) # 把字符串首字母大写 # print(name.center(50,'*')) #把字符串居中的 # print(name.index('a')) #找不到元素时,会报错 # print(name.isidentifier()) #判断是否为一个合法的变量名 # print(name.isalnum()) #只要有英文/数字就返回true # print(name.isalpha()) #判断是否全为英文/汉字的 # print(name.istitle()) #判断首字符是否大写
import string print(string.ascii_letters) #所有大小写字母 print(string.ascii_lowercase) #所有的小写字母 print(string.ascii_uppercase) #所有的大写字母 print(string.digits) #所有的数字 print(string.punctuation) #所有的特殊字符
读写文件
# 1、打开文件
# 2、对它进行读/写
# 3、关闭文件
abc.txt内容为:
哈
哈哈
哈哈哈
哈哈哈哈
哈哈哈哈哈
f = open('abc.txt',encoding='utf-8') print('readline的结果:',f.readline()) #读取文件一行的数据 # 当上面一行的readline读完第一行时,指针已经到了第二行,所以下面的readlines只能读到第二行以后的数据 print('readlines的结果:',f.readlines()) # 获取文件里面的所有的数据,每一行的数据放到一个list里面 # 当上面readlines读完所有数据后,后面没有数据了,所以read什么都没读取到 print('read的结果:',f.read()) # 获取文件里面的所有内容
所以结果为:

#-----------------------------------------------------------------------------------------------#
# 只读模式 r 读写模式 r+
# 只能读,不能写,文件不存在会报错 # 打开不存在的时候也会报错
#-----------------------------------------------------------------------------------------------#
# 写模式 w 写读模式 w+
# 覆盖以前文件,里面的内容,不能读,文件不存在的话,会帮你创建一个
# 只要沾上r,文件不存在肯定会报错
# 只要沾上w,文件内容肯定会被清空
#-----------------------------------------------------------------------------------------------#
# 追加模式 a+
# 能读、能写、不会清空以前的内容,文件不存在会创建
#-----------------------------------------------------------------------------------------------#
举个例子:
# 将一个list中的所有元素依次写入abc.txt中
f = open('文件读写','a+',encoding='utf-8') names = ['aaa','bbb','ccc'] for name in names: # 利用for循环将list中的元素依次取出 f.write('\n'+name) # 再依次写入abc.txt中 f.seek(0)# 移动文件指针到最前面 print(f.read()) f.close()
浙公网安备 33010602011771号