码迷,mamicode.com
首页 > 其他好文 > 详细

py知识(每日更新) 7.12

时间:2019-07-17 16:48:32      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:反射   repr   比较   app   函数名   ora   set   字典   实例化   

反射

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

字符串: 字符串类型
对象: 实例,类,当前文件(模块),其他模块
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

标签:反射   repr   比较   app   函数名   ora   set   字典   实例化   

原文地址:https://www.cnblogs.com/lyoko1996/p/11201834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!