91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

初學者怎么使用Python

發布時間:2021-10-29 16:33:19 來源:億速云 閱讀:140 作者:iii 欄目:編程語言

這篇文章主要講解了“初學者怎么使用Python”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“初學者怎么使用Python”吧!

1. 使用列表時

列表允許存儲各種數據類型的元素且不限制大小,盡管這種靈活性使列表成為收集數據的首選,但實際上仍有一些使用和不使用它的最佳實踐情景。

在存儲具有相同性質(數據類型和含義)的元素時,應該使用列表。Python不會通過編程來限制這一點,在列表中存儲單個自然項讓開發人員的工作更輕松。開發人員很容易預測將來列表會有哪些項,并確信地編寫腳本。

思考下面的物品列表。這個列表并不包含單一性質的項目,開發人員無法確定該列表是否包含房屋部件、尺寸或其他東西,因此他應該分別處理不同的項目:

list_of_things = ['Door', 2,'Window', True, [2.3, 1.4])]

思考下面的水果列表和分數列表。從前兩個項目中,你很容易推斷出第一個列表會始終包含水果名字,而第二個列表始終包含分數值:

list_of_fruits = ['apple','orange', 'pear', 'cherry', 'banana'] list_of_scores = [80, 98, 50, 55, 100]

在存儲具有不同含義或數據類型的項目時,使用元組更合適。元組不具備在不創建新對象的情況下,提供存儲不受限項目的靈活性(因為元組是不可變的)。

2. 迭代連接字符串時

在Python中所有東西都是對象,包括可變和不可變對象。每當更新分配給對象的值時,不可變對象需創建新對象,而可變對象則不需要。

假設你想在一個字符串中生成整個字母表。因為字符串是不可變對象,所以每當使用“+”運算符連接字符串值時,就會得到一個新的對象。

one_line_alphabet = '' for letter_index in range(ord('a'), ord('z')):     one_line_alphabet +=chr(letter_index)

Join函數是連接字符串的首選方法。使用join函數可將計算時間縮短約3倍。在我做的一項測試中,迭代連接100萬個字符串值耗時0.135秒,若使用join( )函數則只需0.044秒。

small_letters = [chr(i) for i inrange(ord('a'), ord('z')+1)] single_line_alphabet = ''.join(small_letters)

因此,需要連接字符串列表時請使用join函數。若使用join函數連接幾個字符串,這并不會直觀感受到性能的差異。若要連接幾個字符串值,請使用.format而不是“+”運算符。例如:

name = 'John' surname = 'Doe' full_name = '{name} {surname}'.format(namename=name, surnamesurname=surname)

3. 讀寫文件時

若要使用Python讀寫文件,首先需要用內置的open函數打開文件。打開文件,讀取或寫入內容以及關閉文件。進行操作時,可能會出現一些問題,比如忘記關閉文件和異常處理失敗。

操作完成后,若忘記關閉文件會導致后續問題。比如,如果在寫入文件后忘記關閉該文件,那么寫入操作將不會保存至文件中,并且在文件仍然保持打開狀態時,你將保留在計算機中分配的資源。如果在處理文件時,沒有手動處理異常和錯誤,那么文件將保持打開的狀態。

f = open(file='file.txt', mode='r') lines = f.readlines() ... f.close()

建議在打開文件時使用with關鍵字。with是一個上下文管理器,它能封裝代碼并能確保自動處理異常。比如,當你讀寫文件時,with-body中可能出現的任何故障,都能自動處理異常,并且始終保持該文件關閉。

with open('file.txt') as f:     read_data = f.read()     ...

如果跳過with時,你需要自己處理一切,關閉文件和異常處理都得親自處理。with會讓你的生活更輕松,讓情況得以控制。

4. 跳過生成器時

在許多情景中,你需要生成一個值列表,稍后將在腳本中使用這些值。比如,你需要為前100個數字生成所有3個數字的組合。

combinations = [] value = 100 for i in range(value):     for j in range(value):         for k in range(value):             combinations.append((i, j,k))

當執行的命令完成時,列表組合將包含1M元組,每個元組有3個整型值。這些值將保存在內存中,直到被刪除。使用sys模塊中的getobjectsize函數檢查對象大小,結果為8.29MB。

不再使用列表存儲值并將它們全部保存至內存,可以創建一個生成器,每當你使用它時,將生成1個組合。這能減少內存消耗并提高運行速度。

defgenerate_combinations_of_three(value):     for i in range(value):         for j in range(value):             for k in range(value):                 yield (i, j, k)gen =generate_combinations_of_three(100)next(gen) # yields (0, 0, 0) next(gen) # yileds (0, 0, 1) ...

所以,盡可能多地使用生成器。時刻牢記內存容量是有限的,并盡可能優化內存使用。請使用生成器,特別是在開發可伸縮的解決方案時。

5. 使用推導式時

有一些程序員,他任何用Python編寫代碼都遵循Python之禪(The Zen of Python)的準則。如果是使用Python的新手,可能會傾向于夸大Python之禪的某些觀點,而在其他方面避重就輕。

這一點在逐漸了解推導式時最容易注意到——你傾向于翻譯推導式中的“每一個”循環。假設你有一個三維的數字矩陣,你很可能會想將其平面化。

matrix = [[[ 1, 2, 3 ],            [ 4, 5, 6 ],            [ 7, 8, 9 ]],           [[ 10, 20, 30 ],            [ 40, 50, 60 ],            [ 70, 80, 90 ]]]

使用列表推導式,平面化過程如下:

flatten_list = [x for sub_matrix inmatrix for row in sub_matrix for                     x in row]

使用循環,平面化過程如下:

flatten_list = [] for sub_matrix in matrix:     for row in sub_matrix:         for x in row:             flatten_list.append(x)

感謝各位的閱讀,以上就是“初學者怎么使用Python”的內容了,經過本文的學習后,相信大家對初學者怎么使用Python這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林西县| 苏尼特左旗| 革吉县| 夹江县| 长子县| 蓬溪县| 淮南市| 璧山县| 永济市| 孝昌县| 穆棱市| 进贤县| 灵宝市| 孟连| 虎林市| 北海市| 高雄市| 利津县| 五莲县| 伊金霍洛旗| 修水县| 宜春市| 清丰县| 穆棱市| 柳河县| 津南区| 安平县| 平利县| 施甸县| 内黄县| 阜平县| 壤塘县| 通化县| 石泉县| 霍林郭勒市| 隆尧县| 甘肃省| 阿瓦提县| 漳平市| 大竹县| 车致|