python文法學習之函數,類,模組

來源:互聯網
上載者:User

一:函數

  如果你需要在程式中重用代碼,---------定義函數。 def 函數名(參數)://todo

  如:

  輸出:

   也可以將函數的參數定義為預設參數,註:預設參數一般放參數的最後,如:

  

輸出:

二:類

類的定義應該是放在物件導向的標題裡,但是我們一般函數定義在類裡面,從這個範圍來說,我在這記錄了類。

類和對象是物件導向編程的兩個主要方面。類:建立一個新類型,而對象是這個類的執行個體,類使用class關鍵字建立。類的域和方法被列在一個縮排塊中。

注意:在python語言中,不管什麼類型的執行個體都被看做對象,如整數也被作為對象看待,它屬於int類,這和其他語言c++,java把整數純粹作為類型是不同的。

”域“的概念:

屬於一個對象或類的變數被稱為域,其實就是類裡面定義的變數

——類的變數和對象的變數

1類的變數:由一個類的所有對象(執行個體)共用使用,只有一個類變數的拷貝,所以當某個對象對類的變數做了改動的時候,這個改動會反映到所有其他的執行個體上。我理解為:其實它就是一個類的全域變數,類執行個體化後的對象都可以調用該變數。

2:對象的變數: 由類的每個對象/執行個體擁有。因此每個對象有自己對這個域的一份拷貝,即它們不是共用的,在同一個類的不同執行個體中,雖然對象的變數有相同的名稱,但是是互不相關的。我理解的是:不同的對象調用該變數,其值改變後互不影響,跟C#的文法一樣,我還因為不理解第一點糾結了半天 !

屬於類層級的變數,在使用它的時候一定要帶上類型名字 比如 MyClass.count

屬於每個對象層級的變數,在調用的時候一定要帶上self表明屬於當前對象。self.name

如:

輸出:

 

域(變數)和方法(函數)可以合稱為類的屬性

類的方法

類的方法普通的函數只有一個特別的區別——它們必須有一個額外的第一個參數名稱,但是在調用這個方法的時候你為這個參數賦值,Python會提供這個值。這個特別的變數指對象本身,按照慣例它的名稱是self。(類似於c#的this指標)

如:

__init__方法:屬於python語言的建構函式,一個類只能有一個__init__方法

__del__方法屬於python語言的解構函式,它在對象消逝的時候被調用。

當對象不再被使用時,__del__方法運行,但是很難保證這個方法究竟在 什麼時候 運行。如果你想要指明它的運行,你就得使用del語句

三:模組

模組:如果你想要在其他程式中重用很多函數--------定義模組。其實就是很多的類型,很多的方法集合在一個或多個檔案中,通過import ** 載入,類似於c#中的dll

模組基本上就是一個包含了所有你定義的函數和變數的檔案。為了在其他程式中重用模組,模組的檔案名稱必須.py為副檔名。

注意:每個模組都有自己的名稱__name__,__name__作為模組的內建屬性,它的作用就是檢測.py檔案的調用方式,然後根據__name__做出相應的處理。

模組有兩種調用方式:1:被import載入調用  2:直接使用

如果模組直接執行,__name__="__main__";  通常,此語句用於模組測試中使用。

例如:定義一模組名字為MyModule.py

直接運行輸出:

通過其他模組調用:

調用模組代碼:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.