1. 程式人生 > 實用技巧 >【Python基礎程式設計209 ● 面向物件 ● 給物件新增屬性的3種方式】

【Python基礎程式設計209 ● 面向物件 ● 給物件新增屬性的3種方式】


---------Python基礎程式設計---------

Author : AI菌


【內容講解】

給物件新增屬性的3種方式:
1. 在 __init__方法中,通過self新增屬性(推薦的方式)
2. 在其它方法種, 通過self新增屬性 (不推薦,呼叫可能會出錯)
3. 在類的外面, 通過物件新增屬性 (不推薦,呼叫可能會出錯)

【程式碼實現】

class Student:
    """
    給物件新增屬性的3種方式:
        1. 在 __init__方法中,通過self新增屬性(推薦的方式)
        2. 在其它方法種, 通過self新增屬性 (不推薦,呼叫可能會出錯)
        3. 在類的外面, 通過物件新增屬性 (不推薦,呼叫可能會出錯)
    
""" # 方式一: 在 __init__方法中,通過self新增屬性(推薦的方式) def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender # 方式二: 在其它方法種, 通過self新增屬性 (不推薦) def study(self, course): # 第一次呼叫study()方法時,會給物件新增屬性weight,並賦值為200 self.weight = 200 print
(f"學習{course}") # 訪問屬性stu_num print(self.stu_num) s1 = Student("robot", 20, "") print(s1.name) print(s1.age) print(s1.gender) # 調研study()方法 # 第一次呼叫study()方法時,會給物件新增屬性weight,並賦值為200 # 呼叫study()方法會報錯: 'Student' object has no attribute 'stu_num' # 在方式三沒有執行之前,s1物件還沒有stu_num屬性 # 此時, 在study()方法中列印該屬性,就會報錯
s1.study("AI") # study()方法中,添加了屬性weight,不會報錯 print(s1.weight) # 方式三: 在類的外面, 通過物件新增屬性 (不推薦) # 第一次給s1.stu_num賦值,就是在給物件s1新增屬性stu_num,並賦值 s1.stu_num = 1001 print(s1.stu_num)

【往期精彩】

▷【Python基礎程式設計196 ● 讀取檔案的4種方式】
▷【Python基礎程式設計197 ● 讀取檔案的4種方式】
▷【Python基礎程式設計198 ● 讀取檔案的4種方式】
▷【Python基礎程式設計199 ● Python怎麼讀/寫很大的檔案】
▷【Python基礎程式設計200 ● 讀取檔案的4種方式】
▷【Python基礎程式設計201 ● 讀取檔案的4種方式】
▷【Python基礎程式設計202 ● 讀取檔案的4種方式】
▷【Python基礎程式設計203 ● 讀取檔案的4種方式】

【加群交流】