利用python任意函数 用python编写一个函数( 二 )


return avg
print("avg = %f"%average(lst))
扩展资料:
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式 。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略 , 执行完中间循环体后接着执行末尾循环体 。
执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环 , 当条件不成立时则跳出当下for循环 。
在Python中使用字符串调用函数【利用python任意函数 用python编写一个函数】已有字符串形式的函数名称,那么如何调用这个函数呢?
通过调用内置函数locals()和globals()返回的字典对象,就可以可以获得名称与对象的映射关系 。其中,locals()仅在全局范围内调用时可以获得函数对象 。我们来看以下的例子 。
需要注意的是,使用上述方法通过字符串调用函数时 , 为了系统的安全,防止执行任意函数 , 需要对函数名做一些处理,也就是使用统一的前缀为这些函数命名 。例如在上述例子中,使用前缀cmd_+函数名的形式定义函数(cmd_help,cmd_sum) 。
在传入函数名字符串时,只传入函数名的后半部分(如"help","sum"),由程序添加前缀后组成完整的函数名,再调用该函数 。
对于类的成员函数,则可以使用getattr()获得类成员函数 。
上述代码通过字符串调用了类成员函数,与前一段代码执行的结果相同 。
此外 , 还可以使用字典将字符串与函数对应起来调用,缺点就是每增加一个函数需要相应在字典对象中添加相应的键值,增加代码维护工作量 。
以上代码在Python 3.6以上运行通过 。
利用python任意函数的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于用python编写一个函数、利用python任意函数的信息别忘了在本站进行查找喔 。

推荐阅读