给python函数改名,python怎么改名字

Python中怎么用字符串来命名一个函数?

有2个标准库函数可以完成你说的要求,建议用eval()

创新互联专注于企业营销型网站、网站重做改版、巴马网站定制设计、自适应品牌网站建设、HTML5商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为巴马等各大城市提供网站开发制作服务。

eval() 和exec()

区别是eval()有返回值

def test1():

print "Test1 Excuted!"

return True

ret = eval ("test1()")

print ret

结果如下

Test1 Excuted!

True

而exec()只执行,并无返回值。

def test2():

print "Test2 Excuted!"

return True

exec("test2()")

结果如下

Test2 Excuted!

如果要将exec()赋值,会有以下语法错误!

ret = exec("test2()")

python如何定义和调用函数

1、函数定义

①使用def关键字定义函数

def 函数名(参数1.参数2.参数3...):

"""文档字符串,docstring,用来说明函数的作用"""

#函数体

return 表达式

注释的作用:说明函数是做什么的,函数有什么功能。

③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么。Python函数的本质与数学中的函数的本质是一致的。

2、函数调用

①函数必须先定义,才能调用,否则会报错。

②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)

③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用。

④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的。

⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数。

python函数的名称可以随意命名对吗

错,函数的命名不能用python的保留字。['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

在python中定义函数

涉及到状态保存,可以使用函子(书上这么翻译的,不晓得其他人是不是也这样叫),给你个例子,你比对着改。如果不懂,自己再延这个方向去查看资料。

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__函数被自动调用,在你的

#例子中,你可以通过这样的方式调用函数,就不用每次重新输入表达式了。


本文标题:给python函数改名,python怎么改名字
转载注明:http://scyanting.com/article/dsgghgi.html