文章目录
- 前言
- 一.内置方法
- 二.魔法方法
- 总结
前言
首先问一下大家,python是什么???这里简单说一下,python是一个高层次的结合了解释性、编译性、互动和面向对象的脚本语音。本章就简单了解一下python中的魔法方法和内置方法。(自己总结笔记)
一、内置方法(为了方便和美观,省略了前后的—双下划线)
- hasattr
判断前面这个类有没有后面这个属性
例:星月:这个对象有没有性别这个属
hasattra(xingyue , 'sex')
- getattr
获取有属性的属性值,有属性则返回,没有报错
例:星月这个对象有没有名字这个属性,有的话返回控制台,没有报错
特别注意:如果定义了getattr,而没有任何代码(使用pass),则所有不存在的属性都是None不会报错可以使用super().getattr()方法解决.
getattr(xingyue,'name')
- setattr
设置属性,无则增加,有则更改
例:设置对象,'给对象设置属性名','给对象设置属性值'
seattr(xingyue, 'sex','women')
- delattr
删除属性
例:传对象,属性名字
- issubclass
判断前面这个类是不是后面这个类的子类如果是返回T否则F
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print(self.name, '正在吃饭')
class Hunan(Person):
pass
class Hunan1:
pass
ayan = Person('星月', 18)
print(issubclass(Hunan1, Person))
- isinstance
1.判断前面这个类是不是属于后面这个类的实例如果是返回T否则F
isinstance(星月,Person)
2.
判断前面数据是不是属于后面书记类型
isinstance(1,int)
isinstance(1.1,(int(float)))----判断是不是其中之一,是T否F
二、魔法方法(为了方便和美观,省略了前后的—双下划线)
魔法方法是python内置方法,不需要主动调用,存在的目的是为了给python的解释器进行调用,几乎每个魔法方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应魔法方法,可以理解为重写这些python的内置函数。
功能:创建实例对象, 在内存中为对象分配空间,返回对象的引用 (new方法在init调用之前调用的)
- str
调用时机:
1.打印对象的时候自动调用str,打印输出的是str的返回值
2.数据类型转换时自动调用str
应用场景:
1.打印对象的时候,输出一些属性信息
2.需要对对象转换字符串类型的时候
注意点:方法必须返回一个字符串,只有self一个参数.
- repr
与str方法类型
注意点:如果在程序没有找到str这个方法就会调用repe简单说就是str的备胎**,**方法必须返回一个字符串,只有self一个参数.
- del
调用时机:
1.通过del关键字删除对象自动调用
2.当对象在内存注销时自动调用
应用场景:
当程序运行结束,还需要做某个事情的时候就会将该代码写在这个方法里面.
-
单例模式:
必须要用到new方法
概念: 单例模式又是设计模式就是为了优化代码---例:类始终只有一个实例对象,不会出现多个
使用方法: 如果我们只需要类存在一个实例对象的时候
作用: 节约空间
应用场景:
1.音乐播放
2.打印机
总结
提示:
此篇文章为自己总结部分内置方法和魔法方法笔记。