python中一切皆对象
函数和类也是对象,属于python的一等公民
什么是一等公民
1.赋值给一个变量
2.可以添加到集合对象中
3.可以作为参数传递给函数
4.可以当作函数的返回值
def ask(name="bobby"):
print(name)
my_func = ask
my_func("bobby")
运行结果
class Person:
def __init__(self):
print("bobby")
my_class = Person
my_class()
运行结果
def ask(name="bobby"):
print(name)
class Person:
def __init__(self):
print("bobby1")
obj_list = []
obj_list.append(ask)
obj_list.append(Person)
for item in obj_list:
print(item())
# 函数默认返回None
# 类默认返回类的对象
运行结果
# 装饰器的实现原理
def ask(name="bobby"):
print(name)
def decorator_func():
print("dec start")
return ask
my_ask = decorator_func()
my_ask("tom")
运行结果
type, object 和class的关系
type -> int -> 1
type -> class - > obj
object 是最顶层基类
type也是一个类,同时type也是一个对象
type, object 和class的关系图
python中的常见内置类型
对象的三个特征:身份 类型 值
None(全局只有一个)
数值:int float complex bool
迭代类型
序列类型:
list
bytes bytearray memoryview(二进制序列)
range
tuple
str
array
映射类型(dict)
集合
set
frozenset
上下文管理类型(with)
其他
模块类型,class和实例,函数类型,方法类型,代码类型,object对象,type类型,elipsis(省略号) 类型,elipsis(省略号) 类型、notimplemented类型