【Python教程】《零基础入门学习Python》_哔哩哔哩_bilibili
目录
【Python教程】《零基础入门学习Python》_哔哩哔哩_bilibili
什么是对象?
对象是模拟真实世界把数据和代码封装在一起
对象 = 属性 + 方法
将Turtle赋值给一个变量(如果只输入一个Turtle,python的垃圾收集机制会把没有被引用的内容回收),调用其中的方法
Object Oriented (面向对象)的特征
封装:信息隐蔽技术。比如列表对象方法:
继承:子类自动共享父类之间数据和方法的机制
我们创建的Mylist这个类继承了属于list的方法和属性
多态:同一个父类的不同子类对父类方法进行了重写,动态绑定
面向对象编程
self是什么?
self是当一个对象的方法被调用的时候,对象会将自身作为第一个参数传给self参数,python就知道是哪个对象再调用方法了
魔法方法
__init__(self, apram1, param2, ……) 构造方法
实例化一个对象时,这个方法会在对象被创建的时候自动调用
公有和私有?
在Python中定义私有变量只需要在变量名或函数名前加上" _ "两个下划线,那么这个函数或变量就会变成私有的,无法调用。
怎么解决呢?
私有化其实是Python动了手脚,把双下划线改了名,改成了_类名_变量名
继承
多重继承
拾遗
组合
定义一个类,水池,水池里要有乌龟和鱼:
类、类对象和实例对象
如果属性名和方法名相同,属性会覆盖方法
不要试图在一个类里面定义所有能想到的特性和方法,应该合理利用继承和组合机制来进行扩展;
用不同的词性命名,如属性名用名词,方法名用动词。
什么是绑定?
python严格要求方法需要有实例才能被调用,这种限制就是python所谓的绑定概念。
为什么删除了CC这个类,dd.printXY还能出现结果
类好比图纸,实例对象是根据图纸建出来的房子,图纸虽然毁了,房子却还在
一些相关的BIF
issubclass(class, classinfo)
1.一个类被认为是其自身的子类
2.classinfo可以是类对象组成的元组,只要class与其中任何一个候选类的子类,则返回True。
isinstance(object, classinfo)
检查实例对象是否属于一个类
1.如果第一个参数不是对象,永远返回False
2.如果第二个参数不是类或由类对象组成的元组,会抛出一个TypeError异常
hasattr(object, name)
测试一个对象是否有指定的属性
getattr(object, name,[, default])
返回对象指定的属性值,指定属性不存在,会把default参数打出来
setattr(object, name, value)
设置对象中指定属性的值,如果指定属性不存在,会新建一个新的属性并赋值
delattr(object, name)
删除对象中指定的属性,如果属性不存在,就会抛出异常
property(fget=None, fset=None, fdel=None, doc= None)
通过属性来设置属性