快速掌握Python基礎語法(下)

supfeng發表於2019-02-23

接著上一篇,這篇繼續來講 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 的基礎語法,有了這些基礎知識,你就應該不會為了看不懂程式碼而發愁了。

 

 

ps.如果想要開啟新世界的大門,可以掃描下方的二維碼,關注微信公眾號「SuperFeng」。

 

相關文章