當前位置: 首頁>>技術問答>>正文


Python編程常見問題整理【一】

編者按: 本文從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命令行開關…

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/1618.html,未經允許,請勿轉載。