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__())