我學習使用Tkinter的,並在教程它告訴我進口W的Tkinter的,但W是隻是一個STR(「W」)。
我的問題是爲什麼使用Tkinter.W不是「w」。是不是因爲Tkinter有時會讓這個var等於別的依賴於系統的東西?Python的Tkinter的:爲什麼要使用Tkinter.W不STR「W」
1
A
回答
1
我一直使用的字符串值。我認爲使用這些常量毫無益處。他們改變的機會幾乎爲零。這些常數自Tkinter創建以來一直保持不變。
tkinter非常重視向後兼容性,所以即使它們被更改,字符串值也無疑會持續工作一兩年。
我的建議是不要使用常量。
1
這是出於用戶舒適大多完成。
考慮從PIL /枕頭Image
類。它有一種方法可以在調整圖像大小的過程中創建圖像縮略圖。該方法有兩個參數,一個元組中的新大小和一個重採樣方法。這可以是抗混疊,雙線性,立方等等。這些內部是用整數值表示的,例如0,1等。如果您不知道哪個值表示哪個重採樣方法,那麼看起來很麻煩並且還可能導致更多錯誤。但從恆定的Image.BILINEAR
訪問它和繁榮,你就完成了。
在你的情況下,進口W
只是字符串"w"
似乎是不必要的污染命名空間和打字tkinter.W
比"w"
更長。這可能是如此。但是,請記住,程序中的常量是在一個地方定義的,所以如果您需要更改它們,很容易。你永遠不知道,即使你看不到它,模塊可能在內部使用常量W
。
這也導致你所指出的原因。根據系統或版本,常數可能有不同的值。通過使用內部一致的常量而不是靜態的硬編碼值,當您在不同的系統或版本上重用該代碼時,您可以更輕鬆地工作。
相關問題
- 1. C++ STL - 爲什麼要用(W <* I),而不是(W == * I)
- 2. MatPlotLib Plot w/Python Tkinter
- 3. Python - Tkinter Freezing w/PyHook
- 4. 爲什麼str(None)不是str(None)?
- 5. 爲什麼要避免使用字符串模塊並在Python中使用str?
- 6. Python Tkinter:爲什麼widget.bind()不工作?
- 7. 爲什麼在Python的Map和Str中不能引用零
- 8. 爲什麼不tkinter讓我使用tk.StringVar()?
- 9. 爲什麼str [:len(str)/ 2]而不是str [:len(str)* 0.5]?
- 10. 爲什麼STR可用性不一致?
- 11. 爲什麼在Python的Tkinter中使用canvas.create_image會中斷?
- 12. 爲什麼使用str()比__str更好__()
- 13. 爲什麼我需要寫(doc str),但是(meta#'str)?
- 14. 爲什麼DataOutputStream.writeChars(str)和String(byte [])不使用相同的編碼?
- 15. 爲什麼Tkinter不見了?
- 16. 爲什麼*(str + i)= *(str + j)在這裏不起作用?
- 17. 爲什麼要在python中使用classmethod?
- 18. 爲什麼str [5],str [] =「1234」和str = malloc(5)具有不同的大小?
- 19. file.open用「w」不覆蓋Python中的文件tKinter按鈕方法
- 20. 當我想要獲取Python/Pandas中的字符串列表元素時,爲什麼需要使用.str?
- 21. TypeError:'str'對象不可調用。即使沒有什麼叫'str'
- 22. 爲什麼`fgets()`需要一個* str,但是`getline()`需要一個** str參數?
- 23. 問:python:爲什麼我的char被視爲str?
- 24. Python/Tkinter:爲什麼我的級聯菜單不工作?
- 25. 爲什麼Go的strings.Fields(str)和strings.Split(str,「」)這麼慢?
- 26. 爲什麼Python不可變類型(如int,str或tuple)需要使用`__new __()`而不是`__init __()`?
- 27. 爲什麼str不執行ImmutableVector特徵?
- 28. 爲什麼不.toUpperCase()大寫str [i]?
- 29. Python:爲什麼Tkinter類實例化必須使用Frame?
- 30. 爲什麼使用python tkinter時會調整幀大小?
可能,但也因爲它更有意義。 – jonrsharpe
我經常使用這些字符串,特別是在tkinter import *'import tkinter as tk''後導入大約80個常量,這會影響調試。如果我從tkinter import Tk,Text,...的方法做了',那麼我可能會添加例如RAISED到顯式列表,部分作爲我將使用的文檔。 –