重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
①判斷一個字符串、列表、字典是否為空,可用bool(self)函數(shù),空則返回0,非空返回1。bool函數(shù)可判斷內(nèi)置數(shù)據(jù)結(jié)構(gòu)是否為空。
在成都網(wǎng)站設(shè)計、做網(wǎng)站過程中,需要針對客戶的行業(yè)特點、產(chǎn)品特性、目標受眾和市場情況進行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計方向。創(chuàng)新互聯(lián)公司還需要根據(jù)客戶的需求進行功能模塊的開發(fā)和設(shè)計,包括內(nèi)容管理、前臺展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計和安全保護等功能。
相關(guān)推薦:《Python入門教程》
② 判斷一個字符串是否為空格,可用str.isspace()。
③判斷一個字符串是否含有空格,之前自己做題時,用的是for循環(huán),遍歷一個字符串,判斷每個字符是否等于' '(一個空格字符)。其實可用in方法,即 ' ' in str來判斷,更簡潔。
Python語法教程:條件語句
定義
條件語句就是使用if、elif、else等關(guān)鍵詞來判斷某些條件的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行哪些代碼塊的語句,我們用下面的圖來說明:
在Python中,使用非0或者非空(null)的值作為True的條件判斷,使用0或者空(null)的值作為False的條件判斷;
語法
條件語句的基本寫法如下:
當“判斷條件”成立時,將執(zhí)行隨后的“執(zhí)行語句”,“執(zhí)行語句”是可以有多行的,使用縮進來區(qū)分是屬于同一代碼塊的范圍;
elif不是必須要填寫的關(guān)鍵詞,當有多個判斷條件存在時,它才將會出現(xiàn);
舉一個實際的例子:
執(zhí)行的結(jié)果是 15;
要值得注意的是,在Python中,并沒有像C++等編程語言中的“switch/case”關(guān)鍵詞,在這里,我們使用上面提到的elif關(guān)鍵詞來代替“switch/case”,但是當條件比較多的時候,代碼量太大,并不好維護,此時可以使用字典映射的方法來實現(xiàn),舉個例子:
當執(zhí)行num2Str函數(shù)時,如果參數(shù)是0,則輸出“zero”,如果參數(shù)是1,則輸出“one”,如果參數(shù)是2,則輸出“two”,如果參數(shù)是3,則輸出“three”,除此之外,都輸出“nothing”;
多條件判斷
多條件判斷語句使用關(guān)鍵詞“and”或者“or”來連接若干個條件語句進行判斷,“and”的意思是“并且”,“or”的意思是“或者”,也就是說,當用and關(guān)鍵詞時,要滿足所有的條件為True,才會執(zhí)行判斷語句后面的代碼塊,而用or關(guān)鍵詞時,只要滿足其中之一為True,就能執(zhí)行判斷語句后面的代碼塊了,例如:
在這里說一下執(zhí)行的優(yōu)先級,“()”里的優(yōu)先級最高,其次是(大于)、(小于)等判斷符號,而 and 和 or 的優(yōu)先級比判斷符號還要低,也就是說,(大于)、(小于)在沒有括號的情況下,要先于and和or來執(zhí)行判斷;
為實現(xiàn)“按名存取”,必須建立文件名與輔存空間中物理地址的對應(yīng)關(guān)系,體現(xiàn)這種對應(yīng)關(guān)系的數(shù)據(jù)結(jié)構(gòu)稱為文件目錄。文件目錄表目至少要包含文件名、文件的類型、文件的長度、訪問權(quán)限、建立時間、訪問時間和文件存儲地址等內(nèi)容。通過前面一章的介紹,我們已經(jīng)知道在文件信息中已經(jīng)包含了文件名、文件類型訪問權(quán)限等信息,而存儲地址的信息則包含在目錄信息中。
16.1路徑
路徑通常用一個字符串來表示,可以按照路徑信息定位到一個目錄或文件。如:“C:UsersAdministratorPictures1.jpg”這個信息可以非常方便的找到這個圖片文件,“C:UsersAdministratorPictures”這個信息可以幫助我們找到更多的圖片文件。
這里所說的“路徑”和上網(wǎng)時碰到的“地址”含義比較相似,互聯(lián)網(wǎng)就相當于將個人電腦可以訪問的范圍擴大了,互聯(lián)網(wǎng)中的地址也是對應(yīng)某一個存儲空間的路徑,按照地址可以訪問互聯(lián)網(wǎng)上的信息,就如同按照路徑可以找到計算機中的文件一樣。
在Python中,可以導(dǎo)入 os模塊 來進行目錄操作。
1、獲取當前工作目錄getcwd()函數(shù)
例:
import os
print(os.getcwd())
運行結(jié)果:
C:UsersAdministratorAppDataLocalProgramsPythonPython38
這個路徑是當前Python IDLE所在的地址。
2、獲取文件的絕對路徑abspath()函數(shù)
abspath()函數(shù)是os模塊的子模塊path提供的一個函數(shù)。用法舉例如下:
import os
print(os.path.abspath(r'test.txt'))
運行結(jié)果:
C:UsersAdministratorAppDataLocalProgramsPythonPython38 est.txt
16.2 目錄操作類函數(shù)
1、判斷目錄是否存在exists()函數(shù)
exists()函數(shù)是os模塊的子模塊path中的函數(shù)。使用方法舉例如下:
import os
print(os.path.exists(r'C:UsersAdministratorPictures1.jpeg'))
輸出結(jié)果:
True
2、創(chuàng)建目錄mkdir()函數(shù)和makedirs()函數(shù)
mkdir()函數(shù)和makedirs()函數(shù)都是由os模塊提供的,下面舉例說明用法和區(qū)別。
例1:
import os
path='d:test'
if not os.path.exists(path):
os.makedirs(path)
print('該文件目錄創(chuàng)建成功!')
如果目錄d: est已存在,則不再創(chuàng)建;若不存在,則創(chuàng)建。
例2:
import os
path='d:testtest1test11'
if not os.path.exists(path):
os.makedirs(path)
print('該文件目錄創(chuàng)建成功!')
雖然目錄d: est已存在,但可以在其下繼續(xù)創(chuàng)建子目錄。上面的代碼可以成功地創(chuàng)建d: est est1 est11目錄。
mkdir()函數(shù)和makedirs()函數(shù)用法基本一樣,不同之處在于mkdir()函數(shù)只能能創(chuàng)建一級目錄。
3、刪除目錄函數(shù)rmdir()函數(shù)
rmdir()函數(shù)是由os模塊提供的。
例如:通過上面的例子已經(jīng)建立了d: est est1 est11目錄,現(xiàn)在去刪除子目錄test11(此子目錄為空目錄),代碼如下:
import os
os.rmdir('d:testtest1test11')
如果要刪除的目錄非空(其下還包含有文件或文件夾),則不能刪除,并且出現(xiàn)Windows文件操作錯誤的提示(Python是調(diào)用操作系統(tǒng)命令完成文件和目錄操作的)。譬如d: est目錄下含有有子目錄,則不能對其進行如下刪除操作。
import os
os.rmdir('d:test')
此時,會出現(xiàn)如下錯誤提示:
Traceback (most recent call last):
File "C:/Users/zym/AppData/Local/Programs/Python/Python39/4.py", line 10, in
os.rmdir('d:test')
OSError: [WinError 145] 目錄不是空的。: 'd:test'
4、刪除非空目錄函數(shù)rmtree()函數(shù)
rmtree()函數(shù)是由Python內(nèi)置的標準模塊shutil提供的,可以刪除目錄及目錄下的文件和子目錄。如刪除d: est目錄及其下的子目錄和文件,可用如下代碼:
import shutil
shutil.rmtree('d:test')
5、遍歷目錄walk()函數(shù)
walk()函數(shù)是由os模塊提供的。
語法格式:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
其中,top是所要遍歷的目錄的地址;topdown為可選參數(shù),為 True時自上而下遍歷 目錄,為False時自下而上遍歷目錄,默認值為True;onerror為可選參數(shù),用于指定異常處理方式,默認為忽略;followlinks為可選參數(shù),如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關(guān)閉),如果為 False,則優(yōu)先遍歷 top 的子目錄。
該函數(shù)的返回值為一個三元組(root,dirs,files)。root 所指的是當前正在遍歷的這個文件夾的本身的地址;dirs 是一個 list ,內(nèi)容是該文件夾中所有的目錄的名字(不包括子目錄);files 同樣是 list , 內(nèi)容是該文件夾中所有的文件(不包括子目錄)。
例:遍歷d: est目錄及其子目錄下的所有子目錄和文件:
d: est目錄及其下的子目錄和文件
import os
path='d:test'
tups=os.walk(path) # 函數(shù)walk()的返回值為三元組
for root,dirs,files in tups: # 遍歷這個三元組
for name in dirs: #遍歷存放目錄值的元組
print('dir:',os.path.join(root,name))
for name in files: #遍歷存放文件名值的元組
print('file:',os.path.join(root,name))
運行結(jié)果如下:
dir: d: est est1
dir: d: est est1 est11
dir: d: est est1新建文件夾
file: d: est est1新建文本文檔.txt
file: d: est est1 est11新建文本文檔.txt
if py_obj:
print '非空'
if py_obj is None:
print '空'
if not py_obj:
非空
沒有 但是有strip()函數(shù) strip()去除一個字符串中第一個非空字符之前和最后一個非空字符串之后的空格,制表符等空白,沒有什么限制,對任何字符串都可以使用。
希望可以幫助到你!
目錄
前幾節(jié)我們已經(jīng)介紹了Python 中的 列表list , 元組tuple 和 字典dict ,本節(jié)來介紹Python 中的最后一種數(shù)據(jù)結(jié)構(gòu)—— 集合set 。
Python 中的 set 與 dict 很像,唯一的不同是, dict 中保存的是 鍵值對 ,而 set 中只保存 鍵 ,沒有 值 。
Python 集合 有如下特點:
Python 集合的聲明有兩種方式:
創(chuàng)建 空集合 時,只能用 set() ,而不能用 {} :
創(chuàng)建 非空集合 時,可以用 set() ,也可以用 {} :
由于集合中的元素是唯一的,如果初始化時的 可迭代 數(shù)據(jù)中有重復(fù)的元素,則會自動刪去重復(fù)的元素:
使用 len() 函數(shù)可以查看集合中元素的個數(shù):
由于Python 集合中的元素的是無序的,所以可不能使用 下標 的方式來訪問集合中的單個元素。
我們可以使用 for 循環(huán) 來遍歷集合中的所有元素:
我們可以對兩個集合進行如下運算:
交集與并集
in 運算
使用 dir(set) 查看集合支持的所有方法:
下面一一介紹這些 非魔法方法 ,共17 個。
1. add 方法
由于集合中的元素是唯一的,向集合中添加元素時有兩種情況:
示例:
2. remove 方法
示例:
3. discard 方法
示例:
4. pop 方法
示例:
5. union 方法
示例:
6. update 方法
示例:
7. clear 方法
示例:
8. copy 方法
示例:
9. difference 方法
示例:
10. difference_update 方法
示例:
11. intersection 方法
示例:
12. intersection_update 方法
示例:
13. isdisjoint 方法
示例:
14. issubset 方法
示例:
15. issuperset 方法
示例:
16. symmetric_difference 方法
示例:
17. symmetric_difference_update 方法
示例:
(完。)
推薦閱讀:
Python 簡明教程 --- 8,Python 字符串函數(shù)
Python 簡明教程 --- 9,Python 編碼
Python 簡明教程 ---10,Python 列表
Python 簡明教程 ---11,Python 元組
Python 簡明教程 ---12,Python 字典