2017-08-29 72 views
0

從C++背景來看,在某些情況下,我對理解Python有點困難。例如,在使用Tkinter一個GUI應用程序,你可能有:瞭解Python語法/表示法

button = Button (master, option=value, ...) 

我知道代碼的作用(創建一個按鈕對象),但我想弄清楚的具體細節。我在猜測button正在成爲一個指向Button對象的指針,而Button (master, option=value, ...)是對構造函數的調用,但是很難看出,因爲我習慣使用顯式數據類型和new運算符。儘管我的猜測完全可以解決。

+0

您是否嘗試過通過任何python書籍的前幾章或通過python教程工作?你的問題沒有什麼特別的tkinter。 –

回答

0

我通過一些指南和文件,就對這個這個問題之前,但只是通過這個答案here跌跌撞撞:

w = tk.Button(parent, option=value, ...) 

「要在頂層窗口或命名父框架創建一個按鈕

構造函數返回新的Button小部件。「

因此,它似乎只是一個普通的對象(非指針),構造函數返回一個Button對象。

+2

Python中的所有名稱都是對象的引用(指針),因此您在問題中的描述更加正確。 – cco

+0

那麼Python中沒有非引用類型? –

+2

某些類型是不可變的,這使得它們充當值類型,但Python中的所有名稱都是對象的引用。擴展模塊可以提供更高效的存儲機制(例如Numpy中的C或Fortran風格打包值數組),但Python解釋器僅處理引用。 – cco