Questions tagged «python»

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


5
Python(和Python C API):__new__与__init__
我要问的问题似乎是Python对__new__和__init__的重复使用?,但无论如何,我仍然不清楚__new__和之间的实际区别是什么__init__。 在您急于告诉我__new__创建对象和__init__初始化对象之前,请让我明确:我明白了。 实际上,这种区分对我来说是很自然的,因为我在C ++中有经验,在那里我们放置了new,它类似地将对象分配与初始化分开。 在Python的C API教程解释它是这样的: 新成员负责创建(而不是初始化)该类型的对象。它在Python中作为__new__()方法公开。... 实施新方法的原因之一是要确保实例变量的初始值。 所以,是的-我明白了__new__,但是尽管如此,我仍然不明白为什么它在Python中很有用。给出的示例说,__new__如果要“确保实例变量的初始值” ,这可能会很有用。好吧,这不正是要做__init__什么吗? 在C API教程中,显示​​了一个示例,其中创建了新的Type(称为“ Noddy”),并__new__定义了Type的功能。Noddy类型包含一个名为的字符串成员first,并且该字符串成员被初始化为一个空字符串,如下所示: static PyObject * Noddy_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { ..... self->first = PyString_FromString(""); if (self->first == NULL) { Py_DECREF(self); return NULL; } ..... } 请注意,如果没有在此__new__定义的方法,我们将不得不使用PyType_GenericNew,它只会将所有实例变量成员初始化为NULL。因此,该__new__方法的唯一好处是实例变量将从一个空字符串开始,而不是NULL。 但是,为什么这会有用呢,因为如果我们要确保将实例变量初始化为某个默认值,那么我们可以在__init__方法中做到这一点?
126 python  c  python-c-api 

24
pip安装后,virtualenvwrapper.sh在哪里?
我正在尝试在OSX上设置virtualenvwrapper,发现的所有说明和教程都告诉我向.profile添加源命令,指向virtualenvwrapper.sh。我已经检查了所有的python和site-packages目录,但找不到任何virtualenvwrapper.sh。这是我需要单独下载的东西吗?pip安装不正确吗? 这是/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper的内容: hook_loader.py hook_loader.pyc project.py project.pyc user_scripts.py user_scripts.pyc 如您所见,没有virtualenvwrapper.sh。它在哪里?

5
ImportError:没有名为win32api的模块
我使用Python 2.7,我想使用pywin32-214上Windows 7。我pywin32-214通过使用msi安装程序进行安装。但是,当我导入win32apiPython脚本时,它会引发错误: no module named win32api. 我该怎么办?我可以使用pywin32 api的Windows 7?
126 python  winapi 

5
使用virtualenv恢复`--no-site-packages`选项
我使用该--no-site-packages选项创建了virtualenv 并安装了许多库。现在,我想还原该--no-site-packages选项并使用全局包。 我可以不重新创建virtualenv来做到吗? 更确切地说: 我不知道究竟创建使用一个的virtualenv发生时,--no-site-packages相对于没有使用该选项的选择。 如果我知道会发生什么,那么我可以弄清楚如何撤消它。
126 python  virtualenv 

3
WebDriver click()与JavaScript click()
故事: 在StackOverflow上,我看到用户报告他们无法通过selenium WebDriver“单击”命令单击元素,并且可以通过执行脚本来解决JavaScript单击问题。 Python中的示例: element = driver.find_element_by_id("myid") driver.execute_script("arguments[0].click();", element) WebDriverJS /量角器中的示例: var elm = $("#myid"); browser.executeScript("arguments[0].click();", elm.getWebElement()); 问题: 为什么在常规WebDriver单击不起作用时单击“通过JavaScript”有效?这到底是什么时候发生的,这种解决方法(如果有)的缺点是什么? 我个人使用此变通办法时并未完全理解为什么必须这样做以及它可能导致什么问题。

5
如何在asyncio中使用请求?
我想在其中执行并行http请求任务asyncio,但是我发现这python-requests会阻止的事件循环asyncio。我找到了aiohttp,但它无法使用http代理提供http请求的服务。 所以我想知道是否有一种方法可以借助进行异步http请求asyncio。

4
普通英语的WSGI和CGI是什么?
每次阅读WSGI或CGI时,我都会感到畏缩。我尝试过阅读它,但没有任何卡住。 普通英语到底是什么? 它只是将请求通过管道传输到终端并重定向输出吗?
126 python  cgi  wsgi 

14
在Python中使用字符串格式打印元组
所以,我有这个问题。我有元组(1,2,3),应该以字符串格式打印。例如。 tup = (1,2,3) print "this is a tuple %something" % (tup) 这应该打印带有括号的元组表示形式,例如 这是一个元组(1,2,3) 但是我得到了TypeError: not all arguments converted during string formatting。 我到底该怎么做?Kinda在这里输了,所以如果你们能指出我正确的方向:)
126 python 

4
seek()函数?
请在这里原谅我的困惑,但是我已经阅读了有关python中seek()函数的文档(必须使用它之后),尽管它对我有所帮助,但我对它的实际含义还是有些困惑,但任何解释都很多谢谢,谢谢。
126 python 


5
如何在Python中创建一组集?
我正在尝试在Python中设置一组。我不知道该怎么做。 从空集开始xx: xx = set([]) # Now we have some other set, for example elements = set([2,3,4]) xx.add(elements) 但我明白了 TypeError: unhashable type: 'list' 要么 TypeError: unhashable type: 'set' Python中可能有一组集合吗? 我正在处理大量集合,但我希望不必处理重复的集合(集合A1,集合A2,....的集合B,如果Ai = Aj,则“将取消”两个集合)

30
无法通过套接字'/tmp/mysql.sock连接到本地MySQL服务器
当我在测试套件中尝试连接到本地MySQL服务器时,它失败并显示以下错误: OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)") 但是,我始终可以通过运行命令行mysql程序连接到MySQL 。A ps aux | grep mysql显示服务器正在运行,并 stat /tmp/mysql.sock确认套接字存在。此外,如果我在except该异常的子句中打开调试器,则可以使用完全相同的参数可靠地进行连接。 这个问题可以相当可靠地重现,但是似乎不是100%,因为每当我遇到一个蓝色月亮时,我的测试套件实际上都运行了而没有遇到此错误。当我尝试使用sudo dtruss它时,它没有复制。 所有的客户端代码都在Python中,尽管我不知道这是如何相关的。 切换为使用主机127.0.0.1会产生错误: DatabaseError: Can't connect to MySQL server on '127.0.0.1' (61)
126 python  mysql  django 

8
字典与对象-哪个更有效,为什么?
在内存使用和CPU消耗方面,在Python中更有效的方法是-字典还是对象? 背景: 我必须将大量数据加载到Python中。我创建了一个只是字段容器的对象。创建4M实例并将其放入字典中大约需要10分钟和约6GB的内存。字典准备就绪后,只需眨眼即可访问。 示例: 为了检查性能,我编写了两个简单的程序,它们执行相同的操作-一个使用对象,另一个使用字典: 对象(执行时间〜18sec): class Obj(object): def __init__(self, i): self.i = i self.l = [] all = {} for i in range(1000000): all[i] = Obj(i) 字典(执行时间约12秒): all = {} for i in range(1000000): o = {} o['i'] = i o['l'] = [] all[i] = o 问题: 我做错什么了吗?字典比对象快?如果确实字典表现更好,有人可以解释为什么吗?

24
查找列表模式
给定项目列表,回想一下该模式列表是最常出现的项目。 我想知道如何创建一个函数,该函数可以找到列表的模式,但是如果列表不具有模式(例如,列表中的所有项目仅出现一次),则会显示一条消息。我想使此功能不导入任何功能。我正在尝试从头开始实现自己的功能。
126 python  mode 

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.