在python中定义函数
在python中,我要定义一个函数,但是函数的表达式由用户输入.我后面要多次调用这个函数.怎么办如果直接returninput().那么每次调用用户都要输一遍.......
在python中,我要定义一个函数,但是函数的表达式由用户输入.我后面要多次调用这个函数.怎么办 如果直接return input().那么每次调用用户都要输一遍....
展开
2个回答
展开全部
涉及到状态保存,可以使用函子(书上这么翻译的,不晓得其他人是不是也这样叫),给你个例子,你比对着改。如果不懂,自己再延这个方向去查看资料。
class Strip:
def __init__(self, characters): #初始化,将需要保留的状态信息存起来
self.characters = characters
def __call__(self, string): #创建的函子被使用时,自动调用__call__
return string.strip(self.characters)
#下面是使用方法,两个语句是密切衔接的。
strip_punctution = Strip(',;:.!?') #字符串参数将被__init__吃进去,并且保留在class中,
#相当于一种状态保存的方法,在你的例子中,你可以将用户表达式通过这种方式保存起来
strip_punctution('hello world!') #return 'hello world',他的功能是剥离characters
#字符串中出现的字符,此处把感叹号去掉了,
#这就是函子典型的使用方法,class中的__call__函数被自动调用,在你的
#例子中,你可以通过这样的方式调用函数,就不用每次重新输入表达式了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询