• python细节2


    1 多继承的区别
    两种调用父类方法的格式
    01:父类名.父类方法(self)
    02:super().父类方法()
    多继承的情况下:
    01会多次调用父类方法
    02只调用一次父类方法
    多继承时,使用super方法,对父类的传参数,必须把参数全部传递,
    单继承时,使用super方法,只能传父类所需的方法

    2 各种名词
    类对象 : 存放类相关数据的一片空间
    实例对象: 存放实例相关数据的一片空间
    类属性:公共使用的属性
    实例属性:属于每个对象私有的属性
    实例方法:修改实例属性的,记录起来实例的空间地址 self,用实例名调用
    类方法: 修改类属性,记录的类的空间地址 cls,用类名调用
    静态方法: 不能修改任何属性,无参数


    3 property属性的类属性方式定义

    01:property属性:一种用起来像是使用实例属性一样的特殊属性,可以对应某个方法
    例:

    # ############### 定义 ###############
        class Foo:
        def func(self):
            pass
    
        # 定义property属性
        @property
        def prop(self):
            pass
    
        # ############### 调用 ###############
        foo_obj = Foo()
        foo_obj.func()  # 调用实例方法
        foo_obj.prop  # 调用property属性



    02:三种@property装饰器
    @property
    def 方法名(self):
    ...
    @方法名.setter
    def 方法名(self, value):
    ...
    @方法名.deleter
    def 方法名(self):
    ...

    调用:
    实例对象.price
    实例对象.price = 123
    del 实例对象.price


    03: property属性的第二种使用方式:类属性方式

    class Goods(object):
    
            def get_price(self):
                print("get price...")
                return 100
    
            def set_price(self, value):
                """必须两个参数"""
                print("set price...")
                print(value)
    
            def del_price(self):
                print("del price")
    
            price = property(get_price, set_price, del_price, "相关描述...")



    property方法中有个四个参数

    第一个参数是方法名,调用 对象.属性 时自动触发执行方法
    第二个参数是方法名,调用 对象.属性 = XXX 时自动触发执行方法
    第三个参数是方法名,调用 del 对象.属性 时自动触发执行方法
    第四个参数是字符串,调用 对象.属性.__doc__ ,此参数是该属性的描述信息

  • 相关阅读:
    spring 心跳更新
    eclipse 控制台输出太多,显示不完整
    String
    iOS 开发之如何生成SDK(2)-----生成framework
    如何防止自己的APP被Hook
    JavaAPI类
    Java面向对象三大特性—封装
    Java类与对象
    Java基础易错点1
    Java数组反转及二维数组
  • 原文地址:https://www.cnblogs.com/zc2018/p/8835114.html
Copyright © 2020-2023  润新知