一、内置函数
内置函数就是python里面自带的一些函数,不需要自己定义,直接就可以使用的函数。
print(sum([1,2,3])) #求和的
print(min("123")) #最小值
print(max([1,2,3])) #最大值
print(round(1.9842,2)) #保留N位小数的
print(sorted(s,)) #排序,它返回一个list,默认是升序
print(sorted(s,reverse=True)) #排序,指定reverse参数为True就是降序
print(list(reversed(s))) #反转变量的,默认返回的是一个生成器,你想看结果的话,转成list
print(dir(s)) #查看某个变量的所有属性(方法)
print(divmod(10,3)) #除法取商和余数,返回两个值,第一个是商,第二个是余数
quit() #退出程序,代码里面遇到它,程序就结束了,后面还有多少代码都不会再运行
exit() #退出程序
a="{'a':1}"
b = "1+1"
print(eval(a) )#执行简单python代码的,定义变量,运算
print(eval(b))
code="""
for i in range(5):
print(i*3)
"""
print(code)
exec(code) #执行python代码的,只要是合法的代码,都可以帮你运行
country = "中国"
def hhh():
name = "死循环"
age = 19
print(locals())
print(globals())
hhh()
# locals() #获取当前函数里面的所有局部变量,返回的是一个字典,字典里面的key是变量名,value是变量的值
# globals() #获取所有全局变量
names = ["a","b","c","d"]
for index,n in enumerate(names,1):
print(index,n)
# enumerate() #枚举函数,可以传数组或者list,会自动计算下标,也可以指定从几开始,默认从0开始
l1 = [1,2,3]
l2 = ["a","b","c"]
l3 = ["sdg","sdg","sdg"]
for a,b,c in zip(l1,l2,l3):
print(a,b,c)
print(list(zip(l1,l2,l3))) #把多个数组变成一个二维数组,或者想同时循环N个list的时候,可以用zip
# zip()
usernames = ["admin","dev","sdfsdf"]
passwords = ["123456",2332523,3252352]
print(list(zip(usernames,passwords)))
print(dict(zip(usernames,passwords)))
def func1(n):
if n % 2 == 0:
return True
return False
result = filter(func1, numbers)
result2 = filter(lambda n: n % 2==0, numbers) # 第一个参数要传一个函数名,第二个参数是一个可以循环的对象(list、set、str、dict,tuple)
print(list(result))
print(list(result2))
#filter()
# 第一个参数要传一个函数名,第二个参数是一个可以循环的对象(list、set、str、dict,tuple)
#他会循环list,把list的每一个参数传给指定的函数,把函数返回true的参数保留下来
def zzz(n):
return str(n).zfill(2)
# ret = map(lambda n:str(n).zfill(2),range(1,34))
ret = map(zzz,range(1,34))
#第一个参数要传一个函数名,第二个参数是一个可以循环的对象(list、set、str、dict,tuple)
#循环调用函数,它会保存每次调用函数返回的结果,放到一个list
print(list(ret))
print(all([True,True,True,False])) #list每个元素都是true,那么就返回true,如果有一个为false,那么就返回false
print(any([1,2,3,0])) #list只要有一个元素是true,那么就返回true,否则就返回false
print(chr(35)) #把ascii转成对应的字符
print(chr(98))
print(ord("#")) #把对应的字符转成ascii
print(ord("a"))
print(bin(89)) #10进制转二进制
print(oct(10000)) #10进制转8进制
print(hex(10000)) #10转16进制
print(int("2710",base=16)) #把16进制转成10进制
二、os模块
os模块是和操作系统相关的一些操作
import os
# os.makedirs("logs/2021-10-10") #创建多层的文件夹,父目录不存在的时候会帮你创建
# os.rmdir("xiaobai") #删除空文件夹
#os.removedirs("logs/2021-10-10") #删除空文件夹,会连带着父目录一起删除
# print(os.name) #获取当前操作系统的名称
# print(os.cpu_count()) #获取当前系统cpu核心数
# os.chdir("/Users/hansen/PycharmProjects/homework/day2") #进入到某个目录
# print(os.listdir())
# print(os.getcwd()) #获取当前所在的目录
# ret = os.system("ifconfig1")
#执行操作系统命令,只能执行命令,如果命令有结果,是拿不到的,它返回的是命令执行的状态,返回是0的话
#代表命令执行成功,不是0代表命令执行失败
# ret = os.popen("ifconfig").read()
#执行操作系统命令,调用read方法拿到结果
#os.listdir() #获取某个目录下的内容,如果不传路径,那么就获取当前目录下的
#os.remove() #删除文件,传入的是一个文件路径
#os.rename() #重命名,传入一个旧的文件名和一个新的文件名
# os.mkdir("logs") #创建文件夹
# os.chdir("/Users/hansen/PycharmProjects/homework/day2") #进入到某个目录
# print(os.path.join("logs","2021","a.py"))#拼路径的
# print(os.path.sep) #当前系统的的路径分隔符
# print(os.path.isdir("ssq.txt")) #判断是否为文件夹
# print(os.path.isfile("ssq.txt")) #判断是否为文件
# print(os.path.exists("sdgsdg.txt")) #判断路径是否存在
#print(os.path.abspath("../day4/logs")) #把相对路径转成绝对路径
#print(os.path.dirname("/User/abc/a.txt") )#取父目录
#os.path.getsize() #获取文件的大小
# print(os.path.getatime("ssq.txt") )#最后一次访问的时间,比如看过它
# print(os.path.getctime("ssq.txt")) #文件变化时间,大小改变/权限改变/归属人改变
# print(os.path.getmtime("ssq.txt")) #最近一次修改时间,文件内容被修改
# print(os.path.split("/User/abc/a.txt"))
#分割路径的,他会把文件名和你的路径分割开,返回两个参数,第一个是路径,第二个是文件名
for cur_dir,dirs,files in os.walk("e"): #递归查找目录下面所有的文件夹
print(cur_dir,dirs,files)
三、shutil模块
shutil模块用来复制、移动、删除文件/文件夹
import shutil
shutil.copyfile("笔记.txt","笔记.txt.new")
#只能把文件复制成文件,不能把文件复制到其他的目录下,只能复制
#文件,不能复制文件夹
shutil.copy("笔记.txt","笔记.txt.new2")
shutil.copy("笔记.txt","files")
#用copy,new如果写的是一个文件夹,那么就把这个文件复制过去
#如果写的是一个文件,那么就复制成这个文件
#只能复制文件
shutil.copytree("files","../day1/files")
#复制文件夹的,后面要写一个不存在的文件夹
shutil.move("files","../day1/")
shutil.move("files","../day1/files_new")
#move移动文件和文件夹都是可以的
#如果只传路径,那么就把他移动过去
#如果传的路径后面是一个不存在的文件/文件夹,那么就是重命名
shutil.rmtree("files") #只能删除文件夹
|