重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Python中定义函数格式为,def+函数名:代码块
创新互联建站致力于互联网网站建设与网站营销,提供网站设计、成都网站建设、网站开发、seo优化、网站排名、互联网营销、微信小程序开发、公众号商城、等建站开发,创新互联建站网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。
如:
def print_hello():
print("hello")
你不要在python shell里编程,要new file在新窗口中编程,要改函数就可以直接改了,按ctrl+F5可以查看运行结果
有2个标准库函数可以完成你说的要求,建议用eval()
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()")
定义一个A类,然后实例化一个A对象,通过setattr函数来给当前类添加一个变量,值是test函数。调用haha函数,就相当于调用了test函数。 例2,定义一个模块,通过另一个模块函数调用函数来增加变量,值是test2函数。调用haha函数,就相当于调用了test2函数。
原理
python系统会维护一个变量的字典,可以通过locals()或者globals()获取到该字典。由于字典是可变对象,那么,就可以动态的增加变量。由于函数也是一个对象,那么就可以将变量指向函数。这样就可以达到动态修改函数名的目的了。
Python 命名一般来说有一下不成文的规则 :
模块名一般使用全部小写 如 myphone
类名第一个字母大写,如果有多个单词,每一个单词的第一个字母大写如 : MyPhone
函数名 : 小写, 如果有多个单词用下划线隔开 如 my_phone
常量名字一般全大写 : MYPHONE
错,函数的命名不能用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']