Python編程中的常見錯誤

來源:互聯網
上載者:User

單元素的元組:

(1)並不是元組,實際上是在多處重載了小括弧,比如在運算式裡,小括弧的作用是分組,(1,)這個才是單元素的元組。

模組:

import module 是將模組的名字設定為一個隱含的名字空間變數。

from module import method 匯入到當前的全部命名空間裡。

對於第二種方法並不是只有一個函數被匯入,,其實整個模組也已經被匯入。但只是那個函數的引用被儲存了起來,所以 from...import 這種文法並不能帶來效能上的差異,也沒節省什麼記憶體。

能不能重複匯入一個模組,

有兩個模組a,b 都匯入了c模組,當a匯入到b時,c是不是被匯入了兩次?

Python有匯入模組和載入模組之分,一個模組可以被匯入多次,但只會被載入一次,當python碰到一個已經被載入模組又被匯入時,他會跳過載入過程,所以無需擔心額外消耗記憶體的問題。

Package:

Package是Python在檔案系統上發布一組模組的一種方式,使用常見的點分方式來訪問子模組,每個目錄下都有一個__init__.py檔案,這告訴python解譯器這些目錄下的檔案應該被當作是一個子package而不是普通檔案。一般情況下都是空檔案,也可以做一些初始化的工作,對於點分訪問的方式可以使用別名來少打幾個字母啦。。

可改變性:

“傳引用”或“傳值”通常不適用於Python,取而代之的是對象是可變的還是不可變的 。可改變性指的是一個對象的值是否改變。整數和字串以及元組是不可變的,列表、字典、類、類執行個體等是可變的。

對方法調用的影響:如果調用的函數有任何可變對象,通常是直接修改的,直接修改其資料結構而不是返回一個修改後對象的拷貝,

複製對象和可變性:

不可變對象是被複製的,可變對象是複製了一個對他們的引用。

複製又分為淺拷貝和深拷貝,淺拷貝只複製了一個對可變對象的引用。

建構函式VS 初始化程式:

python和傳統OOP語言的一個區別是它沒有顯式的建構函式的概念,python裡沒有new關鍵字因為我們並沒有真的執行個體化你的類。python會在建立執行個體並調用初始化程式。__init__方法。

執行個體的屬性是可以動態分配的,即使是在類定義已經完成甚至建立執行個體以後,可以在運行時動態建立屬性。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.