class A:
def __init__(self):
print('I am A')
class B(A):
def b(self):
print('I am B.b')
class C(A):
def c(self):
x.b()
if __name__ == '__main__':
x = B()
y = C()
y.c()
当谈到Y.C()时,它是如何工作的?在C.c()中,如何在没有实例化的情况下调用实例x?非常感谢,如果有人能
给定一个函数中的一个函数,如何从外部函数调用内部函数?
例如。
def a():
print 'a'
def b():
print 'b'
def c():
print 'c'
def d():
# how would I now call a, b and c from here?
def e():
# how would I call a, b and c from here as well?
是的,我知道这是一个可怕的代码结构,不应该这
我想生成一组具有相同方法但不同name属性的类。例如, class A:
name = '1'
def f(self):
print('call')
class B
name = '2'
def f(self):
print('call')
class C
name = '3'
def f(self):
print('call')
server.register_handler_class(A)
我正在用ruby创建一个程序,我对这个语言很陌生,我想知道如何将数据从私有方法返回到公共方法,以便在调用该方法时显示数据。
我已经在网上查看过了,但是随着我对语言的熟悉,我发现很难把我看到的东西转移到我的代码中所需要的东西上。
def display
# return calcutalateFrequencies data here
end
private
def calculateFrequencies
@text = text.downcase.chars.each do |c|
next if c =~ /\s/
@letters[c] += 1
en
我在python中有一个变量x。如何从变量中找到字符串'x‘。这是我的尝试:
def var(v,c):
for key in c.keys():
if c[key] == v:
return key
def f():
x = '321'
print 'Local var %s = %s'%(var(x,locals()),x)
x = '123'
print 'Global var %s = %s'%(var(x,locals()),x)
f()
结果是:
Global var
我的类A、B和C都是从A和B继承的,而且在大多数情况下,只要有方法相互覆盖,我就想要A来覆盖B,所以我有以下结构:
class A:
def some_method(self):
return self.some_attribute
class B:
def some_method(self):
return self.some_other_attribute
class C(A,B):
def some_method(self):
var = super().some_method() -> this will
在调用draw函数时,我从牌组中丢失了两张牌,但只有一张附加到了玩家手中。我不知道其他的卡是怎么回事。
class Deck:
def __init__(self):
self.cards = []
self.build()
# builds the deck with 52 playing cards
def build(self):
for suit in ["Spades", "Clubs", "Diamonds", 'Hearts']:
考虑到这一职能:
def quux():
i = 42
print([i for x in [1]])
结果: 42
因此,我假设本地vars在列表理解中是可见的。
现在考虑这一点:
def foo():
return currentframe().f_back.f_locals["i"]
def quux():
i = 42
print([foo() for x in [1]])
结果是:
KeyError:“我”
检查堆栈帧,结果发现在quux和foo之间插入了一个额外的堆栈:
{'x': 1, '
此代码从表中检索所有记录并显示。我如何更改它,使其一次只显示表中的一条记录? def printquestion():
conn = sqlite3.connect('VIT.db')
c = conn.cursor()
posts = "select que from Questions"
c.execute(posts)
conn.commit()
records = c.fetchall()
print(records)
print_q = ''
for record
从祖母的问题开始,我想采纳他们的建议,将计数器作为一个类来实现。
这就是我所在的地方
puts 'Say something nice to Grandma.'
puts 'You may need to shout > '
class Counter
counter = 0
def Plus
counter += 1
end
def Minus
counter -= 1
end
def Reset
counter = 0
end
end
MyCounter = Counter.new
def sp
我正在使用Open cv从目录中的几个视频中提取帧。在迭代文件时,我将获得的帧命名为frame0、frame1等。但是当循环移动到下一个视频时,它再次开始命名帧0,1,2...因此,所有的旧帧都会被覆盖。
下面是我所做的:
#To make a list of paths to all files in dir
f=[]
for dirpath, subdir, files in os.walk(r'C:\Users\user\Desktop\Files'):
for x in files:
f.append(os.path.join(dirpath, x))
提取帧的
如何使用python 3从另一个脚本导入变量
示例:
我有两个脚本,我们称之为script_1.py和script_2.py。
script_1.py:
class Calculate():
def addition():
a = 5
b = 2
c = a + b
Q:如何使用第二个脚本(script_2.py)从script_1.py打印变量c
这里我想生成5个dicts,其中'a‘是索引'i','b’是0到5之间的随机整数。但是结果停留在'a'=0,它使从random.randint(0,5)生成新c保持不变,'i‘保持不变。怎么解决这个问题?thx很多
def wdg():
for i in range(5):
c = random.randint(0,5)
yield {'a':i,'b':c}
next(wdg())
假设我有一个函数层次结构,我希望能够访问(而不是更改!)父母的范围。这里是一个说明性的例子。
def f():
a = 2
b = 1
def g():
b = 2
c = 1
print globals() #contains a=1 and d=4
print locals() #contains b=2 and c=1, but no a
print dict(globals(), **locals()) #contains a=1, d=4 (from the globals), b
对于Python新手来说,有人能告诉我这里发生了什么吗?为什么它打印"A init"?
如果我从类B的__init__函数中删除super().__init__()行,那么行为就和预期的一样。但是为什么下面的代码不是一个错误,我以为B不会有超类呢?
class A:
def __init__(self):
print("A init")
class B:
def __init__(self):
super().__init__() # why is this line not an error