zoukankan      html  css  js  c++  java
  • Python基础-day11-继承和动态设置属性

    继承:

    • Object:python中所有类的基类
    • 通过继承获得父类的属性和方法,提高代码复用率
    class PhoneV1():
        def call_fuc(self):
            print("打电话功能")
    
        def message_fuc(self):
            print("发短信功能")
    
    
    class PhoneV2(PhoneV1):
        def pay(self):
            print("支付功能")
    
    
    class PhoneV3(PhoneV2):
        def sing(self):
            print("播放音乐功能")
    
    
    oppo = PhoneV3();
    oppo.message_fuc()
    oppo.sing()

    被重写的方法,再调用父类的同名方法:

    • 父类名.方法名(self)
    • Super().方法名()
      class PhoneV1():
          def call_fuc(self):
              print("打电话功能")
      
          def message_fuc(self):
              print("发短信功能")
      
      
      class PhoneV2(PhoneV1):
          def pay(self):
              print("支付功能")
      
      
      class PhoneV3(PhoneV2):
          def sing(self):
              print("播放音乐功能")
          def call_fuc(self):
              print("打视频电话后,再调用普通电话功能")
              super().call_fuc()

    动态属性设置:

    # getattr 动态获取属性
    # 第一个参数:类名称
    # 第二个参数:属性值
    # 第三个参数:如果属性不存在,则返回该值
    class TestData():
        url="http://baidu.com"
        method="post"
    print(TestData.method)
    name=getattr(TestData,"url","None")
    print(name)

     # setattr:动态设置属性

    # 动态设置属性:setattr
    title=["name","age","gender"]
    data=["jack","28",""]
    for i in range(len(title)):
        setattr(TestData,title[i],data[i])
    print(TestData.name)
    print(TestData.age)
    print(TestData.gender)
  • 相关阅读:
    Thinkphp3.2 cms之角色开发
    说几个你知道的设计模式?
    9种实现点击一个链接弹出一个小窗口的代码
    分享自己作为一个程序员的找工作经历
    网页设置锚点
    博客园网摘地址
    PHP面试总结
    简单的10秒倒计时
    PHP测试题目
    关键字搜索内容总结
  • 原文地址:https://www.cnblogs.com/majinjin/p/15002116.html
Copyright © 2011-2022 走看看