Questions tagged «python»

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

16
类方法的目的是什么?
我正在自学Python,最近的课程是Python不是Java,因此我花了一段时间将所有Class方法都转换为函数。 我现在意识到我不需要使用Class方法来完成staticJava中的方法,但是现在我不确定何时使用它们。我可以找到的有关Python类方法的所有建议都是像我这样的新手提出的,应该避免使用它们,并且在讨论它们时,标准文档最为模糊。 有没有人有在Python中使用Class方法的好例子,或者至少有人可以告诉我何时可以明智地使用Class方法?



6
如何检查用户是否已登录(如何正确使用user.is_authenticated)?
我正在看这个网站,但似乎无法弄清楚该怎么做,因为它不起作用。我需要检查当前站点用户是否已登录(已认证),并且正在尝试: request.user.is_authenticated 尽管确定用户已登录,但它仅返回: > 我能够执行其他请求(来自上述网址的第一部分),例如: request.user.is_active 这将返回成功的响应。


7
为什么python嵌套函数不称为闭包?
我已经在Python中看到并使用了嵌套函数,它们与闭包的定义匹配。那么为什么叫他们nested functions而不是closures? 嵌套函数不是因为没有被外部世界使用而不是闭包吗? 更新:我正在阅读有关闭包的知识,这让我开始思考关于Python的这个概念。我搜索并找到了某人在下面的评论中提到的文章,但是我无法完全理解该文章中的解释,所以这就是为什么我问这个问题。

6
(lambda)函数闭包捕获了什么?
最近,我开始玩弄Python,并且在闭包的工作方式中遇到了一些奇怪的事情。考虑以下代码: adders=[0,1,2,3] for i in [0,1,2,3]: adders[i]=lambda a: i+a print adders[1](3) 它构建了一个简单的函数数组,这些函数接受单个输入并返回该输入加数字后的结果。这些函数在for循环中构造,其中迭代器i从0到运行3。对于这些数字中的每一个,lambda都会创建一个函数,将其捕获i并将其添加到函数的输入中。最后一行使用参数作为参数调用第二个lambda函数3。令我惊讶的产量6。 我期望一个4。我的推论是:在Python中,一切都是对象,因此每个变量都是指向它的指针。为创建lambda闭包时i,我希望它存储一个指向当前由指向的整数对象的指针i。这意味着,当i分配一个新的整数对象时,它不应影响先前创建的闭包。可悲的是,adders在调试器中检查该阵列是否可以完成。所有的lambda功能指的最后一个值i,3,其结果adders[1](3)返回6。 这让我想知道以下几点: 闭包到底捕获了什么? 用最优雅的方法说服lambda功能捕获当前值,i而该方法在i更改其值时不会受到影响?
249 python  lambda  closures 

5
Python!=操作与“不是”
在对此问题的评论中,我看到了一条建议使用的声明 result is not None 与 result != None 我想知道两者之间的区别是什么,为什么要推荐一个而不是另一个?
249 python  operators 



9
如何计算一条线与水平轴之间的角度?
在编程语言(Python,C#等)中,我需要确定如何计算直线和水平轴之间的角度? 我认为一张图片最能说明我想要的内容: 给定(P1 x,P1 y)和(P2 x,P2 y),计算此角度的最佳方法是什么?原点在左上角,仅使用正象限。
247 c#  python  trigonometry 

15
为Python安装pip,virtualenv和分发的正确方法是什么?
简短问题 什么是安装正确的方式pip,virtualenv和distribute? 背景 在我对4314376问题的回答中,我建议使用,ez_setup以便随后进行安装pip,virtualenv如下所示: curl -O http://peak.telecommunity.com/dist/ez_setup.py sudo python ez_setup.py sudo easy_install pip sudo pip install virtualenv 我最初是从Jesse Noller的博客文章中删除这些说明的,所以您想在Mac上使用Python吗?。我喜欢保持干净的全局site-packages目录的想法,因此我安装的唯一其他软件包是 virtualenvwrapperand distribute。(distribute由于此Python公共服务公告,我最近添加到了我的工具箱中。要安装这两个软件包,我使用了: sudo pip install virtualenvwrapper curl -O http://python-distribute.org/distribute_setup.py sudo python distribute_setup.py 没有更多的设置工具和easy_install 要真正遵循该Python公共服务声明,在全新安装的Python上,请执行以下操作: curl -O http://python-distribute.org/distribute_setup.py sudo python distribute_setup.py sudo easy_install pip sudo pip install virtualenv sudo pip install virtualenvwrapper …



16
Python Anaconda-如何安全卸载
我在Mac(OS Mavericks)上安装了Python Anaconda。我想在Mac上恢复为默认版本的Python。最好的方法是什么?我应该删除~/anaconda目录吗?还需要其他更改吗? 当前,当我运行时,which python我会得到以下路径: /Users/username/anaconda/bin/python
246 python  anaconda 

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.