python 高级编程与异步IO并发编程(一)python中一切皆对象

1,330 阅读1分钟

python中一切皆对象

动态语言和静态语言:1.python中面对对象更彻底, 在pythonclass,魔法函数,包括代码和模块都可以是对象,让动态语言的特性得到充分的体现

2.函数和类也是对象,属于一等公民:

  • 赋值给一个变量
  • 可以添加到集合对象中
  • 可以作为参数传递给参数
  • 可以当做函数的返回值
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类型

本章小节:本章介绍了什么是对象,python中一切皆对象,类和函数是一等公民,type和object,class的区别。