欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

徹底搞懂Python一切皆對象!!!

系統 1915 0

一切皆對象

    • 前言
    • 簡述
      • Python的一等公民
      • type、object和class的關系
    • 總結


前言

猶記得當初學習Python的時候,對于 Python一切皆對象 很是懵逼,因為Python是面向對象的動態型語言,而在函數及高階函數的應用中,如若對于一切皆對象不是有很透徹的了解,基礎不是那么牢固的話,那么對于今后的Python進階而言,就有點拖后腿了,鑒于有朋友跟我聯系說,對于一切皆對象掌握的不是太牢固,那么, 木子的本篇博客就對此知識點進行概括總結。
如有不當之處,還望各位大佬指正。


簡述

長話短說,本文主要針對 Python一切皆對象 來討論,主要從以下兩個方面來論述:

Python的一等公民

type、object和class的關系

對于Python的常見內置類型,本篇就不做詳細闡述

內置類型:
None(全局只有一個)
數值類型:int、float、complax(復數)、bool
迭代類型
序列類型:list、bytes、range、tuple、str、array
映射類型:dict
集合類型:set、frozenset
上下文管理類型:with


Python的一等公民

何為一等公民?

  • 可以賦值給一個變量
  • 可以添加到集合對象中
  • 可以作為參數傳遞給函數
  • 可以當做函數的返回值

針對賦值給變量及添加到集合對象中,代碼予以展示:

            
              def func(name='Python'):
    print(f'the func is {name}')


class Test:
    def __init__(self):
        print(f'the class is {Test.__name__}')

obj_list = []
obj_list.append(func)
obj_list.append(Test)

for item in obj_list:							# 添加至集合對象中
    print(item())

            
          

那么上述例子,代碼運行結果如下:

            
              the func is Python								# 函數func運行,打印結果
None											# 函數func因沒有return,返回None
the class is Test								# 類Test運行,打印結果
<__main__.Test object at 0x0000024AB34526A0>	# 類Test運行,因沒有返回值,調用item(),返回類Test的對象

            
          

那么對于可以作為參數傳遞,以下代碼展示:

            
              def func(name='Python'):
    print(f'the func is {name}')

def decorator_func():
    print(f'the decorator_func is running')
    return func									# 返回函數func

my_test = decorator_func()
my_test('木子的三維世界')						# 傳遞參數,調用func

            
          

上述代碼運行結果如下:

            
              the decorator_func is running
the func is 木子的三維世界

            
          

type、object和class的關系

上面的代碼是演示何為Python的一等公民,那么對于為什么Python一切皆對象,想必有些道友還是有點不太懂,那么重點來了,了解完type、object和class后,木子覺得大家應該就可以徹底hold住了。
為便于理解,代碼予以展示:

            
              # 示例如下
a=2019
b="一切皆對象"
print(type(2019))
print(type(int))
print(type(b))
print(type(str))

class Student:
    pass

stu = Student()
print(type(stu))
print(type(Student))
print(int.__bases__)
print(str.__bases__)
print(Student.__bases__)
print(type.__bases__)
print(object.__bases__)
print(type(object))
print(type(type))

            
          

上面代碼,運行結果如下:

            
              
                									# 2019是由int這個類創建的實例

                
                  									# int這個類是由type這個類創建的實例

                  
                    									# 同上

                    
                      
                        						# stu是類Student創建的實例

                        
                          									# 類Student是由type這個類創建的實例
(
                          
                            ,)								# 類int的基類是object這個類
(
                            
                              ,)								# 同上
(
                              
                                ,)								# 同上
(
                                
                                  ,)								# 重點:類type的基類也是object這個基類
()												# 重點:類object沒有基類

                                  
                                    									# 難點:類object是由類type創建的實例

                                    
                                      									# 難點:類type是由type類自身創建的實例

                                    
                                  
                                
                              
                            
                          
                        
                      
                    
                  
                
              
            
          

對于上面的代碼,我們可以得出以下結論:

  1. 類type產生int實例,類int又有了2019這樣的實例
  2. 類object是最頂層的基類
  3. type也是一個類,同時也是一個對象

想必有些道友,看到上面的代碼,已經有點懵逼了。請看下圖:
徹底搞懂Python一切皆對象!!!_第1張圖片
對于上面圖片的 解讀如下

  1. object是一切對象:list、str、dict、tuple的基類,同時object是type的實例
  2. 類type是自身的實例,同時type也繼承自object類
  3. 由結論1和結論2,得出一切皆對象,同時一切皆繼承自object類

總結

Python一切皆對象對于函數式編程,以及Python各種高階用法有很大幫助。
如果哪位道友還不是很清楚,那么 多看看上面的圖片 ,沒事兒多看看,多看看不壞事兒。。。好了,話又開始多了

那么想必各位道友看到這里,已經對于Python一切皆對象有了比較清的認知,后續木子會更新一篇 關于Python元類的博客 ,今天也算是做個鋪墊。

備注:為何type類可以自身的實例,有興趣的道友可以了解下指針的概念。

時候不早了,睡覺睡覺,明天周一上班。。。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人在线免费看 | 人人澡人人澡 | 精品国产一区二区三区久久 | 天天做天天爱天天影视综合 | 欧美精品1区2区3区 色精品国产 | 日韩综合色 | 国产精品香蕉 | 精品免费国产一区二区三区 | 欧美日韩视频网站 | 最新日韩精品在线观看 | 亚洲综合激情七月婷婷 | 日本一二三区视频 | 成人免费看片视频 | 国产精品国产三级国产aⅴ原创 | 小明成人永久视频在线观看 | 精品久久网 | 古代级a毛片免费观看 | 欧美全黄 | 边摸边吃奶边做激情叫床 | 黄色小视频在线观看 | 青草青草久热精品视频在线网站 | 久久久成人精品 | 5252sese| 91视频网| 中文字幕日韩一区二区 | 欧美日韩在线免费观看 | 毛片网站在线 | 欧美午夜a级限制福利片 | 国产综合亚洲精品一区二 | www.欧美在线 | 成人欧美在线观看 | 欧美亚洲另类视频 | 男人天堂综合 | 夜夜爽99久久国产综合精品女不卡 | 日韩一区二区三区在线 | 超91视频| 五月婷婷丁香综合网 | 网站国产 | 高清久久久久 | 色视在线 | 香蕉视频在线观看免费 |