当前位置: 首页>>技术问答>>正文


Python编程常见问题整理【一】

python_lover 技术问答 去评论

编者按: 本文从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/article/1618.html,未经允许,请勿转载。