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

python 模塊

系統 1610 0

?

要先導入模塊,才能調用用模塊中定義的函數(才會有該模塊的代碼提示)。

            
              import
            
              模塊   
            
              #
            
            
              導入一個模塊
            
            
              import
            
              模塊1,模塊2,....    
            
              #
            
            
              同時導入多個模塊
            
            
              from
            
              模塊  
            
              import
            
              部分   
            
              #
            
            
              導入一部分
            
            
              from
            
             模塊  
            
              import
            
              部分1,部分2,部分3....     
            
              #
            
            
              導入一個模塊的多個部分
            
            
              from
            
              模塊  
            
              import
            
              *    
            
              #
            
            
              導入整個模塊
            
          

以上的? 模塊 ?均可換為? 模塊.子模塊 ?,表示只導入子模塊|從子模塊中導入。

?

導入之后就可以通過? ? 模塊名.方法名() ?? 調用模塊中的函數了。

?

不管導入一個相同模塊多少次,只會在第一次時導入。

比如寫十行? import math ?,只有第一個? import math ?會導入math模塊,避免了重復導入模塊。

?

?

?

dir()函數

            
              import
            
            
               math

            
            
              print
            
            
              (dir(math))  


            
            
              """
            
            
              
dir(模塊名)    #列出該模塊所有的成員變量、方法。需要先導入對應的模塊。以字符串列表的形式返回。dir()是python的內置函數。

            
            
              """
            
          

?

?

?

一個python文件(.py)就是一個python模塊,一個模塊中可以定義多個類,定義多個方法,可以有可執行代碼。

新建一個python文件:module1.py

            
              print
            
            (
            
              "
            
            
              module start
            
            
              "
            
            )  
            
              #
            
            
              可執行代碼
            
            
              class
            
             Test:  
            
              #
            
            
              定義類
            
            
              def
            
            
               out(self):
        
            
            
              print
            
            (
            
              "
            
            
              test class
            
            
              "
            
            
              )


            
            
              print
            
            (
            
              "
            
            
              module1 running
            
            
              "
            
            )  
            
              #
            
            
              可執行代碼
            
            
              def
            
             module1_test():  
            
              #
            
            
              定義方法
            
            
              print
            
            (
            
              "
            
            
              test function
            
            
              "
            
            
              )


            
            
              print
            
            (
            
              "
            
            
              module1 over
            
            
              "
            
            )  
            
              #
            
            
              可執行代碼
            
          

一個模塊有2個默認屬性:__main__,__name__

?

__main__

__main__即這個模塊中所有的可執行代碼。

導入一個模塊時,會自動執行這個模塊的__main__部分:

新建python文件module2.py

            
              import
            
             module1
          

執行module2.py,結果如下:

            
              module start
module1 running
module1 over
            
          

導入一個模塊時,會自動執行這個模塊的__main__部分(所有可執行代碼)。

所以我們常常在__main__中做一些這個模塊的初始化操作,習慣把這些代碼放在文件開頭。

?

?

__name__

如果是在模塊的類中、函數中,__name__表示當前執行的python文件的文件名(不帶后綴.py)。

如果是在模塊的可執行代碼(__main__)中,__name__表示當前的模塊(.py文件)是主動執行的,還是被調用的。如果__name__的值是"__main__則表示當前模塊(.py文件)是主動執行的。

?

module1.py如下:

            
              if
            
            
              __name__
            
            ==
            
              "
            
            
              __main__
            
            
              "
            
            
              :
    
            
            
              print
            
            (
            
              "
            
            
              主動調用
            
            
              "
            
            
              )

            
            
              else
            
            
              :
    
            
            
              print
            
            (
            
              "
            
            
              被動調用
            
            
              "
            
            
              )


            
            
              class
            
             Test:  
            
              #
            
            
              定義類
            
            
              def
            
            
               out(self):
        
            
            
              print
            
            (
            
              "
            
            
              test class
            
            
              "
            
            
              )


            
            
              def
            
             module1_test():  
            
              #
            
            
              定義方法
            
            
              print
            
            (
            
              __name__
            
            )  
            
              #
            
            
              在模塊的類、方法中使用
            
            
              print
            
            (
            
              "
            
            
              test function
            
            
              "
            
            )
          

?

module2.py如下:

            
              import
            
            
               module1
module1.module1_test()
            
          

?

執行module1.py:

            主動調用
          

?

執行module2.py:

            
              被動調用 
module1
test function
            
          

?

有時候我們需要在主動執行時做一種操作,在被調用時做不同的操作,就可以這樣來實現:

            
              if
            
            
              __name__
            
            ==
            
              "
            
            
              __main__
            
            
              "
            
            
              :
    
            
            
              #
            
            
              主動調用時做的操作
            
            
              else
            
            
              :
    
            
            
              #
            
            
              被動調用時做的操作
            
          

?

?

?

?

包相當于一個命名空間,各個包中的標識符是獨立的,互不干擾。

一個包中可以有多個模塊(.py文件),也可以有多個子包。

?

一個包(包括子包),都要有__init__.py文件,這是這個包的索引文件(目錄文件),相當于書的索引、目錄,標識這本書(這個模塊)有哪些章節(python文件|模塊)。

__init__.py文件有一個屬性__all__,即這個包的索引、目錄,我們? import ?包 ?或者? from ?包? import * ?時(包可以看做一個大模塊),python解釋器會找到這個包的__init__.py中的__all__屬性,根據其屬性值導入這個包中的模塊。

?

比如包school中有3個py文件(模塊):student.py、teacher.py、leader.py。

__init__.py文件:

            
              __all__
            
            =[
            
              "
            
            
              student
            
            
              "
            
            ,
            
              "
            
            
              teacher
            
            
              "
            
            ]   
            
              #
            
            
              字符串列表,py文件名(不帶后綴)
            
          

我們? import school ?或? from school import * ?導入整個包時,只會導入student、teacher這2個py文件,不會全部導入。

?

一般__init__.py文件是空的,這時默認__all__的值是包下所有py文件(除去__init__.py)的字符串列表,所以會全部導入包下的py文件(模塊)。

?

習慣把包中的入口文件(我們要執行的py文件,程序入口,相當于c/c++、java中的main()函數),命名為__main__.py

?

?

?

import的具體用法

1、不使用包

  • 導入整個模塊(py文件):? import py文件名 ? 或? from py文件名 import * ?
  • 導入py文件中的某個類:? from py文件名 import 類名 ?

調用函數:? py文件名.函數名(參數表) ?

?

?

2、使用包,不使用子模塊

  • 導入整個模塊(py文件):? import 包名.py文件名? 或? from 包名.py文件名?import?*?
  • 導入py文件中的某個類:? from 包名.py文件名?import?類名?

調用函數:? 包名.py文件名.函數名(參數表) ?

使用子包時,以? 包名.子包 ?作為包名即可。

?


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产免费观看视频 | 日本一区二区不卡 | 日韩电影一区 | 午夜国产精品视频在线 | 久久久久久全国免费观看 | 欧美黑人ⅹxxx片 | 在线三级电影 | 亚洲成人免费视频在线观看 | 一区二区日韩精品 | 日韩欧美一区二区三区不卡在线 | 日本精品久久无码影院 | 91精品国产综合久久国产大片 | 一级毛片在线完整免费观看 | 97在线观看视频 | 色综合网站在线 | 久操青青 | 久久婷婷色一区二区三区 | 久久久久久久蜜桃 | 黄色片免费在线 | 欧美专区在线视频 | 国产成人一级 | 国产亚洲精品久久久久久久软件 | 国产区视频在线观看 | 欧美激情一区二区三区中文字幕 | 国产夜色福利院在线观看免费 | 国产成久久免费精品AV片天堂 | 久久久久久免费一区二区三区 | 国产美女小视频 | 啪啪免费视频网站 | 手机成人在线视频 | 免费网站观看 | 波多野结衣在线网址 | 蜜臀国产 | 欧美一级片在线播放 | 国产91精品黄网在线观看 | 91网站免费观看 | 色播视频在线播放 | 天天噜噜揉揉狠狠夜夜 | 欧美精品在线免费观看 | 色九九| 日本高清免费不卡毛片 |