動態語言和靜態語言: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類型
複製代碼