动态语言和静态语言:1.python中面对对象更完全, 在python
中class
,魔法函数,包括代码和模块均可以是对象,让动态语言的特性获得充分的体现python
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()
# 说明函数和类都是对象,直接赋值给变量
复制代码
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也是一个对象
复制代码
关系:bash
对象的三个特征:身份证,类型, 值
None(全局只有一个)
数值:int,float,complex,bool
迭代类型
序列类型:list,bytes,bytearry,memoryview(二进制序列),range,tuple,str,array
映射
集合:set,forzenset,
上下文管理类型(with)
其余:模块类型,class和实例,函数类型,方法类型,代码类型,object对象,type类型,ellipsis类型,notimplemented类型
复制代码