第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

章節(jié)
問(wèn)答
課簽
筆記
評(píng)論
占位
占位

Python實(shí)例屬性的初始化

通過(guò)前面的方式定義一個(gè)實(shí)例的屬性非常方便,但也有一些問(wèn)題。
首先,如果定義屬性的過(guò)程中使用了不同的屬性名字,比如性別,前者使用了
sex,后者使用了gender,那對(duì)于一個(gè)類(lèi)的不同實(shí)例,存儲(chǔ)一個(gè)信息就用了兩個(gè)不同的屬性,在后面將會(huì)難以維護(hù)。
其次,名字、性別、年齡等等,都是人的基本信息,在抽象一個(gè)類(lèi)的時(shí)候,理應(yīng)包含這些信息。
在定義 Person 類(lèi)時(shí),可以為Person類(lèi)添加一個(gè)特殊的__init__()方法,當(dāng)創(chuàng)建實(shí)例時(shí),__init__()方法被自動(dòng)調(diào)用,我們就能在此為每個(gè)實(shí)例都統(tǒng)一加上以下屬性:

class Person(object):
    def __init__(self, name, sex, age):
        self.name = name
        self.sex = sex
        self.age = age

需要注意的是,__init__() 方法的第一個(gè)參數(shù)必須是 self(也可以用別的名字,但建議使用習(xí)慣用法),后續(xù)參數(shù)則可以自由指定,和定義函數(shù)沒(méi)有任何區(qū)別。
定義類(lèi)后,就可以相應(yīng)的實(shí)例化對(duì)象了,需要注意的是,在實(shí)例化的時(shí)候,需要提供除
self以外的所有參數(shù)。

xiaoming = Person('Xiao Ming', 'boy', 13)
xiaohong = Person('Xiao Hong', 'girl', 14)

而訪(fǎng)問(wèn)這些屬性的方式和之前的一樣:

print(xiaohong.name)
print(xiaohong.sex)
print(xiaohong.age)
# 但當(dāng)訪(fǎng)問(wèn)不存在的屬性時(shí),依然會(huì)報(bào)錯(cuò)
print(xiaohong.birth)

要特別注意的是,初學(xué)者定義__init__()方法常常忘記了 self 參數(shù),比如如下的定義:

class Person(object):
    def __init__(name, sex, age):
        pass

這種情況下,如果還是如下實(shí)例化,將會(huì)報(bào)錯(cuò)。

xiaoming = Person('Xiao Ming', 'boy', 13)
xiaohong = Person('Xiao Hong', 'girl', 14)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() takes 3 positional arguments but 4 were given

任務(wù)

請(qǐng)定義一個(gè)動(dòng)物類(lèi),抽象出名字、年齡兩個(gè)屬性,并實(shí)例化兩個(gè)實(shí)例dog, cat。

?不會(huì)了怎么辦

參考答案:

class Animal(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

dog = Animal('wangwang', 1)
cat = Animal('mimi', 3)
print(dog.name)
print(dog.age)
print(cat.name)
print(cat.age)
||

提問(wèn)題

寫(xiě)筆記

公開(kāi)筆記
提交
||

請(qǐng)驗(yàn)證,完成請(qǐng)求

由于請(qǐng)求次數(shù)過(guò)多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求

加群二維碼

打開(kāi)微信掃碼自動(dòng)綁定

您還未綁定服務(wù)號(hào)

綁定后可得到

  • · 粉絲專(zhuān)屬優(yōu)惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問(wèn)題答復(fù)提醒
  • · 賬號(hào)支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書(shū)簽

邀請(qǐng)您關(guān)注公眾號(hào)
關(guān)注后,及時(shí)獲悉本課程動(dòng)態(tài)

舉報(bào)

0/150
提交
取消
全部 精華 我要發(fā)布
全部 我要發(fā)布
最熱 最新
只看我的

手記推薦

更多

本次提問(wèn)將花費(fèi)2個(gè)積分

你的積分不足,無(wú)法發(fā)表

為什么扣積分?

本次提問(wèn)將花費(fèi)2個(gè)積分

繼續(xù)發(fā)表請(qǐng)點(diǎn)擊 "確定"

為什么扣積分?