1 Star 0 Fork 3

tonyklose1984 / LearningPython

forked from celaraze / learning-python 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
22.获取对象信息.py 1003 Bytes
一键复制 编辑 原始数据 按行查看 历史
# 判断一个变量的基本类型
import types
print(type(123))
# 判断一个变量指向函数或者类
print(type(abs))
# 判断一个对象是否是函数
def check():
pass
# 判断对象是否是函数
print(type(check) == types.FunctionType)
# 判断对象是否是内建函数
print(type(abs) == types.BuiltinFunctionType)
# 判断对象是否是匿名函数
print(type(lambda x: x) == types.LambdaType)
# 判断对象是否是生成器
print(type((x for x in range(10))) == types.GeneratorType)
# TODO 总是优先使用isinstance()做判断
# 获得一个对象的所有属性和方法,通过dir(),返回的是list
print(dir(abs))
# 如果自己写的类需要一个len方法,可以这样写
class Dog(object):
def __len__(self):
return 100
# 然后这样调用
dog = Dog()
print(len(dog))
# 判断对象是否有某个属性
print(hasattr(dog, 'length'))
# 对象设置属性
print(setattr(dog, 'name', 'Peppy'))
# 获取对象属性
print(getattr(dog, 'name'))
Python
1
https://gitee.com/tonyklose1984/LearningPython.git
git@gitee.com:tonyklose1984/LearningPython.git
tonyklose1984
LearningPython
LearningPython
master

搜索帮助