py知识(每日更新) 7.12

反射

通过字符串去操作一个对象

字符串: 字符串类型
对象: 实例,类,当前文件(模块),其他模块
hasattr()  # 
getattr()  # 
setattr()  # 增
delattr()  # 删


函数VS方法

1.通过函数名可以大致判断
print(func)
print(obj.func)
2.通过模块types模块去验证
from types import FunctionType
from types import MethodType
print(isinstance(func, FunctionType))    # 判断是否是函数
print(isinstance(func, MethodType))     #判断是否是方法
# 类名调用fnuc就是一个函数 对象调用func就是方法

# 函数与方法
# 函数: 全部都是显性传参
# 方法: 存在隐性传参

特殊的上下方法

__len__:一个对象之所以可以使用len()函数 根本原因是这个对象从属于的类中有__len__双下方法

__hash_: hash(obj) 会调用obj这个对象的类(基类)的__hash__方法

__str__;__repr__: 展示功能一样, str优先级比repr高 print(obj)直接打印静态属性

__call__ : 对象+() 触发__call__

__eq__ : 对一个类的两个对象进行比较 触发__eq__

__del__ : 析构方法

__new__ : 构造方法

# 创造并返回一个新对象

# 单例模式
# 一个类只能实例化一个对象,无论实例化多少次,内存中都只有一个对象,都只使用这一个对象

__item__ : 对对象进行类似字典的操作

__enter__,__exit__ :

转载于:https://www.cnblogs.com/lyoko1996/p/11201834.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值