python中一切皆对象
动态语言和静态语言:1.python中面对对象更彻底, 在 python 中 class ,魔法函数,包括代码和模块都可以是对象,让动态语言的特性得到充分的体现
2.函数和类也是对象,属于一等公民:
Python资源共享群:626017123
- 赋值给一个变量
- 可以添加到集合对象中
- 可以作为参数传递给参数
- 可以当做函数的返回值
def ask(name="bobby") print(name) class Person: def__init__(self): print("bobby") def print_type(item): print(type(item)) def decorator_func(): print ("dec start") return ask() my_ask=decorator_func() my_ask("tom") obj_list = [] obj_list.append(ask) obj_list.append(Person) for item in obj_list: print(item # my_func = ask # my_func("bobby") # my_class=Person # my_class() # 说明函数和类都是对象,直接赋值给变量 复制代码
type,object和class之间的关系
a=1 b='abc' print(type(1)) print(type(int)) print(type(b)) print(type(str)) #type->int->1 # type->class->obj #object是最顶层基类 #type是一个类,同时type也是一个对象 复制代码
关系:
python中内置类型
对象的三个特征:身份证,类型, 值 None(全局只有一个) 数值:int,float,complex,bool 迭代类型 序列类型:list,bytes,bytearry,memoryview(二进制序列),range,tuple,str,array 映射 集合:set,forzenset, 上下文管理类型(with) 其他:模块类型,class和实例,函数类型,方法类型,代码类型,object对象,type类型,ellipsis类型,notimplemented类型 复制代码