注:所有代碼部分均為連續(xù)的,“結(jié)果”為在jupyter分步運(yùn)行結(jié)果
代碼部分
class human: #類(lèi) 定義
#類(lèi)的屬性
name = 'someone'
age = 100
#類(lèi)的方法
def my_name(self):
print('my name is',self.name)
def my_age(self):
print('my age is',self.age)
def eat(self):
print('eat')
def think(self,a,b):
print(a+b)
person1 = human() #創(chuàng)建一個(gè)person1的對(duì)象
person1.name
結(jié)果:
'someone'
person1.name = 'zhangsan' #修改
print(person1.name)
結(jié)果:
zhangsan
person1.eat()
結(jié)果
eat
person1.my_age()
結(jié)果
my age is 100
person1.think(10,23)
結(jié)果
33
class human: #類(lèi) 定義
def __init__(self,name,age):#初始化泌射,創(chuàng)建對(duì)象時(shí)會(huì)執(zhí)行
self.name = name #由類(lèi)的外部傳進(jìn)來(lái)
self.age = age #由類(lèi)的外部傳進(jìn)來(lái)
#類(lèi)的方法
def my_name(self):
print('my name is',self.name)
def my_age(self):
print('my age is',self.age)
def eat(self):
print('eat')
def think(self,a,b):
print(a+b)
person2 = human()#沒(méi)有傳入?yún)?shù)煮甥,所以報(bào)錯(cuò)
結(jié)果
TypeError Traceback (most recent call last)
<ipython-input-10-f36437239922> in <module>()
----> 1 person2 = human()
TypeError: init() missing 2 required positional arguments: 'name' and 'age'
person2 = human('xiaoming',10)#正確創(chuàng)建方法
person2.name
結(jié)果
'xiaoming'
person2.my_age()
結(jié)果
my age is 10
class human: #類(lèi)
def __init__(self,name='someone',age=10):#創(chuàng)建對(duì)象時(shí)會(huì)執(zhí)行
self.name = name
self.age = age
#類(lèi)的方法
def my_name(self):
print('my name is',self.name)
def my_age(self):
print('my age is',self.age)
def eat(self):
print('eat')
def think(self,a,b):
print(a+b)
person3 = human()#因?yàn)轭?lèi)定義時(shí)候默認(rèn)定義了初始化參數(shù)的值,所以正確創(chuàng)建了對(duì)象
person3.my_name()
結(jié)果
my name is someone
person3 = human(name='xiaohong',age=20) #正確創(chuàng)建對(duì)象
person3.my_name()
結(jié)果
my name is xiaohong //因?yàn)閯?chuàng)建對(duì)象時(shí)候賦值了全跨,所以name()改變了