python笔记#类和对象#P37-41

【Python教程】《零基础入门学习Python》_哔哩哔哩_bilibili

目录

【Python教程】《零基础入门学习Python》_哔哩哔哩_bilibili

什么是对象?

面向对象编程

self是什么?

魔法方法

公有和私有?

继承

多重继承

拾遗

组合

 类、类对象和实例对象

什么是绑定?


什么是对象?

对象是模拟真实世界把数据和代码封装在一起

对象 = 属性 + 方法

将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)

通过属性来设置属性

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值