溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python的基礎(chǔ)知識(shí)點(diǎn)有什么

發(fā)布時(shí)間:2021-11-22 14:49:55 來(lái)源:億速云 閱讀:154 作者:iii 欄目:編程語(yǔ)言

這篇文章主要講解了“Python的基礎(chǔ)知識(shí)點(diǎn)有什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Python的基礎(chǔ)知識(shí)點(diǎn)有什么”吧!

集合(Set)及其函數(shù)

集合是一個(gè)無(wú)序的、無(wú)重復(fù)元素的序列。

list = {1, 3, 6, 5, 7, 9, 11, 3, 7} # 定義集合方式一 list1 = set([1, 3, 6, 5, 7, 9, 11, 3, 7]) # 定義集合方式二 list2 = set() # 定義一個(gè)空集合 print(list1, list) # 打印后可看到,集合中的元素已自動(dòng)去重 print(3 in list) # 判斷一個(gè)元素是否在集合中,返回bool值 print(20 not in list1) # 判斷一個(gè)元素是否不在集合中,返回bool值 list1.add(99) # 新增元素 list1.update([10, 20, 30, 2]) # 新增多項(xiàng) list1.remove(3) # 刪除一個(gè)元素,若元素不存在則報(bào)錯(cuò) print(list1.discard(8)) # 刪除一個(gè)元素,若元素不存在則不做任何操作 print(len(list1)) # 計(jì)算集合中元素的個(gè)數(shù) print(list1.pop()) # 從集合中隨機(jī)彈出一個(gè)元素 list.clear() # 清空集合

集合的運(yùn)算

list1 = set([1, 3, 6, 5, 7, 9, 11, 3, 7]) list2 = set([2, 4, 6, 8, 3, 5]) print(list1, list2) # 交集 print(list1.intersection(list2)) print(list1 & list2) # 并集 print(list1.union(list2)) print(list1 | list2) # 差集 print(list1.difference(list2)) print(list1 - list2) # 對(duì)稱差集 print(list1.symmetric_difference(list2)) print(list1 ^ list2) # 是否為子集 是否為父集 list3 = set([9, 11]) print(list3.issubset(list1)) print(list1.issuperset(list3)) # 若兩個(gè)集合的交集為空 返回true list4 = set([20, 30]) print(list1.isdisjoint(list4)) print(list1.isdisjoint(list2))

文件(File)操作

在開(kāi)發(fā)中經(jīng)常會(huì)有讀寫(xiě)文件的需求,相關(guān)的代碼實(shí)現(xiàn)如下:

文件的打開(kāi)模式

Python的基礎(chǔ)知識(shí)點(diǎn)有什么

文件的讀操縱、寫(xiě)操作、追加操作、按行讀取文件

# read 直接讀文件全文 f = open('test', 'r', encoding='utf-8') # 文件句柄 data = f.read() print(data) # write 向文件中寫(xiě) f = open('test1', 'w', encoding='utf-8') f.write('我愛(ài)北京天安門, 天安門上太陽(yáng)升') # append 在文件***追加內(nèi)容 f = open('test1', 'a', encoding='utf-8') f.write('呀呼嘿') # loop 按行讀取文件 # high bigger 將文件作為迭代器 讀一行打印一行 內(nèi)存中只緩存一行 f = open('test', 'r', encoding='utf-8') count = 0 for l in f:  if count == 9:  print('----------')  count += 1  continue  print(l.strip())  count += 1 # low loop 將文件內(nèi)容全部讀取至內(nèi)存,效率低 f = open('Sonnet', 'r', encoding='utf-8') for index, line in enumerate(f.readlines()):  if index == 9:  print('------------')  continue  print(line.strip())

文件的函數(shù)

f = open('test', 'r', encoding='utf-8') # 文件句柄 讀模式打開(kāi)文件 print(f.tell()) # 獲取當(dāng)前光標(biāo)位置 print(f.readline()) print(f.readline()) print(f.tell()) print(f.readline()) f.seek(10) # 跳轉(zhuǎn)光標(biāo)到第10個(gè)字符 print(f.readline()) print(f.encoding) # 獲取文件編碼 print(f.fileno()) # i don't know what it is print(f.isatty()) # 判斷文件是否是tty終端 print(f.readable()) # 判斷文件是否是可讀 print(f.writable()) # 判斷文件是否是可寫(xiě) print(f.seekable()) # 判斷文件是否是可跳轉(zhuǎn)光標(biāo) (tty不可跳轉(zhuǎn) f.flush() # 當(dāng)用寫(xiě)模式打開(kāi)文件時(shí) 并不是寫(xiě)一句系統(tǒng)就會(huì)調(diào)用一次io 若需要及時(shí)刷新硬盤中的文件內(nèi)容 可以調(diào)用該函數(shù) f.close() # 關(guān)閉文件 print(f.closed) # 判斷文件是否關(guān)閉

文件的修改

# 文件的修改 直接修改文件本身比較困難 可以將修改寫(xiě)入另一個(gè)文件中 如有需求可以再寫(xiě)回文件本身 f = open('test', 'r', encoding='utf-8') f_new = open('test.bak', 'w', encoding='utf-8') for line in f:  if '我曾千萬(wàn)次夢(mèng)見(jiàn)' in line:  line = line.replace('我曾千萬(wàn)次夢(mèng)見(jiàn)', '我不想千萬(wàn)次夢(mèng)見(jiàn)')  f_new.writelines(line) f.close() f_new.close()

一個(gè)進(jìn)度條實(shí)例 用于理解flush函數(shù)的機(jī)制 該實(shí)例可以實(shí)現(xiàn)進(jìn)度條效果

import sys import time f = open('Sonnet1', 'w', encoding='utf-8') # 文件句柄 寫(xiě)模式打開(kāi)文件 會(huì)新建一個(gè)文件 若同名文件存在 則直接覆蓋 for i in range(10):  sys.stdout.write('#')  sys.stdout.flush()  time.sleep(0.2)

字符編碼轉(zhuǎn)換

字符編碼轉(zhuǎn)換最重要的一點(diǎn)就是,切記unicode是編碼之間的中轉(zhuǎn)站,若unicode不是目標(biāo)編碼或者原始編碼,那么任何兩個(gè)編碼相互轉(zhuǎn)換都需要經(jīng)過(guò)unicode(見(jiàn)下圖)。

需要注意的是,python的默認(rèn)編碼是ASCII,python3的默認(rèn)編碼是unicode。

在python3中encode,在轉(zhuǎn)碼的同時(shí)還會(huì)把string變成bytes類型,decode在解碼的同時(shí)還會(huì)把bytes變回string。

Python的基礎(chǔ)知識(shí)點(diǎn)有什么

函數(shù)

函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。python提供了許多內(nèi)建函數(shù)(如print());也可以自己創(chuàng)建函數(shù),即用戶自定義函數(shù)。

定義一個(gè)有自己想要功能的函數(shù),需要遵循以下規(guī)則:

  • 函數(shù)代碼塊以 def 關(guān)鍵詞開(kāi)頭,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào) ()。

  • 任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間,圓括號(hào)之間可以用于定義參數(shù)。

  • 函數(shù)的***行語(yǔ)句可以選擇性地使用文檔字符串——用于存放函數(shù)說(shuō)明。

  • 函數(shù)內(nèi)容以冒號(hào)起始,并且縮進(jìn)。

  • return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回 None。

待補(bǔ)充知識(shí):函數(shù)的參數(shù)、變量作用域、遞歸、高階函數(shù)。

感謝各位的閱讀,以上就是“Python的基礎(chǔ)知識(shí)點(diǎn)有什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Python的基礎(chǔ)知識(shí)點(diǎn)有什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI