Python基础 7 类&继承类
1、类的初始化传参__init__默认执行的方法
class Chinese:
def __init__(self, name, birth, region):
self.name = name # self.name = '吴枫'
self.birth = birth # self.birth = '广东'
self.region = region # self.region = '深圳'
def born(self):
print(self.name + '出生在' + self.birth)
def live(self):
print(self.name + '居住在' + self.region)
person = Chinese('吴枫','广东','深圳') # 传入初始化方法的参数
person.born()
person.live()
2、没有__init__(self):时的类内方法传参
class Chinese:
def born(self, name, birthplace):
print(name + '出生在' + birthplace)
def live(self, name, region):
print(name + '居住在' + region)
person = Chinese()
person.born('吴枫','广东')
person.live('吴枫','深圳')
3、子类重写父类的方法
# 阅读代码后运行
class Chinese:
def land_area(self,area):
print('我们居住的地方,陆地面积是%d万平方公里左右。' % area)
class Cantonese(Chinese):
# 为参数 area 设置默认值。
def land_area(self, area = 960, rate = 0.0188):
Chinese.land_area(self, area * rate)
yewen = Cantonese()
yewen.land_area()
# 两个参数都有默认值,所以可以这么调用。
4、通过__str__(self)方法打印str内return中的内容
class Book:
def __init__(self, name, author, comment, state = 0):
self.name = name
self.author = author
self.comment = comment
self.state = state
def __str__(self):
if self.state == 0:
status = '未借出'
else:
status = '已借出'
return '名称:《%s》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status)
book1 = Book('像自由一样美丽','林达','你要用光明来定义黑暗,用黑暗来定义光明')
# 传入参数,创建实例对象
print(book1)
# 直接打印对象即可,不能写成print(book1.__str__())


