Python noob在这里.如何掌握'fib'功能中的'内部'功能?
from time import sleep
class Fibonacci(object):
def __init__(self, a, b, limit=50):
self.a = a
self.b = b
self.limit = limit
def fib(self):
while self.a < self.limit:
c = self.a + self.b
sleep(1)
print self.a,
self.b = self.a
self.a = c
def inner(self):
print 'Damn it! Just print already!'
j = Fibonacci(0,1,2)
j.fib()
## This doesn't work. Gives an "AttibuteError: 'function' object has no attribute 'inner'"
j.fib.inner()
Run Code Online (Sandbox Code Playgroud) 我是编程新手,目前正在Zed Shaw的Python书中练习.在Zed的Ex41中,有这个功能:
def runner(map, start):
next = start
while True:
room = map[next]
print "\n-------"
next = room()
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么当他可以直接使用'start'时,他必须为变量'next'分配'start'?他为什么不这样做呢?
def runner(map, start):
while True:
room = map[start]
print "\n-------"
start = room()
Run Code Online (Sandbox Code Playgroud)
因为这个功能似乎也有效.谢谢
点击链接后,如何让web.py获取页面?我在我的模板中有这个:
<a href='add.html'>Home</a>
当我点击'Home'时,我会'找不到'.
在我的应用程序中,我有'/ add'映射到'Add'类,它返回'Boom!' 使用模板add.html.
urls = ('/', 'Index',
'/add','Add')
class Add(object):
def GET(self):
return render.add('Boom!')
Run Code Online (Sandbox Code Playgroud)
我觉得当我要求时/add.html,Add类将处理请求并返回'Boom!'
为什么我一直"找不到"?
我有以下javascript函数,当单击按钮时更新div中的文本(使用onclick()事件)它可以工作,但它会立即更改回旧文本.
function func()
{
var text = document.getElementById("text");
text.innerHTML = "Changed";
};
Run Code Online (Sandbox Code Playgroud)
HTML
<body>
<form>
<input type="submit" value="Add Text" onclick="func()"/>
</form>
<div id="text">
Text to Change
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我也尝试从函数中返回'false',但没有运气.
当我尝试使用git pushGoogle云存储库时,我收到了上述消息.然后它要求我输入我的凭据.之后我收到以下错误:
有效的选择是[auth,组件,计算,配置,容器,部署管理器,dns,docker,反馈,帮助,信息,init,元,预览,项目,源,sql,主题,版本].致命:" https://source.developers.google.com/p/projectname/ " 身份验证失败
有什么遗失的吗?
git google-cloud-platform gcloud google-cloud-source-repos gcloud-cli
我试图用python理解面向对象的编程.我是编程新手.我有这个课程给我一个我不理解的错误,如果有人能为我提供更多的信息,我将很高兴:
class TimeIt(object):
def __init__(self, name):
self.name = name
def test_one(self):
print 'executed'
def test_two(self, word):
self.word = word
i = getattr(self, 'test_one')
for i in xrange(12):
sleep(1)
print 'hello, %s and %s:' % (self.word, self.name),
i()
j = TimeIt('john')
j.test_two('mike')
Run Code Online (Sandbox Code Playgroud)
如果我上这堂课,我就得到了 'int' object is not callable" TypeError
但是,如果我在iwith self(self.i)之前,它可以工作.
class TimeIt(object):
def __init__(self, name):
self.name = name
def test_one(self):
print 'executed'
def test_two(self, word):
self.word = word
self.i = getattr(self, 'test_one')
for i in …Run Code Online (Sandbox Code Playgroud) 当我尝试从NewOne类访问属性"self.b"时,为什么会出现"AttributeError:'NewOne'对象没有属性'self.b'"错误消息.我的意思是它就在那里.
class NewOne(object):
def __init__(self):
self.b = 'Cat' # this is what i want to access
def child(self):
self.c = 'kitten'
return self.c
class FatherClass(object):
def __init__(self, a):
self.a = a
def son(self):
self.i = 'I and my father'
return self.i
def father(self):
self.x = 'are one'
return self.x
def father_son(self):
u = NewOne()
k = getattr(u, 'self.b') #why does it tell me NewOne has no self.b attr
return self.a, k()
Run Code Online (Sandbox Code Playgroud)
getattr用于访问方法吗?为什么它被称为getattr而不是getmeth或什么?谢谢
如何在类中打印文档字符串
对于功能,我可以这样做:
def func():
"""
doc string
"""
print func.__doc__
Run Code Online (Sandbox Code Playgroud)
是否可以在课堂上做同样的事情
class MyClass(object):
def __init__(self):
"""
doc string
"""
i = MyClass()
print i.__doc__
Run Code Online (Sandbox Code Playgroud)
这不起作用.它只打印出来None.
我正在写一个文本游戏,我想在不使用print命令的情况下使用doc字符串作为播放器的指令
谢谢