小编Zer*_*eus的帖子

TypeError:method()占用1个位置参数,但给出了2个

如果我上课了......

class MyClass:

    def method(arg):
        print(arg)
Run Code Online (Sandbox Code Playgroud)

...我用来创建一个对象......

my_object = MyClass()
Run Code Online (Sandbox Code Playgroud)

......我就这样打电话method("foo")......

>>> my_object.method("foo")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: method() takes exactly 1 positional argument (2 given)
Run Code Online (Sandbox Code Playgroud)

...为什么Python告诉我我给了它两个参数,当我只给出一个?

python methods arguments self python-3.x

210
推荐指数
8
解决办法
41万
查看次数

Python:List vs Dict查找表

我有大约1000万个值,我需要放在某种类型的查找表中,所以我想知道哪个列表字典更有效?

我知道你可以做两件事:

if something in dict_of_stuff:
    pass
Run Code Online (Sandbox Code Playgroud)

if something in list_of_stuff:
    pass
Run Code Online (Sandbox Code Playgroud)

我的想法是dict会更快更有效率.

谢谢你的帮助.

编辑1
关于我正在尝试做什么的更多信息. 欧拉问题92.我正在查找表,看看计算出的值是否已经准备就绪.

编辑2
查找效率.

编辑3
没有与值相关的值...那么一会更好吗?

python performance

158
推荐指数
7
解决办法
14万
查看次数

为什么Python 3.x的超级()魔术?

在Python 3.x中,super()可以不带参数调用:

class A(object):
    def x(self):
         print("Hey now")

class B(A):
    def x(self):
        super().x()
Run Code Online (Sandbox Code Playgroud)
>>> B().x()
Hey now
Run Code Online (Sandbox Code Playgroud)

为了使这项工作,一些编译时间魔法进行,其中的一个后果是,下面的代码(重新绑定supersuper_)失败:

super_ = super

class A(object):
    def x(self):
        print("No flipping")

class B(A):
    def x(self):
        super_().x()
Run Code Online (Sandbox Code Playgroud)
>>> B().x()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in x
RuntimeError: super(): __class__ cell not found
Run Code Online (Sandbox Code Playgroud)

super()如果没有编译器的帮助,为什么无法在运行时解析超类?是否存在这种行为或其潜在原因可能会让一个不知情的程序员陷入困境的实际情况?

...并且,作为一个附带问题:在Python中是否有任何其他函数,方法等示例可以通过将它们重新绑定到不同的名称来打破?

python super python-3.x

153
推荐指数
1
解决办法
4万
查看次数

存储过程和视图之间有什么区别?

我对以下几点感到困惑:

  1. 存储过程和视图之间有什么区别?

  2. 我应该何时使用存储过程,何时应该在SQL Server中使用视图?

  3. 视图是否允许创建我们可以传递参数的动态查询?

  4. 哪一个最快,哪个基于哪一个比另一个快?

  5. 视图或存储过程是否永久分配内存?

  6. 如果有人说视图创建虚拟表,而程序创建材料表,这意味着什么?

如果有的话,请告诉我更多的要点.

sql stored-procedures sql-server-2005 views

118
推荐指数
8
解决办法
15万
查看次数

在namedtuple中输入提示

请考虑以下代码:

from collections import namedtuple
point = namedtuple("Point", ("x:int", "y:int"))
Run Code Online (Sandbox Code Playgroud)

上面的代码只是一种证明我想要实现的目标的方法.我想namedtuple用类型提示.

你知道如何达到预期效果的优雅方式吗?

python type-hinting namedtuple python-3.x python-dataclasses

100
推荐指数
3
解决办法
2万
查看次数

如何检查一个数字是否可以被另一个数字整除(Python)?

我需要测试从1到1000的每个数字是3的倍数还是5的倍数.我认为我这样做的方法是将数字除以3,如果结果是整数那么它就会是3的倍数.与5相同.

如何测试数字是否为整数?

这是我目前的代码:

n = 0
s = 0

while (n < 1001):
    x = n/3
    if isinstance(x, (int, long)):
        print 'Multiple of 3!'
        s = s + n
    if False:
        y = n/5
        if isinstance(y, (int, long)):
            s = s + n

    print 'Number: '
    print n
    print 'Sum:'
    print s
    n = n + 1
Run Code Online (Sandbox Code Playgroud)

python integer modulus

91
推荐指数
2
解决办法
32万
查看次数

PyCharm可以列出项目中的所有Python错误吗?

我在虚拟环境中使用python 2.7和PyCharm 2.7(2013年2月7日的新版本).

每当我在其中打开一个具有明确错误的python文件(相当于其他语言中的编译错误,例如使用未声明的变量,调用不存在的函数)时,它会在文件的装订线中显示红色条纹.

因此,我偶然发现错误,因为我碰巧导航到包含它们的文件.我真正想要的是能够在单独的窗口中列出所有python错误.Visual Studio 2005/2008/2010/... IDE有一个单独的"错误"视图,其中列出了所有文件名和行号,并使我能够单击这些错误中的任何一个并直接导航到资源.

PyCharm有这样的东西吗?

python compiler-errors pycharm python-2.7

83
推荐指数
3
解决办法
2万
查看次数

为什么ANSI C没有命名空间?

对于大多数语言来说,拥有名称空间似乎是明智之举.但据我所知,ANSI C不支持它.为什么不?有计划将其纳入未来的标准吗?

c namespaces ansi-c

82
推荐指数
7
解决办法
6万
查看次数

迭代器和枚举器之间的区别

.NET 3.5作业的面试问题是"迭代器和枚举器之间有什么区别"?

这是一个核心区别,LINQ等等.

无论如何,有什么区别?我似乎无法在网上找到一个可靠的定义.毫无疑问,我可以找到两个术语的含义,但我得到的答案略有不同.面试的最佳答案是什么?

IMO迭代器"迭代"集合,枚举器提供迭代功能,但必须调用它.

此外,使用yield关键字据说可以保存状态.究竟是什么状态?是否有这种好处的例子?

.net c# iterator enumeration generator

71
推荐指数
6
解决办法
4万
查看次数

Python:__ builtin__和__builtins__之间有什么区别?

我今天在编码并发现了一些东西.如果我打开一个新的解释器会话(IDLE)并检查使用该dir函数定义的内容,我会得到:

$ python
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']
>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BufferError', 'BytesWarning', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'None', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bool', 'buffer', …
Run Code Online (Sandbox Code Playgroud)

python language-design python-module python-2.7 python-3.x

69
推荐指数
3
解决办法
2万
查看次数