網(wǎng)站公安備案需要多久個(gè)人網(wǎng)站模板
文章目錄
- 模塊與包
- 標(biāo)準(zhǔn)模塊
- 第三方模塊
- 自定義模塊
- 高級(jí)語法
- 切片
- 迭代器/生成器
- 高級(jí)模式(閉包)
- 高級(jí)模式(裝飾器)
- 參考視頻
模塊與包
標(biāo)準(zhǔn)模塊
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("結(jié)束")start=time.time()
for i in range(10000):i+=1
end = time.time()
print(end - start)import time
print(time.time()) #返回當(dāng)前時(shí)間的時(shí)間戳(1970年后經(jīng)過的浮點(diǎn)秒數(shù))。
print(time.localtime())
time.sleep(3)
print(time.time())# struct_time元組共有9個(gè)元素:
# 0 tm_year(年)
# 1 tm_mon(月)
# 2 tm_mday(日)
# 3 tm_hour(時(shí))
# 4 tm_min(分)
# 5 tm_sec(秒)
# 6 tm_wday(weekday),0是周一,以此類推
# 7 tm_yday(一年中的第幾天)
# 8 tm_isdst(是否是夏令時(shí)),0非夏令時(shí)、1夏令時(shí)、-1不確定是否是輸出結(jié)果:
開始
結(jié)束
0.0023679733276367188
1693381095.814861
time.struct_time(tm_year=2023, tm_mon=8, tm_mday=30, tm_hour=15, tm_min=38, tm_sec=15, tm_wday=2, tm_yday=242, tm_isdst=0)
1693381098.815426import math
print(math.pi)
print(math.cos(3.14))random 隨機(jī)數(shù)
整數(shù)
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)
等等,這些要有使用場(chǎng)景在回來看# search(pattern,string) 在字符串中尋找模式
# match(pattern,string) 在字符串開始處匹配模式
# split(pattern,string) 根據(jù)模式分割字符串
# findall(pattern,string) 列表形式返回匹配項(xiàng)
# compile(pattern) 創(chuàng)建模式對(duì)象import re
x="李立宗的Python課程,在CSDN的課程"
print(re.search(",",x))
print(re.match("李立宗",x))
print(re.split(",",x))
print(re.findall("[nN]",x))r=re.compile("[0-9]")
x="今天是2021年6月23日"
print(r.match(x))
print(r.search(x))
print(r.findall(x))r=re.compile(":")
x="今天是:2021年6月23日"
print(r.split(x))r=re.compile("[0-9]")
x="我買了6斤土豆,8斤黃瓜"
print(r.split(x))import re
a="it's a very good lesson"x=re.split(" ",a)
print(a)
print(x)# re.match 嘗試從字符串的起始位置匹配一個(gè)模式,
# 如果在起始位置匹配不成功,match()返回none。x=re.match("李立宗","李立宗的Python入門")
print(x)
print(x.span())
x=re.match("入門","李立宗的Python入門")
print(x)r=re.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 numpy==1.19.3
升級(jí)到指定的版本 pip install --upgrade numpy
卸載包 pip uninstall 包名
自定義模塊
__name__ 的使用from 和 import 的使用參考下面截圖
高級(jí)語法
切片
迭代器/生成器
列表、元組、集合、字典、字符串等對(duì)象被稱為可迭代對(duì)象。
高級(jí)模式(閉包)
一個(gè)穩(wěn)定的輸出
高級(jí)模式(裝飾器)
這個(gè)概念在其他的語言里面沒有,相對(duì)難理解
最簡(jiǎn)單的裝飾器
#在計(jì)算加減乘除前,先輸出一個(gè)分隔線(=====)
#方案1:單獨(dú)定義一個(gè)函數(shù)show,用于輸出橫線
#每次調(diào)用運(yùn)算函數(shù)前,先調(diào)用函數(shù)showdef myAdd(a,b):return a+bdef 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))輸出結(jié)果
=====開始=======
7
=====開始=======
-1
=====開始=======
12
=====開始=======
0.75正版裝飾器
#在計(jì)算加減乘除前,先輸出一個(gè)分隔線(=====)
#方案4:使用修飾器完成
# 修飾器,既可以有返回值、也可以沒有返回值,他的樣式是多種多樣的。
# 實(shí)現(xiàn)方式: 實(shí)際函數(shù)名=修飾器函數(shù)名(實(shí)際函數(shù)名)def show(function):def temp(x,y):print("===========")z=function(x,y)return zreturn tempdef myAdd(a,b):return a+bdef mySubstract(a,b):return a-bdef myMultiply(a,b):return a*bdef myDivide(a,b):return a/bmyAdd=show(myAdd)
print(myAdd(3,4))
mySubstract=show(mySubstract)
print(mySubstract(3,4))
myMultiply=show(myMultiply)
print(myMultiply(3,4))
myDivide=show(myDivide)
print(myDivide(3,4))升級(jí)一版本
#在計(jì)算加減乘除前,先輸出一個(gè)分隔線(=====)
#方案5:使用修飾器語法糖:@修飾器
# 修飾器,既可以有返回值、也可以沒有返回值,他的樣式是多種多樣的。
# 實(shí)現(xiàn)方式: @修飾器函數(shù)名
# 等價(jià)于: 實(shí)際函數(shù)名=修飾器函數(shù)名(實(shí)際函數(shù)名)
# 注意點(diǎn):位置:實(shí)際函數(shù)前def show(function):def temp(x,y):print("===========")z=function(x,y)return zreturn temp@show
def myAdd(a,b):return a+b@show
def mySubstract(a,b):return a-b@show
def myMultiply(a,b):return a*b@show
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):# 上述過程中,參數(shù)的個(gè)數(shù)是固定的
# 改進(jìn):能夠適應(yīng)不同的格式的參數(shù)# args,arguments:收集所有位置參數(shù)
# kwargs,keyword args:關(guān)鍵字參數(shù)(字典等)
def funx(*args, **kwargs):print(args,kwargs)funx(1)
funx(6,李立宗=13602153866)
funx(6,7,87,劉能=99,李立宗=100)
funx(劉能=99,李立宗=100)funx(劉能=99,李立宗=100)# args,arguments:收集所有位置參數(shù)
# kwargs,keyword args:關(guān)鍵字參數(shù)(字典等)最后一版
#在計(jì)算加減乘除前,先輸出一個(gè)分隔線(=====)
#方案6:使用修飾器完成
# 修飾器,既可以有返回值、也可以沒有返回值,他的樣式是多種多樣的。
# 不同格式的參數(shù),2個(gè)或3個(gè),
# 當(dāng)然,參數(shù)個(gè)數(shù)、類型都是可以多樣的
def zhuangshiqi(function):def wrapper(*args,**kwargs):print("============")x=function(*args,**kwargs)return xreturn wrapper@zhuangshiqi
def jiafa(a,b):return a+b
@zhuangshiqi
def jiafa3(a,b,c):return a+b+c
@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?spm=3001.4143