Questions tagged «python»

Python是一种动态类型化的高级解释型编程语言。它的设计侧重于清晰的语法,一种面向对象编程的直观方法,以及使正确的做事方式变得显而易见的方法。Python支持模块和异常,并具有广泛的标准模块库。Python是通用的,因此从Web到嵌入式系统都得到了广泛的使用。

6
什么是最简单的人类可读配置文件格式?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 当前配置文件如下: mainwindow.title = 'test' mainwindow.position.x = 100 mainwindow.position.y = 200 mainwindow.button.label = 'apply' mainwindow.button.size.x = 100 mainwindow.button.size.y = 30 logger.datarate = 100 logger.enable = True logger.filename = './test.log' 使用python将其读取到嵌套字典中: { 'mainwindow':{ 'button':{ 'label': {'value':'apply'}, ... }, 'logger':{ datarate: {'value': 100}, enable: {'value': True}, filename: {'value': './test.log'} }, …

2
如何命名在Python中返回值的函数?
我对在Python中为函数选择名称感到困惑。有时,Python内置函数势在必行,例如:printfunction和string method find。有时它们不是这样的:例如,len它的名称不是必须的calculate_len,而type不是find_type。 我可以理解,它print返回了一个我们不使用的值(即None),并且执行了某项操作(即,它在屏幕上显示了一个字符串),因此其名称势在必行。 但是len返回一个我们使用并执行某项操作的值(即,计算序列或映射中有多少个项。),其名称不是必须的。另一方面,find字符串方法(as len)返回一个我们使用并执行某操作的值,并且它的名称是必要的。 问这个问题的原因是,我将使用Caesar密码对字符串进行加密和解密的脚本进行了审查。审稿人说: 只是一种直觉:函数可以完成任务。因此,一个函数的好名字是势在必行的:我会用rotate_letter代替rotated_letter。 rotated_letter返回表示由数字旋转的字母的单字母字符串。我不知道有什么更好的,我用rotated_letter它返回一个值,就像random模块中的randint function,不是。generate_randint 因此,在这种情况下,我应该如何命名一个返回要使用的值的函数?我应该将名称设为命令性还是仅是名词。在其他情况下,显而易见的是如何执行此操作,例如布尔函数,例如is_even和is_palindrome我们将其设为是/否问题,以及仅执行并返回未使用的值(即None)的函数,例如printand list方法。sort。

3
你为什么需要“自我”。在Python中引用实例变量?
我一直在编程多种语言,例如Java,Ruby,Haskell和Python。由于我从事的项目不同,我每天必须在多种语言之间切换。现在,问题是我常常忘记写代码,self因为Python中函数定义中的第一个参数与在同一对象上调用方法相同。 也就是说,我对Python的这种方法感到惊讶。基本上,我们必须键入更多内容才能完成工作,在Java和Ruby之类的语言中,通过自动引用当前对象中的变量使事情变得简单。 我的问题是为什么这是self必要的?纯粹是样式选择,还是有原因导致Python不能让您忽略selfJava和C ++的想法this?

3
当调用成本很高时,通过Python中的单一职责原则(SRP)进行工作
一些基点: 由于其解释性质,Python方法调用是“昂贵的”。从理论上讲,如果您的代码足够简单,那么分解Python代码除了会提高可读性和重用性之外,还会带来负面影响(这对开发人员而言是一大收获,对用户而言却不是很多)。 单一责任原则(SRP)可使代码保持可读性,易于测试和维护。 该项目具有特殊的背景,我们需要可读的代码,测试和时间性能。 例如,像这样的调用多个方法(x4)的代码比随后的仅一个方法慢。 from operator import add class Vector: def __init__(self,list_of_3): self.coordinates = list_of_3 def move(self,movement): self.coordinates = list( map(add, self.coordinates, movement)) return self.coordinates def revert(self): self.coordinates = self.coordinates[::-1] return self.coordinates def get_coordinates(self): return self.coordinates ## Operation with one vector vec3 = Vector([1,2,3]) vec3.move([1,1,1]) vec3.revert() vec3.get_coordinates() 与此相比: from …

3
Python-断言与if和return
我正在编写一个对文本文件执行某些操作的脚本(尽管这样做与我的问题无关)。因此,在对文件执行某些操作之前,我想检查文件是否存在。我可以做到,没问题,但是问题更多是美学问题。 这是我的代码,以两种不同的方式实现同​​一件事。 def modify_file(filename): assert os.path.isfile(filename), 'file does NOT exist.' Traceback (most recent call last): File "clean_files.py", line 15, in <module> print(clean_file('tes3t.txt')) File "clean_files.py", line 8, in clean_file assert os.path.isfile(filename), 'file does NOT exist.' AssertionError: file does NOT exist. 要么: def modify_file(filename): if not os.path.isfile(filename): return 'file does NOT exist.' …

8
快速原型如何适应敏捷方法?
我在一家大公司工作,这规定了敏捷过程的使用。例如,对于我们的项目,我们使用专门针对管理敏捷开发的基于云的服务。 我所服务的特定工程团队没有传统开发的软件(相反,我们从更鸟瞰的角度帮助推动项目),但是这种情况正在发生变化。我们有大量即将到来/计划中的软件项目,这些项目大多以数据为中心-例如,我们将进行数据监控,收集,汇总和一些报告。其他任务包括使用专用硬件和各种类型的客户端/服务器(多层)体系结构进行自动化。我将协助雇用多个人,并制定我们前进的许多计划。 我的问题是进行快速原型设计(一次性代码)是否适合敏捷哲学。例如,我喜欢Python及其广泛的软件包。我看到使用基于Python的工作流非常快地实现我们的许多想法的可能性。但是,我认为会有很多人认为Python不是“企业质量”的,并且许多工作都需要用Java或C ++重写。 但是,创建Python原型将使我们在快速实现真实结果方面付出巨大的努力。 您是否能够在企业环境中将快速原型制作(希望在Python中)整合到可靠的敏捷工作流程中?

1
修改对象的__dict__以设置其属性是否被视为Pythonic?
我有一个从数据库(或其他来源,例如MongoDB,CSV文件等)中找到的行中夸大对象的类。要设置对象的属性,它会执行类似self.__dict__.update(**properties)或的操作obj.__dict__.update(**properties)。 这被认为是Pythonic吗?这是我应该继续使用的好模式,还是这种不好的形式?
12 python 

6
Python使自己作为自己的语言而具有哪些独特之处?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 Python使自己作为自己的语言独特的一些特征是什么?我正在寻找各种特性,从好到坏,对障碍有用,语法到实际使用情况,但是对于普通开发人员而言,无遮掩的观察将是最有用的。 我是新手,因此可能需要解释一些直观的内容。

2
适用于大型项目的Python
是否有任何资源可以构建大型的具有工业实力的Python项目?我想开始一个雄心勃勃的个人项目,但是我不太确定如何设计它,以及采取什么措施使该项目成功。 是否有任何资源讨论如何使大型Python项目正常工作?
12 python 

7
Python是开发UI的好选择吗?如果是这样,wxPython还是Tkinter?
我期待使用Python开发桌面应用程序。我是一个初学者,我在Python方面没有足够的专业知识。我也是Java程序员。尽管我有一些使用Swing构建UI的经验,但我发现在Swing上开发的应用太慢了。好吧,这可能就是为什么许多主要实现都是在C / C ++中完成的原因之一,就像在浏览器/游戏中一样。 用C ++开发UI可能是一个更好的选择,但是我更喜欢选择一种高级编程语言,而不是C / C ++。因此,我选择使用Python是因为Python本身是基于C / C ++构建的,因此它会比Java Swing更好。 那么,我可以继续假设Python在开发UI方面比Java Swing好吗?还是建议使用比Python更好的语言来开发UI?如果我继续使用Python,应该使用哪个工具包使用Tkinter或wxPython,为什么?

1
PyPy有多成熟?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 除了阅读开发人员的意见外,我试图通过其他方式确定PyPy的成熟度。因此,我有兴趣听到有关使用PyPy的所有重要任务关键项目的信息。所有其他成熟度指标似乎都不错。在决定将其用于我的主要项目之前,我只是想念这个。
12 python 

6
作为一名初学者,我应该更喜欢使用第3方库来构建自己的库吗?
作为Python的初级程序员,在跳到包含所需功能的高级第三方库之前,先构建并了解我自己的库是个好主意吗? 对于这种方法,某些项目(例如Django之类的Web框架)可能太大。但是其他项目(例如Web Crawlers,图形库,HTML解析器)似乎是可行的。 我担心过早依赖第三方库会阻碍我的成长。 注意:这个问题和这个问题似乎更侧重于经验丰富的程序员,他们可能更注重重用的效率,而不是学习的好处。我认为我的问题是针对初学者的。

4
您是否认为仅GAE就足以证明通过Ruby学习Python是合理的?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 考虑到您不必参与设置/购买服务器甚至不必购买域的事实,您是否认为仅凭这一事实就足以选择一个? 我不一定要在Google App Engine上工作,我只是觉得在托管/环境/等方面很方便。并想知道这是否是学习python的足够好理由。 无论如何,我不是想在python和ruby之间争论,而是在Google App Engine上讨论更多话题,以及它的价值是否足以决定您应该学习的语言。

2
绘制通话图
我正在维护使用python编写的旧代码库。特别是,有一段复杂的代码可以从一个模块调用其他功能,而从其他模块调用其他功能,依此类推。它不是OOP,而只是功能和模块。 每当我调用main函数时,我都试图跟踪流的开始和结束位置,但是我觉得我需要绘制该流,因为我在子调用中迷路了。 让我担心的是,每个函数都在其体内调用多个外部函数以完成其任务并将该值返回给调用者。 我怎么画这个?意味着哪种图表/图形适合于记录这种行为/代码? 因此,我认为绘制UML图和流程图都不有用。通话图,也许吗?

2
Python中作用域和名称空间之间的关系是什么?
在许多资源中,我发现“作用域”和“命名空间”可互换使用,这似乎有点令人困惑,因为它们的含义不同。 范围定义了可使用名称的代码区域。 LEGB规则定义了查找名称的方式。 命名空间是您查找名称的地方。 然后我读到: “名称根据其分配的位置绑定到名称空间...”(我认为这是处理词法作用域中的作用域的方法)。 “功能添加一个额外的命名空间层,你的程序” [ 参考。](他们不添加额外的本地范围吗?) “在函数定义内分配的所有名称都放在本地范围(与函数调用关联的名称空间)中。” “全局作用域-即一个命名空间,在该命名空间中存在(分配)在模块文件顶层的变量。” *所有报价均来自学习python第5版ch17 Python中的名称空间是实现范围的方式吗?它们是一样的吗?谁能启发我?
12 python 

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.