美文网首页
python 百天学习之第八天 修饰器、对象学习

python 百天学习之第八天 修饰器、对象学习

作者: 仰天望海 | 来源:发表于2020-05-27 19:29 被阅读0次

练习1: 类和修饰器

## 单下划线开始的成员变量叫做保护变量,只有类对象和子类对象自己能够访问到这些变量;
## 双下划线开始为私有成员,只有类对象自己能访问,连子类对象也不能访问这个数据;

class Person(object):
    def __init__(self,name,age):
        self._name=name
        self._age=age

    @property
    def name(self):
        return self._name
    @property
    def age(self):
        return self._age

    @age.setter
    def age(self,age):
        self._age=age

    def play(self):
        if self._age<16:
            print('%s正在玩王者荣耀.' % self._name)
        else:
            print('%s正在云顶之弈.' % self._name)

def main():
    person=Person('王宝强',32)
    person.play()
    person.age=15
    person.play()
    #person.name='吴京' ## 未使用修改器,不能访问私有保护变量;


if __name__=='__main__':
    main()

练习2:定义一个类描述数字时钟:

from time import sleep
import sys

class clock():
    def __init__(self,second,minute,hour):
        self.second=0
        self.minute=0
        self.hour=0

    def run(self):
        self.second+=1
        if self.second==60:
            self.second=0
            self.minute+=1
            if self.minute==60:
                self.minute=0
                self.hour+=1
                if self.hour==24:
                    self.hour=0
    def show(self):
        return '%02d:%02d:%02d' % (self.hour,self.minute,self.second)


def main():
    time_clock=clock(23,59,58)
    while True:
        ##实现原地刷新
        print('\r'+ time_clock.show(),end='')
        sys.stdout.flush()
        sleep(1)
        time_clock.run()
if __name__=='__main__':
    main()

相关文章

网友评论

      本文标题:python 百天学习之第八天 修饰器、对象学习

      本文链接:https://www.haomeiwen.com/subject/yeegahtx.html