Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

18
Python单元测试去哪儿了?
如果您正在编写库或应用程序,则单元测试文件会放在哪里? 将测试文件与主应用程序代码分开是很好的选择,但是将它们放在应用程序根目录内的“ tests”子目录中是很尴尬的,因为这使得导入要测试的模块更加困难。 这里有最佳实践吗?




11
如果字典键不可用,则返回None
我需要一种方法来获取字典值(如果它的键存在),或者简单地返回None,如果它不存在。 但是,KeyError如果您搜索不存在的键,Python会引发异常。我知道我可以检查密钥,但是我正在寻找更明确的密钥。None如果密钥不存在,是否有办法返回?

30
迭代访问列表的最“ pythonic”方法是什么?
我有一个Python脚本,它将一个整数列表作为输入,我需要一次处理四个整数。不幸的是,我无法控制输入,或者将其作为四元素元组的列表传递。目前,我正在以这种方式对其进行迭代: for i in xrange(0, len(ints), 4): # dummy op for example code foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3] 不过,它看起来很像“ C思维”,这使我怀疑还有一种处理这种情况的更Python的方法。该列表在迭代后被丢弃,因此不需要保留。也许这样的事情会更好? while ints: foo += ints[0] * ints[1] + ints[2] * ints[3] ints[0:4] = [] 不过,还是不太“正确”。:-/ 相关问题:如何在Python中将列表分成均匀大小的块?

24
如何在Python中四舍五入一个数字?
这个问题使我丧命。如何在Python中向上舍入一个数字? 我尝试了舍入(数字),但它四舍五入数字。例: round(2.3) = 2.0 and not 3, what I would like 我尝试了int(number + .5),但是它再次将数字取整!例: int(2.3 + .5) = 2 然后我尝试了round(number + .5),但在边缘情况下不起作用。例: WAIT! THIS WORKED! 请指教。


10
django中业务逻辑和数据访问的分离
我正在Django中编写一个项目,并且看到80%的代码在file中models.py。这段代码令人困惑,并且在一段时间之后,我不再了解实际发生的事情。 这是困扰我的事情: 我发现模型级别(应该只负责处理数据库中的数据)在发送电子邮件,使用API​​到其他服务等方面也很丑陋。 另外,我发现在视图中放置业务逻辑也是不可接受的,因为这样很难控制。例如,在我的应用程序中,至少有三种方法来创建的新实例User,但从技术上讲,它应统一创建它们。 我并不总是注意到模型的方法和属性何时变得不确定,以及何时出现副作用。 这是一个简单的例子。首先,User模型是这样的: class User(db.Models): def get_present_name(self): return self.name or 'Anonymous' def activate(self): self.status = 'activated' self.save() 随着时间的流逝,它变成了: class User(db.Models): def get_present_name(self): # property became non-deterministic in terms of database # data is taken from another service by api return remote_api.request_user_name(self.uid) or 'Anonymous' def activate(self): # method …


29
如何获取当前正在执行的文件的路径和名称?
我有调用其他脚本文件的脚本,但是我需要获取该进程中当前正在运行的文件的文件路径。 例如,假设我有三个文件。使用execfile: script_1.py来电script_2.py。 依次script_2.py调用script_3.py。 我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py? (执行os.getcwd()将返回原始启动脚本的文件路径,而不是当前文件的路径。)
482 python  scripting  file 

14
Python断言的最佳实践
assert作为标准代码的一部分而不是仅用于调试目的,是否存在性能或代码维护问题? 是 assert x >= 0, 'x is less than zero' 胜过或坏于 if x < 0: raise Exception, 'x is less than zero' 另外,是否有任何方法可以设置业务规则,例如if x < 0 raise error始终不进行检查,try/except/finally因此在整个代码中的任何时候都x小于0时,都会引发错误,例如assert x < 0在函数的开始处,函数内的任何位置进行设置哪里x变得小于0引发异常?

15
如何删除/删除virtualenv?
我使用以下命令创建了一个环境: virtualenv venv --distribute :我无法用下面的命令将其删除rmvirtualenv venv- 这是部分virtualenvwrapper中提到下面virtualenvwrapper答案 我ls在当前目录上执行了,但仍然看到venv 我可以删除它的唯一方法似乎是: sudo rm -rf venv 请注意该环境处于非活动状态。我正在运行Ubuntu 11.10。有任何想法吗?我尝试重新启动系统无济于事。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.