Python学习笔记(三)
一、交换变量
1 a =a+b #不引入第三方变量,交换变量的值 2 b= a-b 3 a= a-b 4 5 b,a=a,b #交换变量的值(python内置引入了第三方变量交换) 6 b,a,d = a,d,b 7 print(a,b,d)
二、非空即真
1 #非空即真,非0即真 2 #不为空的话就是True,是空的话就是false 3 #只要不是0就是true,是0就是false 4 #布尔类型 5 #True False
三、字符串方法
1 print(a.isdigit()) #判断是否全都是数字 2 print(a.islower()) #判断是否全都是小写 3 print(a.isupper()) #判断是否全都是大写 4 print(a.isalpha()) #判断是否全都是汉字或字母 5 print(a.isalnum()) #判断是否全都是汉字或字母或数字 6 print(a.upper()) #变成大写 7 print(a.lower()) #变成小写 8 print(a.startswith('text')) #以xxx开头 9 print(a.endswith('.xls')) #以xxx结尾 10 11 #''.join('') #连接字符串 12 #1、把一个list变成字符串 13 #2、通过某个字符串把list里面的每个元素连接起来 14 #3、只要是可以循环的,join都可以帮你连接起来 15 16 import string 17 print(string.ascii_lowercase) #所有的小写字母 18 print(string.ascii_uppercase) #所有的大写字母 19 print(string.digits) #所有的数字 20 print(string.ascii_letters) #所有的大写和小写字母 21 print(string.punctuation) #所有的特殊字符 22 res = ','.join(string.ascii_lowercase) 23 print(res) 24 25 ''.split() #分割字符串,返回list 26 names = 'niuhanyang,zch,caoran,yangyanfu' 27 lis_names = names.split(',') #根据某个字符串,分割字符串 28 print(lis_names)
四、文件操作、文件指针
文件操作步骤:
1.打开文件获取文件句柄
2.通过文件句柄操作文件
3.关闭文件
文件基本操作:
1 f = open('phone.txt') #打开一个文件,获取文件句柄,方式默认为只读 2 first_line = f.readline() #获取文件第一行内容,返回一个list 3 res = f.read() #获取除了第一行剩下的所有文件内容 4 f.close() #关闭文件
打开文件是需要指定文件路径和打开文件的模式:
1. r,只读模式(默认)【文件不存在会报错】
2. w,只写模式【文件不存在会新建一个文件】【文件存在会清空以前的内容】【不可读】
3. a,追加模式【文件不存在会新建一个文件】【文件存在会在末尾追加内容】【不可读】
4. r+、w+、a+,读写模式/写读模式/追加写读模式
文件操作方法:
1 f = open('文件sss','a+',encoding='utf-8') #encoding参数可以指定文件的编码 2 f.read() #读取全部文件,文件过大时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆 3 f.readline() #读一行 4 f.readlines() #按行读取文件,返回一个list,每行为一个元素,文件过大时不要用 5 f.write() #写入文件 6 f.seek(0) #把当前文件指针指向 7 f.tell() #获取当前文件指针位置 8 f.close() #关闭文件
大文件时,读取文件的高效方法:
1 f = open('phone.txt') 2 for line in f: 3 print(line) 4 #逐行读取,读完一行,释放一行的内存
自动关闭文件的方法:
1 with open('phone.txt') as f: 2 for line in f: 3 print(line) 4 #使用with,在使用完这个文件句柄后,会自动关闭文件
修改文件的方法:
1 with open('phone.txt') as f: 2 res = f.read() 3 n_res = res.replace('a','b') 4 f.write(n_res) 5 #第一种:把文件全部读到内存中,然后清空原有文件内容,重新写入新的内容 6 7 # 第二种:把修改后的文件内容写到一个新的文件中 8 with open('phone.txt') as f , open('phone_new.txt','w+') as d: 9 # 打开多个文件,f是读phone.txt,d是新建一个phone_new.txt文件 10 for line in f: #循环phone.txt中的每一行 11 n_line = line.replace('a','b') 12 d.write(n_line) #写入phone_new.txt文件中
五、集合
1.天生去重复;集合是无序的
2.可以做关系测试
定义集合
1 lis = [2,1,4,2,3,3,5] 2 s_lis = set(lis) # 定义一个集合 3 s = set() #定义空集合 4 set1 = ([2,1,4,2,3,3,5]) #把list转换成集合 5 set2 = {'a','a1','a2'} #直接定义一个集合
集合操作
1 # 交集:俩个集合相同的地方 2 s2 = set('2','3','7','9','2','1') 3 s3 = {'1','2','3','2','1','5','7','9','3'} 4 print(s3 & s2) 5 print(s3.intersection(s2)) 6 #并集:把两个集合合并到一起,去重 7 print(s3 | s2) 8 print(s2.union(s3)) 9 #差集:去掉s4中s4s5同时出现的 10 s4 = {1,2,3} 11 s5 = {1,4,6} 12 print(s4 -s5) 13 print(s4.difference(s5)) 14 #对称差集:去掉两个集合都有的 15 print(s4 ^ s5) 16 print(s4.symmetric_difference(s5)) 17 18 s4.add('ss') #在集合中增加元素 19 s4.pop() #随机删除一个元素 20 s4.remove('3') #删除指定元素 21 s4.update({5,6,7}) #把另外一个集合加进去 22 s4.isdisjoint(s5) #如果没有交集的话返回True
六、深拷贝、浅拷贝
1 import copy 2 # 浅拷贝 3 # 深拷贝 4 # 浅拷贝和深拷贝的区别就是深拷贝会重新开辟一个内存空间 5 l = [1,2,1,3,4,5,6,8] 6 l2 = copy.deepcopy(l) #深拷贝 7 l2 = l #浅拷贝

浙公网安备 33010602011771号