随笔分类 -  python 学习笔记

python 多态
摘要:python是弱类型语言,其最明显的特征是在使用变量时,无需为其指定具体的数据类型。这会导致一种情况,即同一变量可能会被先后赋值不同的类对象。 可以看到,a可以被先后赋值为xiaobai类和lilei类的对象,但这并不是多态。类的多态特性,还要满足以下2个前提条件: 1. 继承:多态一定是发生在子类 阅读全文
posted @ 2020-01-22 20:15 xiaobaizzZ 阅读(268) 评论(0) 推荐(0)
python super()函数:调用父类的构造方法
摘要:python子类会继承父类所有的类属性和类方法。严格来说,类的构造方法其实就是实例方法,因此,父类的构造方法,子类同样会继承。 我们知道,python是一门支持多继承的面向对象编程语言,如果子类继承的多个父类中包含同名的类实例方法,则子类对象在调用该方法时,会优先选择排在最前面的父类中的实例方法。显 阅读全文
posted @ 2020-01-22 19:52 xiaobaizzZ 阅读(2397) 评论(0) 推荐(1)
python 继承机制(子类化内置类型)
摘要:1. 如果想实现与某个内置类型具有类似行为的类时,最好的方法就是将这个内置类型子类化。 2. 内置类型子类化,其实就是自定义一个新类,使其继承有类似行为的内置类,通过重定义这个新类实现指定的功能。 其实很多类都是对python内置类的部分实现,它们作为子类的速度更快,代码更整洁。 对list进行子类 阅读全文
posted @ 2020-01-22 19:22 xiaobaizzZ 阅读(864) 评论(0) 推荐(0)
python 父类方法重写
摘要:如何调用被重写的方法 事实上,如果我们在子类中重写了从父类继承来的类方法,那么当在类的外部通过子类对象调用该方法时,python总是会执行子类中的重写的方法。 注意:使用类名调用其类方法,python不会为该方法的第一个self参数自动绑定值,因此采用这种调用方法,需要手动为self参数赋值。 阅读全文
posted @ 2020-01-22 19:01 xiaobaizzZ 阅读(1139) 评论(0) 推荐(0)
python 继承机制
摘要:继承机制经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成员(属性和方法),但又不想将现有类代码复制给新类。也就是说,通过继承这种机制,可以实现类的重复使用。 关于python的多继承 使用多继承经常需要面临的问题是,多个父类中包含同名的类方法。对于这种情况,python的 阅读全文
posted @ 2020-01-22 18:45 xiaobaizzZ 阅读(966) 评论(0) 推荐(0)
python 封装底层实现原理
摘要:事实上,python封装特性的实现纯属“投机取巧”,之所以类对象无法直接调用私有方法和属性,是因为底层实现时,python偷偷改变了它们的名称。 python在底层实现时,将它们的名称都偷偷改成了"_类名__属性(方法)名"的格式 总结: python类中所有的属性和方法,都是公有的,如果希望pyt 阅读全文
posted @ 2020-01-22 00:41 xiaobaizzZ 阅读(829) 评论(0) 推荐(0)
python 类的封装
摘要:封装:即在设计类时,刻意的将一些属性和方法隐藏在类的内部,这样将无法直接以"类对象.属性名"(或者"类对象.方法名(参数)")的形式调用这些属性(或方法),而只能用未隐藏的方法间接的操作这些隐藏的属性和方法。 1. 封装机制保证了类内部数据结构的完整性,很好的避免了外部对内部数据的影响,提高了程序的 阅读全文
posted @ 2020-01-22 00:31 xiaobaizzZ 阅读(1870) 评论(0) 推荐(0)
python @property装饰器
摘要:1.通过@property装饰器,可以直接通过方法名来访问方法,不需要在方法名后添加一对“()”小括号。 上面程序中,使用@property修饰了say()方法,这就使得该方法变成了name属性的getter方法。 2.使用setter装饰器,可以为say方法添加setter方法。 3.使用dele 阅读全文
posted @ 2020-01-22 00:07 xiaobaizzZ 阅读(173) 评论(0) 推荐(0)
python property()函数:定义属性
摘要:正常情况下,类包含的属性应该是隐藏的,只允许通过类提供的方法来间接的实现对类属性的访问和操作。 python中提供了property()函数,可以实现在不破坏类封装原则的前提下,让开发者依旧使用“类对象.属性”的方式操作类中的属性。 阅读全文
posted @ 2020-01-21 23:40 xiaobaizzZ 阅读(435) 评论(0) 推荐(0)
python描述符
摘要:本质上看,描述符是一个类,只不过它定义了另一个类中属性的访问方式。换句话说,一个类可以将属性管理全权委托给描述符类。 描述符类基于以下三种特殊方法,换句话说,这三种方法组成了描述符协议: 1. \__set__(self, obj, type = None): 在设置属性时,将调用这一方法。 2. 阅读全文
posted @ 2020-01-21 23:18 xiaobaizzZ 阅读(172) 评论(0) 推荐(0)
python实例方法、静态方法和类方法
摘要:1. 类方法:采用@classmethod修饰的方法 2. 静态方法:采用@staticmethod修饰的方法 3. 实例方法:不用任何修饰的方法 1. python类实例方法 通常情况下,在类中定义的方法默认都是实例方法。类的构造方法理论上也属于实例方法,只不过比较特殊。 2. python类方法 阅读全文
posted @ 2020-01-20 17:03 xiaobaizzZ 阅读(227) 评论(0) 推荐(0)