求解input
本帖最后由 君无泪 于 2021-9-22 22:02 编辑from xpinyin import Pinyin
class A:
def __init__(self):
self.p = Pinyin()
def pinyin(self, chinese=input('请输入: ')):
p_y = self.p.get_pinyin(a)
print(p_y)
def pinyins(self, chinese=input('请输入汉字: ')):
p_y = self.p.get_pinyins(chinese, tone_marks='marks')
print(p_y)
if __name__ == '__main__':
a = A()
a.pinyins()
求解:我没有调用pinyin()这个方法,为什么会提示:请输入:。 本帖最后由 suchocolate 于 2021-9-22 15:44 编辑
你的pinyins函数的形参调用了input。当python读到这个函数的时候就会运行input。 from xpinyin import Pinyin
class A:
def __init__(self):
self.p = Pinyin()
def pinyin(self, chinese=input('请输入: ')):
p_y = self.p.get_pinyin(a)
print(p_y)
def pinyins(self, chinese=input('请输入汉字: ')):
p_y = self.p.get_pinyins(chinese, tone_marks='marks')
print(p_y)
if __name__ == '__main__':
a = A()
a.pinyins()
看看这俩地方,你定义方法参数时候 input 带上括号了,那么调用这个方法时候自然也就调用了 input
Twilight6 发表于 2021-9-22 19:48
看看这俩地方,你定义方法参数时候 input 带上括号了,那么调用这个方法时候自然也就调用了 input
我没有调用第一个方法,我只是调用了第二个方法,不知道为什么会自动调用第一个方法的input函数? 君无泪 发表于 2021-9-22 21:29
我没有调用第一个方法,我只是调用了第二个方法,不知道为什么会自动调用第一个方法的input函数?
但是你定义第一个方法得时候,调用了 input 函数
python 执行的时候是从上到下的,虽然你没调用 方法1,但是当程序执行到这一步的时候,它会执行 input 函数 白two 发表于 2021-9-22 21:50
但是你定义第一个方法得时候,调用了 input 函数
python 执行的时候是从上到下的,虽然你没调用 方法1, ...
这样啊,谢谢啦!有点奇怪,把input函数放在方法里面就没事。放在方法参数里面就会自动调用。
页:
[1]