在python中定义函数
发布网友
发布时间:2022-04-20 07:56
我来回答
共2个回答
热心网友
时间:2022-04-07 12:56
涉及到状态保存,可以使用函子(书上这么翻译的,不晓得其他人是不是也这样叫),给你个例子,你比对着改。如果不懂,自己再延这个方向去查看资料。
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__函数被自动调用,在你的
#例子中,你可以通过这样的方式调用函数,就不用每次重新输入表达式了。
热心网友
时间:2022-04-07 14:14
#简单的应该能实现
expression = raw_input('请输入一个表达式: ')
#此处输入一个很简单的表达是 a = 1
def func():
exec expression
print a
#之后你电泳func()就会返回print a 的值。
#这样做,在python中还要考虑缩进,让用户输入会很麻烦