01 匿名函数
def test1(a, b):
return a+b
result1 = test1(11,22)
test2 = lambda a,b:a+b
result2 = test2(11,22)#调用匿名函数
print("result1=%d,result2=%d"%(result1, result2))
02 匿名函数的应用
infors = [{"name":"laowang","age":10},{"name":"xiaoming","age":20},{"name":"banzhang","age":10}]
infors.sort(key=lambda x:x['age'])#按age从大到小排序
print(infors)
03匿名函数当作实参
def test(a,b,func):
result = func(a,b)
return result
num = test(11,22,lambda x,y:x+y)
print(num)
04 匿名函数的输入
#coding=utf-8
def test(a,b,func):
result = func(a,b)
return result
#python2中的方式
#func_new = input("请输入一个匿名函数:")
#python3中的方式
func_new = input("请输入一个匿名函数:")
func_new = eval(func_new)
num = test(11,22,func_new)
print(num)
05 交换两个变量的值
a = 4
b = 5
#第1种
#c = 0
#c = a
#a = b
#b = c
#第2种
#a = a+b
#b = a-b
#a = a-b
#第3种
a,b = b,a
print("a=%d,b=%d"%(a,b
06 补充知识点
#a = 100
a = [100]
def test(num):
#num+=num# +=表示 num指向谁就对谁进行修改,如果num指向[100],那么就变为[100,100]
#如果num 指向100,因为100是不可变类型,所以不能修改,所以num=num+num
num = num+num#===>[100] + [100] ====>[100,100] 注意只要是num=xxx一定是num指向了一个新的地方
print(num)
test(a)
print(a)
因为Python只是引用,并不是赋值
07 文件的打开关闭
f = open(“test.txt”,“w”)
打开之后要关闭
f.close()
08 文件的读写操作
f = open("test.py","r")
f.read()#读取所有字节
f.read(1)#一个字节一个字节的读,一直到读完
f.open("test1.py","w")
f.write("hahah")
09 文件的复制
#1.打开用户想要复制的文件
old_filename = input("请输入要复制的文件名:")
old_file = open(old_filename,"r")
#2.打开用来接收复制内容的空白文件夹
position = old_filename.rfind(".")
new_filename = old_filename[:position]+"[复件]"+old_filename[position:]
new_file = open(new_filename,"w")
#3.将内容复制过去
content = old_file.read()
new_file.write(content)
#4.将两个文件关闭
old_file.close()
new_file.close()
另外两种读取的方式
f.readline()#一行一行的读
f.readlines()#将每一行存为一个列表的元素
10 文件超级大时该怎么处理
#1.打开用户想要复制的文件
old_filename = input("请输入要复制的文件名:")
old_file = open(old_filename,"r")
#2.打开用来接收复制内容的空白文件夹
position = old_filename.rfind(".")
new_filename = old_filename[:position]+"[复件]"+old_filename[position:]
new_file = open(new_filename,"w")
#3.将内容复制过去
#防止文件过大卡死,分开读取写入
while True:
content = old_file.read(1024)
if len(content)==0:
break
new_file.write(content)
#4.将两个文件关闭
old_file.close()
new_file.close()
11.定位读写
f.seek(0,0)#第一个参数将指针调几个字节,正→负←,第二个参数(0,1,2)0开头,1当前位置,2末尾
f.tell()#告诉指针现在的位置
12.文件和文件夹的常见操作
import os
#文件重命名
os.rename(“xxx,txt”,“yyy.txt”)
#删除文件
os.remove(“xxx.txt”)
#创建文件夹
os.mkdir(“test”)
#删除文件夹
os.rmdir(“test”)
#获取当前路径
os.getcwd()
#更改默认目录
os.chdir("…/")#跳转上一层路径
#获取目录列表
os.listdir("./")#当前路径所有文件
13.批量重命名
import os
#1.获取要重命名的文件夹名
folder_name = input("请输入要重命名的文件夹:")
#2.获取要批量重命名的所有文件的文件名
file_list = os.listdir(folder_name)
#3.重命名
#os.chdir(folder_name)#更改默认路径
#for file in file_list:
#os.rename(file,"[东哥出品]"+file)
#第二种方法
for file in file_list:
old_filename = folder_name + "/" + file
new_filename = folder_name + "/" + "东哥出品" + file
os.rename(old_filename,new_filename)
如何将更改的删除?
import os
#1.获取要重命名的文件夹名
folder_name = input("请输入要重命名的文件夹名:")
#2.获取用户想要删除的字符
cutname = input("请输入要删除的字符:")
#3.获取制定文件夹中的所有文件名
file_list = os.listdir(folder_name)
#4.重命名删掉该字符
for name in file_list:
position = name.find(cutname) + len(cutname)
old_name = folder_name + "/" + name
new_name = folder_name + "/" + name[position:]
os.rename(old_name,new_name)