我正在尝试理解Python中一种奇怪的行为。
我有下面的python代码:
class IntContainer:
listOfInts = []
def __init__(self, initListOfInts):
for i in initListOfInts:
self.listOfInts.append(i)
def printInts(self):
print self.listOfInts
if __name__ == "__main__":
intsGroup1
下面这段简单的代码在Python 3.6中给出了一个错误(但在2.7中可以):
class XY:
pre = ''
z = [pre + a for a in ['x', 'y']]
# NameError: name 'pre' is not defined.
当我将相同的代码放在函数中而不是类中时:def XY(): ...,它可以工作。当我将列表理解放在一个常规循环中时,它也能正常工作。Python2.7使用的代码与3.6中的错误代码相同!
你知道从列表理解内部访问局部类变量有什么问题吗?
我需要一些帮助来理解python的概念。
class TilePuzzleProblem(search.Problem):
""" This class is the class for the NxN - blanks tile puzzle problem """
def __init__(self, N, blanks, initial, goal):
""" Initialize """
search.Problem.__init__(self, i
下面是学习Python的一些代码--艰苦的练习40:模块、类和对象--我似乎无法理解为什么类MyStuff(object)有一个参数。为什么要把对象放在括号里?
class MyStuff(object):
def __init__(self):
self.tangerine = "And now a thousand years between"
def apple(self):
print "I AM CLASSY APPLES!"
我已经阅读了一些关于StackOverflow的文章,但未能理解什么是新对
我理解以下Python代码:
>>> class A(object):
... def __str__(self):
... return "An instance of the class A"
...
>>>
>>> a = A()
>>> print a
An instance of the class A
现在,我想将输出更改为
>>> print A
<class '__main__.A'>
我需要重载哪个函数才能做到这一点
我正试着从rapid gui programming with python and qt学习PyQt,但在理解书中的一个例子中提到的以下代码行的meaning/requirement时遇到了困难。
class Form(QDialog):
def __init__(self,parent=None):
super(Form,self).__init__(parent) # Trouble understanding here
所以,我的问题是,super(Form,self).__init__(parent)的需求是什么,或者它试图完全填充的
为了理解一个概念,我编写了一个小python脚本,结果又引起了另一个混乱。这是密码-
x = 5
y = 3
class Exp(object):
def __init__(self, x, y):
self.x = x
self.y = y
print("In",x, y, self.x, self.y)
print("Middle",x,y)
print("Out",x,y)
Exp(1,2)
输出是-
Middle 5 3
Out 5 3
In 1 2 1 2
现在,我
首先我想说,我知道Python3中不存在new.instancemethod,从技术上讲,重载函数也不存在。
然而,我看到的是一个旧的python包,它在脚本中使用了new.instancemethod,有效地支持overloaded functions。
具体的包可以在上找到,尽管我已经在下面包含了我认为是相关的部分。
我使用的是python3,所以我需要把它转换成一个适用于python3的脚本。我已经使用了2to3工具,并且已经检查了大部分更改。然而,我被困在下面,我不知道用什么来取代new.instancemethod。
class overloaded:
...
de
我正在尝试学习python,我很难理解为什么这个类抛出一个错误,NameError: name 'self' is not defined .I遵循How to call a function within class?并添加了self,但这并没有帮助。这里是代码,谁能指出原因。 class Back(object):
def square(self,x):
y = x * x
return y
def main():
self.square(3)
if __name__ == "
我刚开始为OOPs编程,如果有人能帮我编写这段代码,那就太好了。下面的代码是python中链接列表的起始代码。
class Element(object):
def __init__(self, value):
self.value = value
self.next = None
class LinkedList(object):
def __init__(self, head=None):
self.head = head
def append(self, new_element):
current
我试图理解Python中的“可调用性”是什么,类是可调用的意味着什么。我在玩以下代码:
class A(object):
def __init__(self):
pass
print("Is A callable? " + str(callable(A)))
a=A()
print("created a")
a()
这将产生以下结果:
Is A callable? True
created a
Traceback (most recent call last):
File "test2.py", line 11
我对python非常陌生,我一直在网上看一些教程,因为我想使用我找到的python开源库来完成一个项目。
我知道在python中这样做继承是可能的
class Parent:
def print(self):
pass
class Child(Parent):
def print(self):
pass
然而,当我在查看开源库中的一些代码时,我看到了这样的情况。
from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed
class MyStrateg
我目前正在学习Keras,这是一个深度学习模块。
我遇到了一个我无法理解的句子,因为我不知道python包装器是什么。
from keras.models import Sequential
#Create the Sequential model
model = Sequential()
“keras.models.Sequential类是神经网络模型的包装器,它将网络视为一系列层。它使用用于训练和运行模型的常用方法(如compile()、fit()和evaluate() )来实现Keras模型接口。”
在上面的句子中,什么是Python包装器,它是做什么的?
self中的Python的用途是什么?我知道它指的是从该类创建的特定对象,但我不明白为什么它需要显式地作为参数添加到每个函数中。为了说明,在Ruby中我可以这样做:
class myClass
def myFunc(name)
@name = name
end
end
我很容易就能理解。但是,在Python中,我需要包含self
class myClass:
def myFunc(self, name):
self.name = name
有人能告诉我这件事吗?这不是我在我的(诚然有限的)经验中遇到的。