成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python函數(shù)操作邏輯 python的邏輯運(yùn)算

python函數(shù)深入淺出 12.os.getcwd()函數(shù)詳解

os是python自帶的系統(tǒng)模塊,需要import使用

創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供華安網(wǎng)站建設(shè)、華安做網(wǎng)站、華安網(wǎng)站設(shè)計(jì)、華安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、華安企業(yè)網(wǎng)站模板建站服務(wù),10年華安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

os 源于英文Operating System(操作系統(tǒng))的縮寫(xiě)

cwd 則是源于Current Working Directory,中文意思是 當(dāng)前工作目錄

所以os.getcwd() 指獲取當(dāng)前工作目錄

示例:

getcwd()方法語(yǔ)法格式如下:

總之,舉例來(lái)講,os.getcwd()、sys.path[0] (sys.argv[0])和 file 的區(qū)別是這樣的:

假設(shè)目錄結(jié)構(gòu)是:

然后我們?cè)贑:\test下面執(zhí)行

這時(shí)sub_path.py里面與各種用法對(duì)應(yīng)的值其實(shí)是:

無(wú)

path的準(zhǔn)確定位對(duì)于import包,讀寫(xiě)文件都非常重要,

如果一時(shí)不能理解,可以在文件執(zhí)行開(kāi)頭多加幾個(gè)

print幫助我們確定那個(gè)路徑是我們希望拿到的,然后將其設(shè)為全局變量就好了

對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問(wèn)的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇

python函數(shù)深入淺出 16.time.sleep()函數(shù)詳解

time.sleep() 函數(shù)命名來(lái)源于英文單詞time(時(shí)間)和sleep(睡眠)。

time 是python帶的非內(nèi)置庫(kù),使用時(shí)需要import,主要用于處理和時(shí)間相關(guān)的操作。

time.sleep用于給定時(shí)間內(nèi)掛起(等待)當(dāng)前線程的執(zhí)行。

time.sleep() 函數(shù)的例子:

可以注釋掉time.sleep(2)再運(yùn)行一次對(duì)比一下

可以看到雖然都是打印出一樣的結(jié)果,但time.sleep()加入了等待時(shí)間

這里還要解釋一下python中線程與進(jìn)程的區(qū)別。

舉個(gè)例子,廚房做菜看成是一個(gè)進(jìn)程,那么這個(gè)進(jìn)程下面就可能有多個(gè)人或一個(gè)人(cpu基本執(zhí)行單元,即線程)來(lái)執(zhí)行,多個(gè)人可以分別洗菜,刷碗,擺盤(pán)等等同時(shí)作業(yè),他們又是共享這個(gè)廚房的資源的。每個(gè)人存在一定的資源競(jìng)爭(zhēng)關(guān)系,比如爐火只有1個(gè)。

這里time.sleep是針對(duì)線程執(zhí)行的,也就是其中一個(gè)人去sleep睡覺(jué)了,不影響其他人的繼續(xù)工作。

參數(shù)

該函數(shù)沒(méi)有返回值。

結(jié)果類(lèi)似如下:

可以看到秒數(shù)相差了5

無(wú)

time.sleep()常用于推遲執(zhí)行的場(chǎng)景

在python中,與時(shí)間相關(guān)的模塊有:time,datetime以及calendar

對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問(wèn)的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇

python函數(shù)深入淺出 13.os.listdir()函數(shù)詳解

這是os模塊下操作目錄和文件相關(guān)的函數(shù)

listdir() 只返回文件夾下所有文件名的列表(list)

math 模塊則會(huì)把參數(shù)轉(zhuǎn)換為 float。

listdir()方法語(yǔ)法格式如下:

參數(shù)

path -- 需要列出的目錄路徑,默認(rèn)為當(dāng)前路徑

其他相關(guān)的操作文件(文件夾)函數(shù)如下:

當(dāng)我們需要遍歷某個(gè)文件夾下文件/目錄通常有兩種操作

當(dāng)獲取文件后如何獲取其后綴名,判斷是否指定格式的文檔、圖片比如txt,doc,bmp,png,gif,jpg等:

無(wú)

熟練操作文件和目錄,可以幫組我們寫(xiě)批量腳本時(shí)更高效,也是重要的python基礎(chǔ)之一。

對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問(wèn)的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇

python字典操作函數(shù)

字典是一種通過(guò)名字或者關(guān)鍵字引用的得數(shù)據(jù)結(jié)構(gòu),其鍵可以是數(shù)字、字符串、元組,這種結(jié)構(gòu)類(lèi)型也稱(chēng)之為映射。字典類(lèi)型是Python中唯一內(nèi)建的映射類(lèi)型,基本的操作包括如下:

(1)len():返回字典中鍵—值對(duì)的數(shù)量;

(2)d[k]:返回關(guān)鍵字對(duì)于的值;

(3)d[k]=v:將值關(guān)聯(lián)到鍵值k上;

(4)del d[k]:刪除鍵值為k的項(xiàng);

(5)key in d:鍵值key是否在d中,是返回True,否則返回False。

(6)clear函數(shù):清除字典中的所有項(xiàng)

(7)copy函數(shù):返回一個(gè)具有相同鍵值的新字典;deepcopy()函數(shù)使用深復(fù)制,復(fù)制其包含所有的值,這個(gè)方法可以解決由于副本修改而使原始字典也變化的問(wèn)題

(8)fromkeys函數(shù):使用給定的鍵建立新的字典,鍵默認(rèn)對(duì)應(yīng)的值為None

(9)get函數(shù):訪問(wèn)字典成員

(10)has_key函數(shù):檢查字典中是否含有給出的鍵

(11)items和iteritems函數(shù):items將所有的字典項(xiàng)以列表方式返回,列表中項(xiàng)來(lái)自(鍵,值),iteritems與items作用相似,但是返回的是一個(gè)迭代器對(duì)象而不是列表

(12)keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器

(13)pop函數(shù):刪除字典中對(duì)應(yīng)的鍵

(14)popitem函數(shù):移出字典中的項(xiàng)

(15)setdefault函數(shù):類(lèi)似于get方法,獲取與給定鍵相關(guān)聯(lián)的值,也可以在字典中不包含給定鍵的情況下設(shè)定相應(yīng)的鍵值

(16)update函數(shù):用一個(gè)字典更新另外一個(gè)字典

(17)?values和itervalues函數(shù):values以列表的形式返回字典中的值,itervalues返回值得迭代器,由于在字典中值不是唯一的,所以列表中可以包含重復(fù)的元素

一、字典的創(chuàng)建

1.1 直接創(chuàng)建字典

d={'one':1,'two':2,'three':3}

printd

printd['two']

printd['three']

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

1.2 通過(guò)dict創(chuàng)建字典

# _*_ coding:utf-8 _*_

items=[('one',1),('two',2),('three',3),('four',4)]

printu'items中的內(nèi)容:'

printitems

printu'利用dict創(chuàng)建字典,輸出字典內(nèi)容:'

d=dict(items)

printd

printu'查詢(xún)字典中的內(nèi)容:'

printd['one']

printd['three']

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

items中的內(nèi)容:

[('one',1), ('two',2), ('three',3), ('four',4)]

利用dict創(chuàng)建字典,輸出字典內(nèi)容:

{'four':4,'three':3,'two':2,'one':1}

查詢(xún)字典中的內(nèi)容:

或者通過(guò)關(guān)鍵字創(chuàng)建字典

# _*_ coding:utf-8 _*_

d=dict(one=1,two=2,three=3)

printu'輸出字典內(nèi)容:'

printd

printu'查詢(xún)字典中的內(nèi)容:'

printd['one']

printd['three']

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

輸出字典內(nèi)容:

{'three':3,'two':2,'one':1}

查詢(xún)字典中的內(nèi)容:

二、字典的格式化字符串

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3,'four':4}

printd

print"three is %(three)s."%d

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'four':4,'three':3,'two':2,'one':1}

threeis3.

三、字典方法

3.1?clear函數(shù):清除字典中的所有項(xiàng)

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3,'four':4}

printd

d.clear()

printd

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'four':4,'three':3,'two':2,'one':1}

{}

請(qǐng)看下面兩個(gè)例子

3.1.1

# _*_ coding:utf-8 _*_

d={}

dd=d

d['one']=1

d['two']=2

printdd

d={}

printd

printdd

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'two':2,'one':1}

{}

{'two':2,'one':1}

3.1.2

# _*_ coding:utf-8 _*_

d={}

dd=d

d['one']=1

d['two']=2

printdd

d.clear()

printd

printdd

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'two':2,'one':1}

{}

{}

3.1.2與3.1.1唯一不同的是在對(duì)字典d的清空處理上,3.1.1將d關(guān)聯(lián)到一個(gè)新的空字典上,這種方式對(duì)字典dd是沒(méi)有影響的,所以在字典d被置空后,字典dd里面的值仍舊沒(méi)有變化。但是在3.1.2中clear方法清空字典d中的內(nèi)容,clear是一個(gè)原地操作的方法,使得d中的內(nèi)容全部被置空,這樣dd所指向的空間也被置空。

3.2?copy函數(shù):返回一個(gè)具有相同鍵值的新字典

# _*_ coding:utf-8 _*_

x={'one':1,'two':2,'three':3,'test':['a','b','c']}

printu'初始X字典:'

printx

printu'X復(fù)制到Y(jié):'

y=x.copy()

printu'Y字典:'

printy

y['three']=33

printu'修改Y中的值,觀察輸出:'

printy

printx

printu'刪除Y中的值,觀察輸出'

y['test'].remove('c')

printy

printx

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

初始X字典:

{'test': ['a','b','c'],'three':3,'two':2,'one':1}

X復(fù)制到Y(jié):

Y字典:

{'test': ['a','b','c'],'one':1,'three':3,'two':2}

修改Y中的值,觀察輸出:

{'test': ['a','b','c'],'one':1,'three':33,'two':2}

{'test': ['a','b','c'],'three':3,'two':2,'one':1}

刪除Y中的值,觀察輸出

{'test': ['a','b'],'one':1,'three':33,'two':2}

{'test': ['a','b'],'three':3,'two':2,'one':1}

注:在復(fù)制的副本中對(duì)值進(jìn)行替換后,對(duì)原來(lái)的字典不產(chǎn)生影響,但是如果修改了副本,原始的字典也會(huì)被修改。deepcopy函數(shù)使用深復(fù)制,復(fù)制其包含所有的值,這個(gè)方法可以解決由于副本修改而使原始字典也變化的問(wèn)題。

# _*_ coding:utf-8 _*_

fromcopyimportdeepcopy

x={}

x['test']=['a','b','c','d']

y=x.copy()

z=deepcopy(x)

printu'輸出:'

printy

printz

printu'修改后輸出:'

x['test'].append('e')

printy

printz

運(yùn)算輸出:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

輸出:

{'test': ['a','b','c','d']}

{'test': ['a','b','c','d']}

修改后輸出:

{'test': ['a','b','c','d','e']}

{'test': ['a','b','c','d']}

3.3?fromkeys函數(shù):使用給定的鍵建立新的字典,鍵默認(rèn)對(duì)應(yīng)的值為None

# _*_ coding:utf-8 _*_

d=dict.fromkeys(['one','two','three'])

printd

運(yùn)算輸出:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':None,'two':None,'one':None}

或者指定默認(rèn)的對(duì)應(yīng)值

# _*_ coding:utf-8 _*_

d=dict.fromkeys(['one','two','three'],'unknow')

printd

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':'unknow','two':'unknow','one':'unknow'}

3.4?get函數(shù):訪問(wèn)字典成員

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printd.get('one')

printd.get('four')

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

1

None

注:get函數(shù)可以訪問(wèn)字典中不存在的鍵,當(dāng)該鍵不存在是返回None

3.5?has_key函數(shù):檢查字典中是否含有給出的鍵

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printd.has_key('one')

printd.has_key('four')

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

True

False

3.6?items和iteritems函數(shù):items將所有的字典項(xiàng)以列表方式返回,列表中項(xiàng)來(lái)自(鍵,值),iteritems與items作用相似,但是返回的是一個(gè)迭代器對(duì)象而不是列表

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

list=d.items()

forkey,valueinlist:

printkey,':',value

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

three :3

two :2

one :1

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

it=d.iteritems()

fork,vinit:

print"d[%s]="%k,v

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

d[three]=3

d[two]=2

d[one]=1

3.7?keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printu'keys方法:'

list=d.keys()

printlist

printu'\niterkeys方法:'

it=d.iterkeys()

forxinit:

printx

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

keys方法:

['three','two','one']

iterkeys方法:

three

two

one

3.8?pop函數(shù):刪除字典中對(duì)應(yīng)的鍵

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

d.pop('one')

printd

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

{'three':3,'two':2}

3.9?popitem函數(shù):移出字典中的項(xiàng)

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

d.popitem()

printd

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

{'two':2,'one':1}

3.10?setdefault函數(shù):類(lèi)似于get方法,獲取與給定鍵相關(guān)聯(lián)的值,也可以在字典中不包含給定鍵的情況下設(shè)定相應(yīng)的鍵值

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printd.setdefault('one',1)

printd.setdefault('four',4)

printd

運(yùn)算結(jié)果:

{'three':3,'two':2,'one':1}

{'four':4,'three':3,'two':2,'one':1}

3.11?update函數(shù):用一個(gè)字典更新另外一個(gè)字典

# _*_ coding:utf-8 _*_

d={

'one':123,

'two':2,

'three':3

}

printd

x={'one':1}

d.update(x)

printd

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':123}

{'three':3,'two':2,'one':1}

3.12?values和itervalues函數(shù):values以列表的形式返回字典中的值,itervalues返回值得迭代器,由于在字典中值不是唯一的,所以列表中可以包含重復(fù)的元素

# _*_ coding:utf-8 _*_

d={

'one':123,

'two':2,

'three':3,

'test':2

}

printd.values()

運(yùn)算結(jié)果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

[2,3,2,123]

網(wǎng)頁(yè)名稱(chēng):python函數(shù)操作邏輯 python的邏輯運(yùn)算
文章鏈接:http://jinyejixie.com/article30/hepspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)站營(yíng)銷(xiāo)、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
易门县| 紫金县| 西青区| 宁远县| 台东市| 奎屯市| 渭源县| 银川市| 鄂尔多斯市| 洪雅县| 九台市| 依安县| 孙吴县| 广德县| 桑植县| 无极县| 祁连县| 营口市| 宁远县| 天气| 韶山市| 晋中市| 南昌市| 江华| 云南省| 成武县| 美姑县| 邯郸市| 阜城县| 长白| 敦煌市| 炉霍县| 乡城县| 永兴县| 临江市| 上犹县| 贵溪市| 尚志市| 西藏| 桂阳县| 门源|