快速掌握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 的基礎語法,有了這些基礎知識,你就應該不會為了看不懂程式碼而發愁了。