Python中的类
俗话说,物以类聚,人以群分,类是什么,类就是一组相同属性的集合。下面来结合人,探讨Python中类和人类的关系。
首先,我们定义一个人的类,如下:
class People(object):
'''创建人类'''
def __init__(self,name,age,sex,blood_type):
"""人具有姓名,年龄,性别,血型的属性"""
self.name = name
self.age = age
self.sex = sex
self.blood_type = blood_type
def walk(self):
'''创建走路方法'''
print("%s can walk!!!!" %self.name)
def speak(self):
"""创建说话的属性"""
print("%s can speak!!" %self.name)
def learn(self):
'''创建学习的属性'''
print("%s is learning." %self.name)
p1 = People("wupeiqi",18,"女","0")
p2 = People("Alex",8,"男","AB")
上面代码中,我们定义了一个人的类,人都有姓名,年龄,性别,血型等属性,还有说话,学习,走路等方法;并且我们创建了两个人,一男一女,"Wupeiqi"和"Alex",下面我们来一步一步完善这两个人。
我们知道,男人有喉结,女人会生小孩,这两个是男,女的区别,也是各自独有的属性。那么给"wupeiqi"和"Alex"添加这种属性。如下:
class People(object):
'''创建人类'''
def __init__(self,name,age,sex,blood_type):
"""人具有姓名,年龄,性别,血型的属性"""
self.name = name
self.age = age
self.sex = sex
self.blood_type = blood_type
def walk(self):
'''创建走路方法'''
print("%s can walk!!!!" %self.name)
def speak(self):
"""创建说话的属性"""
print("%s can speak!!" %self.name)
def learn(self):
'''创建学习的属性'''
print("%s is learning." %self.name)
p1 = People("wupeiqi",18,"女","0")
p2 = People("Alex",8,"男","AB")
p1.birth = "Woman can give birth to a baby" #给女人添加生孩子功能
p2.adam = "Man has Adam's apple" #给男人添加喉结属性
我们知道,男人和女人都有学习的功能,我们人类自己有人会说英语,有人会说日语,总之各种各样的语言,这些是个体所具有的属性,比如"wupeiqi"会说日语,"Alex"会说英语,我们来实现一下:
class People(object):
'''创建人类'''
def __init__(self,name,age,sex,blood_type):
"""人具有姓名,年龄,性别,血型的属性"""
self.name = name
self.age = age
self.sex = sex
self.blood_type = blood_type
def walk(self):
'''创建走路方法'''
print("%s can walk!!!!" %self.name)
def speak(self):
"""创建说话的属性"""
print("%s can speak!!" %self.name)
def learn(self):
'''创建学习的属性'''
print("%s is learning." %self.name)
p1 = People("wupeiqi",18,"女","0")
p2 = People("Alex",8,"男","AB")
p1.birth = "Woman can give birth to a baby" #给女人添加生孩子功能
p2.adam = "Man has Adam's apple" #给男人添加喉结属性
p1.language1 = "Japanese"
p2.language2 = "English"
print("{0} is can speak {1}".format(p1.name,p1.language1)) #打印wupeiqi说的语言
print("{0} is can speak {1}".format(p2.name,p2.language2)) #打印ALex说的语言
print("%s is can speak %s" %(p1.name,p1.language2)) #看wupeiqi是否会说英语
print("%s is can speak %s" %(p2.name,p2.language1)) #查看Alex是否会说日语 主要是看语言能力能否交叉
运行结果如下:
wupeiqi is can speak Japanese
Alex is can speak English
Traceback (most recent call last):
File "/home/zhuzhu/第七天/人类.py", line 33, in <module>
print("%s is can speak %s"