博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python细节2
阅读量:5142 次
发布时间:2019-06-13

本文共 1387 字,大约阅读时间需要 4 分钟。

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__ ,此参数是该属性的描述信息

转载于:https://www.cnblogs.com/zc2018/p/8835114.html

你可能感兴趣的文章
洛谷 P2212 [USACO14MAR]浇地Watering the Fields
查看>>
umask函数
查看>>
PHP高级笔记汇总
查看>>
cxGrid用法-最新
查看>>
变量的范围 namespace
查看>>
队列-生产者消费者模式
查看>>
学习笔记23_AspMVC项目
查看>>
webstrom提示不见了
查看>>
Linux 永久挂载镜像文件和制作yum源
查看>>
相似算法-编辑距离
查看>>
hql date比较
查看>>
前端如何判断音视频是否播放完毕
查看>>
[转]vi 常用命令行
查看>>
2011-4-12学习总结
查看>>
【Finish】Python Day 9
查看>>
css3实现漂亮的按钮链接
查看>>
最大矩形面积
查看>>
[python基础] python 2与python 3的区别,一个关于对象的未知的坑
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
Enterprise Library 加密应用程序块的设计
查看>>