第十次Python作业打卡

    科技2022-08-19  126

    十四 类与对象 14.1对象 = 属性 + 方法 对象是类的实例。换句话说,类主要定义对象的结构,然后我们以类为模板创建对象。类不但包含方法定义,而且还包含所有实例共享的数据。 1 封装:信息隐蔽技术 我们可以使用关键字 class 定义 Python 类,关键字后面紧跟类的名称、分号和类的实现。

    class Turtle: # Python中的类名约定以大写字母开头 """关于类的一个简单例子""" # 属性 color = 'green' weight = 10 legs = 4 shell = True mouth = '大嘴' # 方法 def climb(self): print('我正在很努力的向前爬...') def run(self): print('我正在飞快的向前跑...') def bite(self): print('咬死你咬死你!!') def eat(self): print('有得吃,真满足...') def sleep(self): print('困了,睡了,晚安,zzz') tt = Turtle() print(tt) # <__main__.Turtle object at 0x0000007C32D67F98> print(type(tt)) # <class '__main__.Turtle'> print(tt.__class__) # <class '__main__.Turtle'> print(tt.__class__.__name__) # Turtle tt.climb() # 我正在很努力的向前爬... tt.run() # 我正在飞快的向前跑... tt.bite() # 咬死你咬死你!! # Python类也是对象。它们是type的实例 print(type(Turtle)) # <class 'type'>

    2 继承:子类自动共享父类之间数据和方法的机制 3 多态:不同对象对同一方法响应不同的行动

    14.2 self Python的self相当于c++的this指针 14.3 魔法方法__init__ init__是一个构造函数,这个函数默认是没有参数的,如果我们需要给类的实例的属性初始化一些值,这是就要用到__init__函数了。 魔法方法__new __new__的主要作用是当我们需要继承一些不可变的class时(如str,tuple,int),提供给你一个自定义这些类的实例化的过程。

    class Ball: def __init__(self, name): self.name = name def kick(self): print("我叫%s,该死的,谁踢我..." % self.name) a = Ball("球A") b = Ball("球B") c = Ball("球C") a.kick() # 我叫球A,该死的,谁踢我... b.kick() # 我叫球B,该死的,谁踢我...
    Processed: 0.008, SQL: 9