快速掌握Python基礎語法(下)
- 2019 年 10 月 7 日
- 筆記
接著上一篇,這篇繼續來講 Python 的基礎語法,如果你還沒有看過之前的那一篇文章,可以看一下。
字典
字典是一系列鍵-值對,鍵-值對之間用 冒號 : 連接,用花括弧 { } 表示字典。
# 字典 alien_0 = {'color': 'green', 'points': 5} print(alien_0['color']) # green
給字典增添新鍵-值對,可以用如下方法:將值賦給字典名+方括弧括起來新鍵名:
# 給字典增添新鍵值對 alien_0['y_position'] = 0 print(alien_0['y_position']) # 0
遍歷字典時,鍵-值對的獲取順序是不可測的。
輸入和 while 循環
用 input( ) 函數獲取輸入。
# 輸入 message = input("Tell me something, and I will repeat it back to you:") print(message)
while 循環。
# while 循環 current_number = 1 while current_number <= 5: print(current_number) current_number += 1 # 1 # 2 # 3 # 4 # 5
可用 break 直接退出循環,用 continue 進行下一次循環。
函數
用關鍵字 def 告訴 Python 你要去定義一個函數。用三個引號括起去給函數注釋,說明該函數的作用。
# 函數 def greet(username): """簡單問候語""" print('hello,' + username.title() + '!') greet('superfeng') # hello,Superfeng!
向函數傳遞實參時,可以按順序傳遞,關鍵字傳遞(注意必須正確指定函數定義的形參名),默認值。
在 Python 中,向函數傳遞的實參都會被函數直接永久地修改,如果想在函數用實參的副本進行操作,就要用到向函數傳遞列表切片的方法,這樣在傳遞實參之前就會就列表進行備份。
傳遞任意數量的實參,就要用 星號* ,會把任意數量的實參都封裝在一個元組中。
# 傳遞任意數量的實參 def make_pizza(*toppings): """列印任意數量的實參""" print(toppings) make_pizza('mushrooms', 'green papers', 'extra cheese') # ('mushrooms', 'green papers', 'extra cheese')
傳遞任意數量的關鍵字實參,要用到 兩個星號** ,這會將傳入的關鍵字實參封裝到一個字典中。
導入函數模組的方法:import + 要導入模組的名稱。調用導入模組中的函數時,要使用 句點. 訪問。在導入模組時,可以用 as 給模組起別名。
# 調用模組中的函數 import pizza pizza.make_pizza('mushrooms', 'green papers', 'extra cheese') # ('mushrooms', 'green papers', 'extra cheese')
類
在 Python 中,用關鍵字 class 創建類,按照約定首字母大寫的名稱指的是類,應該用駝峰命名法。類中的函數稱為方法。特殊方法 _init(self, name1, name2)_ 可以看做向類傳遞參數的一個介面,其中通過形參 self 向類中其它方法傳遞參數。創建和調用一個類如下方法:
# 創建一個類 class Dog: """一次模擬小狗的簡單嘗試""" def __init__(self, name, age): """初始化屬性 name 和 age""" self.name = name self.age = age def sit(self): """模擬小狗被命令時蹲下""" print(self.name.title() + ' is now sitting.') def roll_over(self): """模擬小狗被命令時打滾""" print(self.name.title() + ' rolled over!') # 調用一個類 my_dog = Dog('willie', '6') print(my_dog.name.title() + ' say hello!') my_dog.roll_over() # Willie say hello! # Willie rolled over!
可以通過三種方式修改屬性的值:直接通過實例進行修改,通過方法進行設置,通過方法進行遞增。
繼承
在繼承時,子類的括弧中必須包括父類的名字。讓子類繼承父類的屬性時,要用到 super( ) 函數,父類也稱為超類(superclass)。
# 繼承 class SpecialDog(Dog): """子類:特殊的狗""" def __init__(self, name, age): # 用 super() 函數繼承父類屬性 super().__init__(name, age) his_dog = SpecialDog('tom', 6) his_dog.roll_over() # Tom rolled over!
如果在子類中重新寫了一個與父類同名的方法,創建實例時會自動忽略父類。
文件
讀取文件:關鍵字 with 可以在不需要訪問文件之後將其關閉。文件路徑可以用相對路徑或絕對路徑進行查找。
# 讀取文件 file_path = 'C:\Users\Desktop\data.txt' with open(file_path) as file_object: contents = file_object.read() print(contents)
存儲數據
可以將 Python 文件的數據存儲到 .json 類型文件中(.json 原本是為了 JavaScript 開發的,但後來被更多的語言所使用),這樣不會變更文件的數據類型。
# 存儲數據 import json numbers = [1, 2, 3, 4, 5] with open('num.json', 'w') as n_obj: json.dump(numbers, n_obj)
至此,你已經學會了 Python 的基礎語法,有了這些基礎知識,你就應該不會為了看不懂程式碼而發愁了。