如果我上课了......
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告诉我我给了它两个参数,当我只给出一个?
我有大约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 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)
为了使这项工作,一些编译时间魔法进行,其中的一个后果是,下面的代码(重新绑定super到super_)失败:
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中是否有任何其他函数,方法等示例可以通过将它们重新绑定到不同的名称来打破?
我对以下几点感到困惑:
存储过程和视图之间有什么区别?
我应该何时使用存储过程,何时应该在SQL Server中使用视图?
视图是否允许创建我们可以传递参数的动态查询?
哪一个最快,哪个基于哪一个比另一个快?
视图或存储过程是否永久分配内存?
如果有人说视图创建虚拟表,而程序创建材料表,这意味着什么?
如果有的话,请告诉我更多的要点.
请考虑以下代码:
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
我需要测试从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 2.7和PyCharm 2.7(2013年2月7日的新版本).
每当我在其中打开一个具有明确错误的python文件(相当于其他语言中的编译错误,例如使用未声明的变量,调用不存在的函数)时,它会在文件的装订线中显示红色条纹.
因此,我偶然发现错误,因为我碰巧导航到包含它们的文件.我真正想要的是能够在单独的窗口中列出所有python错误.Visual Studio 2005/2008/2010/... IDE有一个单独的"错误"视图,其中列出了所有文件名和行号,并使我能够单击这些错误中的任何一个并直接导航到资源.
PyCharm有这样的东西吗?
对于大多数语言来说,拥有名称空间似乎是明智之举.但据我所知,ANSI C不支持它.为什么不?有计划将其纳入未来的标准吗?
.NET 3.5作业的面试问题是"迭代器和枚举器之间有什么区别"?
这是一个核心区别,LINQ等等.
无论如何,有什么区别?我似乎无法在网上找到一个可靠的定义.毫无疑问,我可以找到两个术语的含义,但我得到的答案略有不同.面试的最佳答案是什么?
IMO迭代器"迭代"集合,枚举器提供迭代功能,但必须调用它.
此外,使用yield关键字据说可以保存状态.究竟是什么状态?是否有这种好处的例子?
我今天在编码并发现了一些东西.如果我打开一个新的解释器会话(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 ×7
python-3.x ×4
python-2.7 ×2
.net ×1
ansi-c ×1
arguments ×1
c ×1
c# ×1
enumeration ×1
generator ×1
integer ×1
iterator ×1
methods ×1
modulus ×1
namedtuple ×1
namespaces ×1
performance ×1
pycharm ×1
self ×1
sql ×1
super ×1
type-hinting ×1
views ×1