python 高級編程與異步IO併發編程(一)python中一切皆對象

python中一切皆對象

動態語言和靜態語言:1.python中面對對象更完全, 在pythonclass,魔法函數,包括代碼和模塊均可以是對象,讓動態語言的特性獲得充分的體現python

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也是一個對象
複製代碼

關係:bash

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的區別。

相關文章
相關標籤/搜索