欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 欧美日韩精选 | 波多野结衣全部系列在线观看 | 亚洲综合色网 | 一区二区三区亚洲 | 奇米吧 | 97国产精品视频人人做人人爱 | 天天操天天干天天操 | 久久这里只有精品国产99 | 精品AV综合一区二区三区 | 美女视频一区 | 91免费在线看| 日本不卡一区二区三区在线观看 | 亚洲人一区 | 国语一级毛片 | 日本三级香港三级人妇99 | 91精品久久久久久久久久 | 欧美高清性色生活片免费观看 | 精东视频污 | 国内精品视频在线观看 | 久久蜜桃av一区二区天堂 | 国产一区二区久久 | 欧美黄色大片免费观看 | 精品久久久久久久久久久久久久 | 极品白嫩无套视频在线播放张悠雨 | 日韩www | 日本高清www午色夜黄 | 亚洲另类天天更新影院在线观看 | 污污视频免费网站 | 亚洲国产日韩在线观看 | 日韩黄色网页 | 日本xxww视频免费 | 欧美a级毛毛片免费视频试播 | 污版视频在线观看 | 黄免费在线看 | 激情五月婷婷 | 国产精品无码2021在线观看 | 一道本不卡一区 | 国产国产精品人在线观看 | 福利视频在线观看www. | 亚洲精品日韩精品一区 | 欧美日韩精品一区二区三区视频 |