py知识(每日更新) 7.12

Posted lyoko1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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__ :

以上是关于py知识(每日更新) 7.12的主要内容,如果未能解决你的问题,请参考以下文章

py知识(每日更新) 8.2

py知识(每日更新) 7.1

py知识(每日更新) 7.2

py知识(每日更新) 8.5

py知识(每日更新) 6.13

py知识(每日更新) 7.31