使用Python的時候感到心裡沒底,怎麼辦?

時間 2021-06-07 06:15:32

1樓:Kwong

申明和初始化,本來就是好的習慣,做了亦沒有壞處,事實上它亦容許你先申明及初始化,自己重看程式時,亦容易知道那些變數比較重要。

2樓:Henri Jambo

你了解C++,所以一定熟悉OOP。我覺得你只要牢記「Python一切皆物件」的特性,就容易轉變思路。

以變數宣告為例。

C裡面為什麼要宣告變數呢?因為編譯器需要根據宣告分配記憶體空間。所以在C語言裡面,是「先有變數再有內容」,變數對應了記憶體空間。

Python變數為什麼不需要宣告呢?因為Python是「先有內容(物件)再有變數」,變數本身只是個名字,沒有實質內涵。

在Python裡面,一切都是圍繞物件來進行的。變數名只是物件的乙個標籤而已,所以可以隨便貼。打個比方,人可以取名叫「阿寶」,小貓小狗也可以取名叫「阿寶」,花花草草你也可以用這個名字。

所以「阿寶」這個名字可以用在任何地方,無需特別用在一種資料型別上。

與C不同的是,在Python中當你寫下x=789時,首先會生成乙個值為789的整型物件,然後再貼上乙個標籤名字x。此後假如你又寫下x=7.89,那就又生成了7.

89這個浮點型物件,再把x標籤撕下來貼在它身上。

對應前面的比喻,789是某個人,7.89是花花草草。

先生孩子,再取名。先種花,再貼籤。

在Python裡面,等號(=)最好是理解為「取名」或「貼簽」,不要理解為傳統的「賦值」——儘管Python官方文件裡還是使用「賦值」這個術語。

這樣想,是不是就比較好理解了?

同樣的道理,既然是先有物件,再有名字(即變數),也就不存在變數需要初始化的問題啦。

Python為什麼要這麼做?我個人覺得這樣更符合生活常識,也就是更加物件化。

所以Python是站在普通人的思維模式而不是程式設計師的思維模式來設計的。這是它能廣泛應用的主要原因之一。

順便說一句,為了照顧老程式設計師的習慣,Python也可以宣告變數型別,只是執行時會被忽略掉。

如何使用Python的膠水語言特性?

可以這麼理解,Python是語言的操作介面。C語言等為了各種原因 主要是效能 有諸多對程式設計師不太不友好的性質,比如嚴格型別,函式沒有字面量,這些性質在編寫如作業系統,資料庫時是有益甚至必須的。Python則能讓程式設計師更多的思考演算法本身,比如資料庫或檔案的底層操作一般是C或C 寫的,使用Py...

Python中的print函式怎麼使用?

隨風潛夜 print 函式是最常見的乙個函式,用於輸出列印資料 print 在 Python3.x 是乙個函式,但在 Python2.x 版本不是乙個函式,只是乙個關鍵字。具體使用語法 print objects,sep end n file sys.stdout,flush False objec...

Python中BytesIO的使用場景,什麼時間應該使用BytesIO?

lxkaka 列舉一種場景,把資料寫入檔案再上傳到儲存服務比如阿里雲OSS,aws的S3,這個時候可以用ByetesIO來讀寫資料。 黃哥 Python 3 中字串是str型別,記憶體讀寫字串用StringIO。記憶體讀寫bytes 用BytesIO。bytes 和str 轉換用encode 和de...