1. 程式人生 > 實用技巧 >【Python基礎程式設計210 ● 面向物件 ● __str__()方法】

【Python基礎程式設計210 ● 面向物件 ● __str__()方法】


---------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種方式】

【加群交流】