Python之基礎知識總結二

用戶輸入

  1. 函數input()讓程序暫停運行,等待用戶輸入一些文本。獲取用戶輸入後,Python可將其存儲在一個變量中,以方便使用。使用函數input()時,Python將用戶輸入解讀爲字符串
    message = input("Tell me something, and I will repeat it back to you: ")
    print(message)
    >>>Tell me something, and I will repeat it back to you: Hello everyone!Hello everyone!
    
    prompt = "If you tell us who you are, we can personalize the messages you see."
    prompt += "\nWhat is your first name? "
    name = input(prompt)
    
  2. 函數int(),它讓Python將輸入視爲數值。函數int()將數字的字符串表示轉換爲數值表示

函數

  1. 調用函數時,Python必須將函數調用中的每個實參都關聯到函數定義中的一個形參。爲此,最簡單的關聯方式是基於實參的順序。這種關聯方式被稱爲位置實參。
    def describe_pet(animal_type, pet_name):
    """顯示寵物的信息"""
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
    describe_pet('hamster', 'harry')
    describe_pet('dog', 'willie')
    
  2. 關鍵字實參是傳遞給函數的名稱—值對。你直接在實參中將名稱和值關聯起來了,因此向函數傳遞實參時不會混淆(不會得到名爲Hamster的harry這樣的結果)。關鍵字實參讓你無需考慮函數調用中的實參順序,還清楚地指出了函數調用中各個值的用途。
    def describe_pet(animal_type, pet_name):
    """顯示寵物的信息"""
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
    describe_pet(animal_type='hamster', pet_name='harry')
    
  3. 默認值
    def describe_pet(pet_name, animal_type='dog'):
    """顯示寵物的信息"""
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
    describe_pet(pet_name='willie')
    
  4. 返回值
    函數並非總是直接顯示輸出,相反,它可以處理一些數據,並返回一個或一組值。函數返回的值被稱爲返回值。在函數中,可使用return語句將值返回到調用函數的代碼行。
  5. 傳遞列表
    def greet_users(names):
    """向列表中的每位用戶都發出簡單的問候"""
    for name in names:
        msg = "Hello, " + name.title() + "!"
        print(msg)
    usernames = ['hannah', 'ty', 'margot']
    greet_users(usernames)
    

  1. 根據類來創建對象被稱爲實例化
    定義了一個名爲Dog的類。根據約定,在Python中,首字母大寫的名稱指的是類。這個類定義中的括號是空的,因爲我們要從空白創建這個類。在處,我們編寫了一個文檔字符串,對這個類的功能作了描述。
```python
class Dog():
 """一次模擬小狗的簡單嘗試"""
def __init__(self, name, age):
    """初始化屬性name和age"""
    self.name = name
    self.age = age
```
  1. 方法__init__()
    類中的函數稱爲方法;每當你根據Dog類創建新實例時,Python都會自動運行它;上述方法__init__()定義成了包含三個形參:self、name和age。在這個方法的定義中,形參self必不可少,還必須位於其他形參的前面。
    形參self的作用
    Python調用這個__init__()方法來創建Dog實例時,將自動傳入實參self。每個與類相關聯的方法調用都自動傳遞實參self,它是一個指向實例本身的引用,讓實例能夠訪問類中的屬性和方法
    self.name = name獲取存儲在形參name中的值,並將其存儲到變量name中,然後該變量被關聯到當前創建的實例
  2. 類的調用
    class Dog():
    --snip--
    my_dog = Dog('willie', 6)
    my_dog.sit()
    my_dog.roll_over()
    
  3. 繼承
    創建子類的實例時,Python首先需要完成的任務是給父類的所有屬性賦值。爲此,子類的方法__init__()需要父類施以援手。
    (1)創建子類時,父類必須包含在當前文件中,且位於子類前面
    (2)我們定義了子類ElectricCar。定義子類時,必須在括號內指定父類的名稱
    (3)方法__init__()接受創建Car實例所需的信息
    (4)super()是一個特殊函數,幫助Python將父類和子類關聯起來。這行代碼讓Python調用ElectricCar的父類的方法__init__(),讓ElectricCar實例包含父類的所有屬性。父類也稱爲超類(superclass),名稱super因此而得名
  4. 重寫父類的方法
    有一個名爲fill_gas_tank()的方法.Python將忽略Car類中的方法fill_gas_tank(),轉而運行上述代碼。使用繼承時,可讓子類保留從父類那裏繼承而來的精華,並剔除不需要的糟粕。

文件和異常

with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents.rstrip())

Python方法rstrip()刪除(剝除)字符串末尾的空白

with open('text_files/filename.txt') as file_object:

逐行讀取

filename = 'pi_digits.txt'
with open(filename) as file_object:
    for line in file_object:
        print(line)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章