Python基础 7 类&继承类

作者: gavin 分类: Python,Python基础 发布时间: 2020-10-19 18:20

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注