国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁(yè) » python編程資訊

資訊內(nèi)容

給小白整理的最后一篇 Python知識(shí)點(diǎn)

極客小將2020-12-26-
簡(jiǎn)介python視頻教程欄目介紹最后一篇知識(shí)點(diǎn)。13、Python標(biāo)準(zhǔn)庫(kù)Python標(biāo)準(zhǔn)庫(kù)是隨Pthon附帶安裝的,包含了大量極其有用的模塊。我們主要了解下sys和os就夠了。13.1sys模塊sys模塊主要是針對(duì)與Python解釋器相關(guān)的變量和方法,不是主機(jī)操作系統(tǒng)。sys.argv#獲取命令行參數(shù)列
python視頻教程欄目介紹**后一篇知識(shí)點(diǎn)。

gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

13、Python標(biāo)準(zhǔn)庫(kù)

Python標(biāo)準(zhǔn)庫(kù)是隨Pthon附帶安裝的,包含了大量極其有用的模塊。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

我們主要了解下sys和os就夠了。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

13.1 sys模塊  

sys模塊主要是針對(duì)與Python解釋器相關(guān)的變量和方法,不是主機(jī)操作系統(tǒng)。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

sys.argv #獲取命令行參數(shù)列表,第一個(gè)元素是程序本身 sys.exit(n) #退出Python程序,exit(0)表示正常退出。當(dāng)參數(shù)非0時(shí),會(huì)引發(fā)一個(gè)SystemExit異常,可以在程序中捕獲該異常 sys.version #獲取Python解釋程器的版本信息 sys.maxsize #**大的Int值,64位平臺(tái)是2**63 - 1 sys.path #返回模塊的搜索路徑,初始化時(shí)使用PYTHONPATH環(huán)境變量的值 sys.platform #返回操作系統(tǒng)平臺(tái)名稱(chēng) sys.stdin #輸入相關(guān) sys.stdout #輸出相關(guān) sys.stderr #錯(cuò)誤相關(guān) sys.exc_info() #返回異常信息三元元組 sys.getdefaultencoding() #獲取系統(tǒng)當(dāng)前編碼,默認(rèn)為utf-8 sys.setdefaultencoding() #設(shè)置系統(tǒng)的默認(rèn)編碼 sys.getfilesystemencoding() #獲取文件系統(tǒng)使用編碼方式,默認(rèn)是utf-8 sys.modules #以字典的形式返回所有當(dāng)前Python環(huán)境中已經(jīng)導(dǎo)入的模塊 sys.builtin_module_names #返回一個(gè)列表,包含所有已經(jīng)編譯到Python解釋器里的模塊的名字 sys.copyright #當(dāng)前Python的版權(quán)信息 sys.flags #命令行標(biāo)識(shí)狀態(tài)信息列表。只讀。 sys.getrefcount(object) #返回對(duì)象的引用數(shù)量 sys.getrecursionlimit() #返回Python**大遞歸深度,默認(rèn)1000 sys.getsizeof(object[, default]) #返回對(duì)象的大小 sys.getswitchinterval() #返回線(xiàn)程切換時(shí)間間隔,默認(rèn)0.005秒 sys.setswitchinterval(interval) #設(shè)置線(xiàn)程切換的時(shí)間間隔,單位秒 sys.getwindowsversion() #返回當(dāng)前windwos系統(tǒng)的版本信息 sys.hash_info #返回Python默認(rèn)的哈希方法的參數(shù) sys.implementation #當(dāng)前正在運(yùn)行的Python解釋器的具體實(shí)現(xiàn),比如CPython sys.thread_info #當(dāng)前線(xiàn)程信息復(fù)制代碼

上面是sys模塊所有語(yǔ)法,我們看看就夠了,了解下sys.argv和sys.path就足夠了gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

sys.argv是一個(gè)腳本執(zhí)行參數(shù)列表,列表的第一個(gè)元素是腳本名稱(chēng),從第二個(gè)元素開(kāi)始才是真正的參數(shù)。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

# test.py import sys for index, arg in enumerate(sys.argv): print("第%d個(gè)參數(shù)是: %s" % (index, arg)) #輸出 第0個(gè)參數(shù)是: test.py 第1個(gè)參數(shù)是: 1 第2個(gè)參數(shù)是: 2 第3個(gè)參數(shù)是: 3 第4個(gè)參數(shù)是: 4 復(fù)制代碼

argv:獲取程序外部向程序傳遞的參數(shù)gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

# script.py import sys print(sys.argv[0]) print(sys.argv[1])復(fù)制代碼

運(yùn)行:gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

# python script.py argv1 sys.py argv1復(fù)制代碼

sys.pathgK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

path是一個(gè)目錄列表,供Python從中查找模塊。在Python啟動(dòng)時(shí),sys.path根據(jù)內(nèi)建規(guī)則和PYTHONPATH變量進(jìn)行初始化。sys.path的第一個(gè)元素通常是個(gè)空字符串,表示當(dāng)前目錄。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

>>> sys.path ['', 'C:\Python36\Lib\idlelib', 'C:\Python36\python36.zip', 'C:\Python36\DLLs', 'C:\Python36\lib', 'C:\Python36', 'C:\Python36\lib\site-packages']復(fù)制代碼

sys.path本質(zhì)上是一個(gè)列表,可以進(jìn)行append、insert、pop、remove等各種列表相關(guān)的操作,但通常都進(jìn)行append操作,添加自己想要的查找路徑。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

sys.stdin、sys.stdout、sys.stderrgK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

stdin用于所有的交互式輸入(包括input()函數(shù))。stdout用于print()的打印輸出或者input()函數(shù)的提示符。stderr用于解釋器自己的提示信息和錯(cuò)誤信息。

簡(jiǎn)而言之,這三個(gè)屬性就是操作系統(tǒng)的標(biāo)準(zhǔn)輸入、輸出和錯(cuò)誤流,它們返回的都是一個(gè)“文件類(lèi)型”對(duì)象,支持read()、write()和flush()等操作。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

>>> import sys >>> s = sys.stdin.readline() i don't like python >>> s 'i don't like python ' >>> sys.stdout.write(s) i don't like python 20復(fù)制代碼

python3中sys.stdin與input的區(qū)別:gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

input()方法和stdin()類(lèi)似,不同的是input()括號(hào)內(nèi)可以直接填寫(xiě)說(shuō)明文字。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

s = input('Please input something!') print('Please input something!',) # 逗號(hào)表示不換行 s = sys.stdin.readline()[:-1] # -1 拋棄輸入流中的' ' 換行符復(fù)制代碼

當(dāng)我們print(obj)的時(shí)候,事實(shí)上是調(diào)用了sys.stdout.write(obj+' '),將內(nèi)容打印到控制臺(tái)(默認(rèn)是顯示器),然后追加一個(gè)換行符。以下兩行等價(jià): gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

sys.stdout.write('hello'+' ') print('hello')復(fù)制代碼13.2 os模塊  

該模塊包含普遍的操作系統(tǒng)功能gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.name字符串指示你正在使用的平臺(tái)。比如對(duì)于Windows,它是'nt',而對(duì)于Linux/Unix用戶(hù),它是'posix'gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.getcwd()函數(shù)得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.getenv()和os.putenv()函數(shù)分別用來(lái)讀取和設(shè)置環(huán)境變量gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.listdir()返回指定目錄下的所有文件和目錄名gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.remove()函數(shù)用來(lái)刪除一個(gè)文件gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.system()函數(shù)用來(lái)運(yùn)行shell命令gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.linesep字符串給出當(dāng)前平臺(tái)使用的行終止符。例如,Windows使用' ',Linux使用' '而Mac使用''gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.sep 操作系統(tǒng)特定的路徑分割符gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.path.split()函數(shù)返回一個(gè)路徑的目錄名和文件名gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.path.isfile()和os.path.isdir()函數(shù)分別檢驗(yàn)給出的路徑是一個(gè)文件還是目錄gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

os.path.existe()函數(shù)用來(lái)檢驗(yàn)給出的路徑是否真地存在gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

14、類(lèi)中的特別方法名稱(chēng)說(shuō)明init(self,...)這個(gè)方法在新建對(duì)象恰好要被返回使用之前被調(diào)用。del(self)恰好在對(duì)象要被刪除之前調(diào)用。str(self)在我們對(duì)對(duì)象使用print語(yǔ)句或是使用str()的時(shí)候調(diào)用。getitem(self,key)使用x[key]索引操作符的時(shí)候調(diào)用。len(self)對(duì)序列對(duì)象使用內(nèi)建的len()函數(shù)的時(shí)候調(diào)用。

下面的類(lèi)中定義了上表中的方法:gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

class Array: __list = [] def __init__(self): print "constructor" def __del__(self): print "destructor" def __str__(self): return "this self-defined array class" def __getitem__(self, key): return self.__list[key] def __len__(self): return len(self.__list) def Add(self, value): self.__list.append(value) def Remove(self, index): del self.__list[index] def DisplayItems(self): print "show all items----" for item in self.__list: print item arr = Array() #constructor print(arr) #this self-defined array class print(len(arr)) #0 arr.Add(1) arr.Add(2) arr.Add(3) print(len(arr)) #3 print(arr[0]) #1 arr.DisplayItems() #show all items---- #1 #2 #3 arr.Remove(1) arr.DisplayItems() #show all items---- #1 #3 #destructor復(fù)制代碼15、列表推導(dǎo)式

通過(guò)列表綜合,可以從一個(gè)已有的列表導(dǎo)出一個(gè)新的列表。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

list1 = [1, 2, 3, 4, 5] list2 = [i*2 for i in list1 if i > 3] print(list1) #[1, 2, 3, 4, 5] print(list2) #[8, 10]復(fù)制代碼16、 *和**args區(qū)別

當(dāng)函數(shù)接收元組或字典形式的參數(shù)的時(shí)候,有一種特殊的方法,使用*和**前綴。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

該方法在函數(shù)需要獲取可變數(shù)量的參數(shù)的時(shí)候特別有用。  gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

由于在args變量前有*前綴,所有多余的函數(shù)參數(shù)都會(huì)作為一個(gè)元組存儲(chǔ)在args中。如果使用的是**前綴,多余的參數(shù)則會(huì)被認(rèn)為是一個(gè)字典的鍵/值對(duì)。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

*args接受元組gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

**args接受字典gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

def powersum(power, *args): total = 0 for i in args: total += pow(i, power) return total print (powersum(2, 1, 2, 3)) #14 1^2+2^2+3^2 = 14 def displaydic(**args): for key,value in args.items(): print( "key:%s;value:%s" % (key, value)) displaydic(a="one", b="two", c="three") #key:a;value:one #key:c;value:three #key:b;value:two復(fù)制代碼17、lambda函數(shù)

lambda語(yǔ)句被用來(lái)創(chuàng)建新的函數(shù)對(duì)象,并在運(yùn)行時(shí)返回它們。lambda需要一個(gè)參數(shù),后面僅跟單個(gè)表達(dá)式作為函數(shù)體,而表達(dá)式的值被這個(gè)gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

新建的函數(shù)返回。 注意,print語(yǔ)句也不能用在lambda形式中,只能使用表達(dá)式。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

func = lambda s: s * 3 print(func("Runsen ")) # Runsen Runsen Runsen func2 = lambda a, b: a * b print(func2(2, 3)) #6復(fù)制代碼18、exec/eval

exec語(yǔ)句用來(lái)執(zhí)行儲(chǔ)存在字符串或文件中的Python語(yǔ)句gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

eval語(yǔ)句用來(lái)計(jì)算存儲(chǔ)在字符串中的有效Python表達(dá)式。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

cmd = "print 'hello world'" exec cmd #hello world expression = "10 * 2 + 5" print(eval(expression)) #25復(fù)制代碼

exec還批量創(chuàng)建變量,這個(gè)大家可能忽視gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

for i in range(8): exec('v' + str(i) + ' = ' + str(i)) print('v' + str(i) + ':', eval('v' + str(i))) v0: 0 v1: 1 v2: 2 v3: 3 v4: 4 v5: 5 v6: 6 v7: 7 復(fù)制代碼19、assert

assert語(yǔ)句用來(lái)斷言某個(gè)條件是真的,并且在它非真的時(shí)候引發(fā)一個(gè)錯(cuò)誤--AssertionError。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

>>> assert True # 條件為 true 正常執(zhí)行 >>> assert False # 條件為 false 觸發(fā)異常 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError復(fù)制代碼

assert一般和try except連用gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

flag = True assert flag == True try: assert flag == False except AssertionError: print ("failed") else: print ("pass") failed復(fù)制代碼20、repr

repr函數(shù)用來(lái)取得對(duì)象的規(guī)范字符串表示。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

注意,在大多數(shù)時(shí)候有eval(repr(object)) == object。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

可以通過(guò)定義類(lèi)的__repr__方法來(lái)控制對(duì)象在被repr函數(shù)調(diào)用的時(shí)候返回的內(nèi)容。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

arr = [1, 2, 3] print(arr) #[1, 2, 3] print(repr(arr)) #[1, 2, 3]復(fù)制代碼

其實(shí)Python就是這么簡(jiǎn)單,學(xué)Python就是看*方文檔,看demo,代碼跟做英語(yǔ)閱讀似的,多看*方文檔,然后調(diào)下第三方庫(kù),實(shí)現(xiàn)需求就行了。gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

相關(guān)免費(fèi)學(xué)習(xí)推薦:python視頻教程gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

以上就是給小白整理的**后一篇 Python知識(shí)點(diǎn)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注少兒編程網(wǎng)其它相關(guān)文章!gK8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

預(yù)約試聽(tīng)課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 武乡县| 大石桥市| 新化县| 裕民县| 太和县| 册亨县| 唐山市| 工布江达县| 泰顺县| 区。| 米脂县| 永福县| 天气| 尚义县| 汝南县| 黑龙江省| 雷山县| 农安县| 五河县| 昌黎县| 淳安县| 慈溪市| 甘南县| 东台市| 太和县| 大连市| 新宾| 定日县| 泌阳县| 龙井市| 张家口市| 红河县| 阜新市| 仪陇县| 通化县| 定陶县| 和平县| 灵川县| 开鲁县| 彰化市| 如皋市|