四川省住房与建设厅网站首页,最好的短视频制作软件,手机网页制作软件中文版,免费发布推广信息网站文章目录 模块与包标准模块第三方模块自定义模块 高级语法切片迭代器/生成器高级模式#xff08;闭包#xff09;高级模式#xff08;装饰器#xff09; 参考视频 模块与包
标准模块
import os
print(os.getcwd())import sys
print(sys.argv)
print(sys.platform)
print(… 文章目录 模块与包标准模块第三方模块自定义模块 高级语法切片迭代器/生成器高级模式闭包高级模式装饰器 参考视频 模块与包
标准模块
import os
print(os.getcwd())import sys
print(sys.argv)
print(sys.platform)
print(sys.path)import timeprint(time.localtime())print(开始)
time.sleep(5)
print(结束)starttime.time()
for i in range(10000):i1
end time.time()
print(end - start)import time
print(time.time()) #返回当前时间的时间戳1970年后经过的浮点秒数。
print(time.localtime())
time.sleep(3)
print(time.time())# struct_time元组共有9个元素
# 0 tm_year年
# 1 tm_mon月
# 2 tm_mday日
# 3 tm_hour时
# 4 tm_min分
# 5 tm_sec秒
# 6 tm_wdayweekday0是周一以此类推
# 7 tm_yday一年中的第几天
# 8 tm_isdst是否是夏令时0非夏令时、1夏令时、-1不确定是否是输出结果:
开始
结束
0.0023679733276367188
1693381095.814861
time.struct_time(tm_year2023, tm_mon8, tm_mday30, tm_hour15, tm_min38, tm_sec15, tm_wday2, tm_yday242, tm_isdst0)
1693381098.815426import math
print(math.pi)
print(math.cos(3.14))random 随机数
整数
randrange(start,stop[,step])
randint(a,b)import random
print(random.randrange(1,20,7)) #1,8,15print(random.randint(1,100)) #[1,100]范围而不是[1,100)for i in range(1,1000):print(random.randint(1,100))序列
choice(seq)
shuffle(x)
sample
random()
uniform(a,b)
等等这些要有使用场景在回来看# search(pattern,string) 在字符串中寻找模式
# match(pattern,string) 在字符串开始处匹配模式
# split(pattern,string) 根据模式分割字符串
# findall(pattern,string) 列表形式返回匹配项
# compile(pattern) 创建模式对象import re
x李立宗的Python课程在CSDN的课程
print(re.search(,x))
print(re.match(李立宗,x))
print(re.split(,x))
print(re.findall([nN],x))rre.compile([0-9])
x今天是2021年6月23日
print(r.match(x))
print(r.search(x))
print(r.findall(x))rre.compile()
x今天是2021年6月23日
print(r.split(x))rre.compile([0-9])
x我买了6斤土豆8斤黄瓜
print(r.split(x))import re
aits a very good lessonxre.split( ,a)
print(a)
print(x)# re.match 尝试从字符串的起始位置匹配一个模式
# 如果在起始位置匹配不成功match()返回none。xre.match(李立宗,李立宗的Python入门)
print(x)
print(x.span())
xre.match(入门,李立宗的Python入门)
print(x)rre.compile([0-9])
print(re.match(r,lilizong))
print(re.match(r,13602153866))
print(r.match(lilizong))
print(r.match(13602153866))
print(r.match(我买了6斤土豆花了8块钱))
print(r.search(我买了6斤土豆花了8块钱))
print(r.findall(我买了6斤土豆花了8块钱))
print(r.split(我买了6斤土豆花了8块钱)) 第三方模块
查看版本 pip --version
看看安装了哪些包 pip list
安装指定的包 pip install numpy
安装指定的包 pip install numpy1.19.3
升级到指定的版本 pip install --upgrade numpy
卸载包 pip uninstall 包名
自定义模块
__name__ 的使用from 和 import 的使用参考下面截图 高级语法
切片 迭代器/生成器
列表、元组、集合、字典、字符串等对象被称为可迭代对象。
高级模式闭包
一个稳定的输出高级模式装饰器
这个概念在其他的语言里面没有相对难理解
最简单的装饰器
#在计算加减乘除前先输出一个分隔线
#方案1单独定义一个函数show用于输出横线
#每次调用运算函数前先调用函数showdef myAdd(a,b):return abdef mySubstract(a,b):return a-bdef myMultiply(a,b):return a*bdef myDivide(a,b):return a/bdef show():print(开始)show()
print(myAdd(3,4))
show()
print(mySubstract(3,4))
show()
print(myMultiply(3,4))
show()
print(myDivide(3,4))输出结果
开始
7
开始
-1
开始
12
开始
0.75正版装饰器
#在计算加减乘除前先输出一个分隔线
#方案4使用修饰器完成
# 修饰器既可以有返回值、也可以没有返回值他的样式是多种多样的。
# 实现方式: 实际函数名修饰器函数名(实际函数名)def show(function):def temp(x,y):print()zfunction(x,y)return zreturn tempdef myAdd(a,b):return abdef mySubstract(a,b):return a-bdef myMultiply(a,b):return a*bdef myDivide(a,b):return a/bmyAddshow(myAdd)
print(myAdd(3,4))
mySubstractshow(mySubstract)
print(mySubstract(3,4))
myMultiplyshow(myMultiply)
print(myMultiply(3,4))
myDivideshow(myDivide)
print(myDivide(3,4))升级一版本
#在计算加减乘除前先输出一个分隔线
#方案5使用修饰器语法糖修饰器
# 修饰器既可以有返回值、也可以没有返回值他的样式是多种多样的。
# 实现方式: 修饰器函数名
# 等价于 实际函数名修饰器函数名(实际函数名)
# 注意点位置实际函数前def show(function):def temp(x,y):print()zfunction(x,y)return zreturn tempshow
def myAdd(a,b):return abshow
def mySubstract(a,b):return a-bshow
def myMultiply(a,b):return a*bshow
def myDivide(a,b):return a/bprint(myAdd(3,4))
print(mySubstract(3,4))
print(myMultiply(3,4))
print(myDivide(3,4))使用 funx(*args, **kwargs):# 上述过程中参数的个数是固定的
# 改进能够适应不同的格式的参数# argsarguments收集所有位置参数
# kwargs,keyword args关键字参数字典等)
def funx(*args, **kwargs):print(args,kwargs)funx(1)
funx(6,李立宗13602153866)
funx(6,7,87,刘能99,李立宗100)
funx(刘能99,李立宗100)funx(刘能99,李立宗100)# argsarguments收集所有位置参数
# kwargs,keyword args关键字参数字典等)最后一版
#在计算加减乘除前先输出一个分隔线
#方案6使用修饰器完成
# 修饰器既可以有返回值、也可以没有返回值他的样式是多种多样的。
# 不同格式的参数2个或3个
# 当然参数个数、类型都是可以多样的
def zhuangshiqi(function):def wrapper(*args,**kwargs):print()xfunction(*args,**kwargs)return xreturn wrapperzhuangshiqi
def jiafa(a,b):return ab
zhuangshiqi
def jiafa3(a,b,c):return abc
zhuangshiqi
def jianfa(a,b):return a-b
zhuangshiqi
def chengfa(a,b):return a*b
zhuangshiqi
def chufa(a,b):return a/bprint(jiafa(3,5))
print(jiafa3(4,5,6))
print(jianfa(4,5))
print(chengfa(5,6))
print(chufa(4,8))
参考视频
https://edu.csdn.net/learn/35464/529482?spm3001.4143