編者按: 本文從stackoverflow收集了Python編程中的常見問題。基於google/baidu/bing翻譯將問題議成了中文,希望在英語表達不地道(特別是中英文夾雜)的情況下,也能檢索到優質內容入口。 Python相關問題非常多,我們會陸續將這些問題做成專輯,分成多篇文章分別展現。本文是其中的第一篇內容。 注: 點擊問題標題直達英文原版網站,點擊 加速訪問 ,可以通過本站加速器快速訪問。
1. “最小驚訝”和可變默認參數[Python] (“Least Astonishment” and the Mutable Default Argument)
language-design,least-astonishment
任何人用Python修補足夠長的時間都被以下問題啃了(或撕成碎片):def foo(a = []):a.append(5)return aPython新手會期望這個函數總是…
2. 解釋Python的slice符號[Python] (Explain Python’s slice notation)
list,slice
我需要一個很好的解釋(參考是一個加號)Python的slice符號。對我來說,這個符號需要一點點。它看起來非常強大,但我還沒有得到我的頭。
3. 如何對多個值測試一個變量?[Python] (How do I test one variable against multiple values?)
if-statement,comparison,match,boolean-logic
我試圖做一個函數,將比較多個變量為一個整數,並輸出一個三個字母的字符串。我想知道是否有一種方法來將它翻譯成Python。所以說:x = 0 …
4. 請求用戶輸入,直到他們給出有效的響應[Python] (Asking the user for input until they give a valid response)
validation,loops,python-3.x,user-input
我注意:Python 2.7用戶應該使用`raw_input`,相當於3.X的`input`age = int(input(“請輸入你的年齡:”))if age> = …
5. 列表列表意外反映在子列表中的更改[Python] (List of lists changes reflected across sublists unexpectedly)
list,nested-lists,mutable
我需要在Python中創建列表列表,所以我鍵入以下內容:myList = [[1] * 4] * 3列表看起來像這樣:[[1,1,1,1],[1,1,1 ,1],[1,1,1,1]]然後我改變了一個…
6. 如何克隆或複製列表?[Python] (How to clone or copy a list?)
list,copy,clone
在Python中克隆或複製列表的選項是什麽?使用new_list = my_list然後在每次my_list更改時修改new_list。為什麽?
7. 如何將列表拆分為均勻大小的塊?[Python] (How do you split a list into evenly sized chunks?)
list,split,chunks
我有一個任意長度的列表,我需要拆分成相等大小的塊,並對其進行操作。有一些明顯的方法來做到這一點,如保持一個計數器和兩個列表,當第二個…
8. 如何通過引用傳遞變量?[Python] (How do I pass a variable by reference?)
reference,parameter-passing,pass-by-reference
Python文檔似乎不清楚參數是通過引用還是值傳遞,以下代碼生成未更改的值’Original’class PassByReference:def …
9. 如何創建可變數量的變量?[Python] (How do I create a variable number of variables?)
variable-variables
如何在Python中完成變量變量?這裏是一個精心的手工輸入,例如:變量我聽說這是一個壞主意,但一般來說,它是一個安全漏洞…
10. 在Python中的列表列表中創建一個平麵列表[Python] (Making a flat list out of list of lists in Python)
list
我不知道是否有一個快捷方式,使一個簡單的列表列表中的列表在Python.I可以做一個for循環,但也許有一些很酷的“一線”?我試著用reduce,但我得到一個…
11. 在迭代時從列表中刪除項[Python] (Remove items from a list while iterating)
iteration
我在Python中遍曆一個元組列表,並且如果他們滿足某些標準,我試圖刪除它們。 for tup in somelist:if determine(tup):code_to_remove_tup我應該…
12. “yield”關鍵字在Python中做什麽?[Python] (What does the “yield” keyword do in Python?)
iterator,generator,yield,coroutine
在Python中使用yield關鍵字是什麽?它做什麽?例如,我試圖理解這個代碼1:def _get_child_candidates(self,distance,min_dist,max_dist):if self ….
13. **(雙星)和*(星)對參數做什麽?[Python] (What does ** (double star) and * (star) do for parameters?)
syntax,parameter-passing,identifier,kwargs
在下麵的方法定義中,*和**對param2做什麽?def foo(param1,* param2):def bar(param1,** param2):
14. 範圍規則的簡短描述[Python] (Short Description of Scoping Rules)
scope,dynamic-languages
什麽是Python範圍規則?如果我有一些代碼:code1class Foo:code2 def spam ….. code3 for code4 ..:code5 x()在哪裏找到x?一些可能…
15. 如果__name__ ==“__main__”:do怎麽辦?[Python] (What does if __name__ == “__main__”: do?)
module,namespaces,main,idioms
什麽是if __name__ ==“__main__”:do?#線程示例importport時間,threaddef myfunction(string,sleeptime,lock,* args):while 1:lock.acquire()time.sleep
16. 在Python中調用外部命令[Python] (Calling an external command in Python)
shell,command,subprocess,external
如何從Python腳本中調用外部命令(就像我在Unix shell或Windows命令提示符下鍵入它)?
17. 如何在Python中將輸入讀為整數?[Python] (How can I read inputs as integers in Python?)
python-2.7,python-3.x,int
為什麽這段代碼不輸入整數?網絡上的所有內容都表示使用raw_input(),但我閱讀Stack Overflow(在一個沒有處理整數輸入的線程),raw_input()被重命名為…
18. 按值排序Python字典[Python] (Sort a Python dictionary by value)
sorting,dictionary
我有一個從數據庫中的兩個字段讀取的值的字典:字符串字段和數字字段。字符串字段是唯一的,所以這是字典的關鍵。我可以排序的鍵,但如何…
19. 在創建它們的函數中使用全局變量[Python] (Using global variables in a function other than the one that created them)
global-variables,scope
如果我在一個函數中創建一個全局變量,如何在另一個函數中使用該變量?我需要將全局變量存儲在需要訪問的函數的局部變量中嗎?
20. 在Python中展開(不規則)列表列表[Python] (Flatten (an irregular) list of lists in Python)
list,optimization,flatten
是的,我知道這個主題已經被覆蓋了(這裏,這裏,這裏,這裏),但據我所知,所有的解決方案,除了一個,失敗在一個像這樣的列表:L = [[[1,2, 3],[4,5]],6]其中…
21. 什麽是Python中的元類?[Python] (What is a metaclass in Python?)
oop,metaclass,python-datamodel
什麽是元類?你使用它們是什麽?
22. 使用Python 3打印時的語法錯誤[duplicate][Python] (Syntax error on print with Python 3 [duplicate])
python-3.x
為什麽在Python 3中打印字符串時會收到語法錯誤?>>> print“hello World”File“<stdin>”,line 1 print“hello World”^ SyntaxError:…
23. 如何使一個函數裝飾器鏈?[Python] (How to make a chain of function decorators?)
decorator,python-decorators
如何在Python中使兩個裝飾器執行以下操作?@ makebold @ makeitalicdef say():return“Hello”…它應該返回:“<b> <i> Hello </ i> </ b>我…
24. 錯誤:無法找到vcvarsall.bat[Python] (error: Unable to find vcvarsall.bat)
windows,pip,setup.py
我試圖安裝Python包dulwich:pip install dulwichBut我得到一個cryptic錯誤信息:錯誤:無法找到vcvarsall.bat同樣發生,如果我嘗試手動安裝軟件包:…
25. 如何在Windows上安裝pip?[Python] (How do I install pip on Windows?)
windows,installation,pip,easy-install
pip是easy_install的替代品。但是我應該安裝pip使用easy_install在Windows上?有沒有更好的辦法?
26. Python有一個三元條件運算符嗎?[Python] (Does Python have a ternary conditional operator?)
operators,ternary-operator,conditional-operator,python-2.5
如果Python沒有三元條件運算符,是否可以使用其他語言結構來模擬一個?
27. 為什麽字典和集合中的順序是任意的?[Python] (Why is the order in dictionaries and sets arbitrary?)
dictionary,set,python-internals
我不明白如何循環遍曆字典或設置在python是由’任意’order.I的意思,它是一種編程語言,所以語言中的一切必須是100%確定,正確嗎? … …
28. Python中的__str__和__repr__之間的區別[Python] (Difference between __str__ and __repr__ in Python)
python
Python中的__str__和__repr__有什麽區別?
29. 在Python中展平一個淺列表[duplicate][Python] (Flattening a shallow list in Python [duplicate])
list-comprehension
有一個簡單的方法使用列表推導來展開列表的迭代,或者失敗,你會認為是什麽是最平坦的一個淺列表,像這樣,平衡…
30. “is”操作符意外使用整數[Python] (“is” operator behaves unexpectedly with integers)
int,comparison,operators,identity
為什麽下麵的行為在Python中意外?>>> a = 256 >>> b = 256 >>> a是bTrue#這是一個預期的結果>>> a = 257 >>> b = …
31. 如何避免實例之間共享類數據?[Python] (How do I avoid having class data shared among instances?)
class
我想要的是這個行為:class a:list = [] y = a()x = a()x.list.append(1)y.list.append(2)x.list.append list.append(4)print x.list [1,3] print y.list [2,4]當然,什麽…
32. 自我的目的是什麽?[Python] (What is the purpose of self?)
class,self
Python中的自我詞的目的是什麽?我理解它指的是從該類創建的特定對象,但我不能看到為什麽它明確需要添加到每個函數作為…
33. 如何做好可重複的熊貓的例子[Python] (How to make good reproducible pandas examples)
pandas
花了大量的時間觀察r和pandas標簽在SO,我得到的印象是,熊貓問題不太可能包含可重複的數據。這是…
34. 有什麽辦法殺死Python中的線程?[Python] (Is there any way to kill a Thread in Python?)
multithreading,kill,terminate
是否可以終止正在運行的線程,而不設置/檢查任何標誌/信號量等。
35. 如何在保留順序的同時從列表中刪除重複項?[Python] (How do you remove duplicates from a list in whilst preserving order?)
list,duplicates,unique
有一個內置的,從列表中刪除重複的Python,同時保持順序?我知道我可以使用一個集合來刪除重複,但是破壞原來的順序。我也知道我可以…
36. 為什麽`a == b或c或d’總是為True? [重複][Python] (Why does `a == b or c or d` always evaluate to True? [duplicate])
boolean,boolean-expression
我寫了一個安全係統拒絕訪問未授權的users.import sysprint(“你好,請輸入你的名字:”)name = sys.stdin.readline()。strip()如果name ==“Kevin”或“Inbar”:…
37. 在Python中使用eval是一個壞的做法嗎?[Python] (Is using eval in Python a bad practice?)
eval
我使用下麵的類來輕鬆存儲我的歌曲的數據.class Song:“”“存儲每首歌曲的細節的類”“attsToStore =(’Name’,’Artist’,’Album’,’Genre’ , ‘位置’) …
38. 什麽是最“pythonic”的方式來迭代一個列表中的塊?[Python] (What is the most “pythonic” way to iterate over a list in chunks?)
list,loops,optimization,chunks
我有一個Python腳本作為輸入的整數列表,我需要一次使用四個整數。不幸的是,我沒有輸入的控製,或者我將它作為列表傳入…
39. 為什麽在Python中使用“==”或“is”比較字符串有時會產生不同的結果?[Python] (Why does comparing strings in Python using either ‘==’ or ‘is’ sometimes produce a different result?)
string,comparison
我有一個Python程序,其中兩個變量設置為值’public’。在條件表達式中,我有比較var1是var2失敗,但如果我將其更改為var1 == var2它返回…
40. 對象名前麵的單下劃線和雙下劃線的含義是什麽?[Python] (What is the meaning of a single- and a double-underscore before an object name?)
naming-conventions,private,underscores,double-underscore
我想徹底清除這一點。有人可以解釋在Python中的對象名稱前麵有下劃線的確切含義嗎?也解釋一個單一和…之間的區別。
41. Python中的舊樣式和新樣式類有什麽區別?[Python] (What is the difference between old style and new style classes in Python?)
class,oop,types,new-style-class
Python中的舊樣式和新樣式類有什麽區別?這些天有沒有理由使用老式的類?
42. 將字符串轉換為datetime[Python] (Converting string into datetime)
datetime
短而簡單。我有一個巨大的日期時間列表像這樣的字符串:Jun 1 2005 1:33 PMAug 28 1999 12:00 AMI’m將這些回到數據庫中的正確的datetime字段,所以我…
43. 什麽IDE用於Python? [關閉][Python] (What IDE to use for Python? [closed])
ide,editor
其他用於Python編碼的IDE(“GUI /編輯器”)?
44. Python有一個內置函數字符串自然排序?[Python] (Does Python have a built in function for string natural sort?)
sorting,python-3.x
使用Python 3.x,我有一個字符串列表,我想對其執行自然的字母順序排序。自然排序:Windows中文件的排序順序。例如,以下…
45. Python中的靜態類變量[Python] (Static class variables in Python)
class,methods,static,class-variables
在python中有可能有靜態類變量或方法嗎?需要什麽語法來做到這一點?
46. 非阻塞讀取在python中的子進程.PIPE[Python] (Non-blocking read on a subprocess.PIPE in python)
io,subprocess,nonblocking
我使用子進程模塊啟動子進程並連接到它的輸出流(stdout)。我想能夠在其stdout上執行非阻塞讀取。有沒有辦法使.readline非…
47. 以最快的方式列出所有低於N的素數[Python] (Fastest way to list all primes below N)
math,optimization,primes
這是最好的算法我可以來up.def get_primes(n):numbers = set(range(n,1,-1))primes = []而數字:p = numbers.pop數字….
48. 如何添加到pythonpath在windows 7?[Python] (How to add to the pythonpath in windows 7?)
windows,environment-variables,pythonpath
我有一個目錄,其中托管所有的Django應用程序(C: My_Projects)。我想添加這個目錄到我的pythonpath,所以我可以直接調用應用程序。我已經嘗試添加C: My_Projects ;到我的路徑…
49. Python如何比較string和int?[Python] (How does Python compare string and int?)
types,comparison,python-2.x
以下代碼片段用輸出注釋(如在ideone.com上所示):print“100”<“2”#Trueprint“5”>“9”#Falseprint“100”<2#Falseprint 100 <“2” 。
50. 禁用輸出緩衝[Python] (Disable output buffering)
stdout,buffered
默認情況下,在Python的sys.stdout解釋器中啟用輸出緩衝?如果答案是肯定的,那麽所有的禁用方法是什麽?到目前為止的建議:使用-u命令行開關…