python动态函数名 python动态参数应用

关于python中几个函数的用法函数调用
myFun()
# 函数的参数
#单个参数
#场景
#需要动态的调整函数体中某一个处理信息
#则可以, 以参数的形式接收到相关数据
#定义
#def 函数名(参数名称):
#函数体
#函数体中, 可以直接以变量的方式使用该参数
#函数的调用
#函数名(参数值)
#形参和实参的概念
#上述函数定义中, "参数名称"即为形参;
#在调用函数的时候, 传递的真实数据, 即为实参
#多个参数
#场景
#需要动态的调整函数体中多个处理信息时
#则可以以 逗号 做分割, 接收多个参数
#定义
#def 函数名(参数名称1, 参数名称2):
#函数体
#函数体中, 可以直接以变量的方式使用所有参数
#调用
#方式1
#函数名(参数1, 参数2, 参数3...)
#形参和实参一一对应
#方式2
#函数名(参数名称1=参数1, 参数名称n = 参数n...)
#可以指明形参名称
#称为"关键字参数"
#不需要严格按照顺序
#不定长参数
#场景
#如果函数体中, 需要处理的数据, 不确定长度
#则可以以不定长参数的方式接收数据
#方式1
#定义
#def 函数名(*args):
#元组
#函数体
#函数体中, 可以直接以元组变量的方式使用该参数
#使用
#函数名(参数1, 参数2, 参数3...)
python 怎么生成可变函数名定义一个A类,然后实例化一个A对象,通过setattr函数来给当前类添加一个变量,值是test函数 。调用haha函数,就相当于调用了test函数 。例2,定义一个模块 , 通过另一个模块函数调用函数来增加变量,值是test2函数 。调用haha函数,就相当于调用了test2函数 。
原理
python系统会维护一个变量的字典 , 可以通过locals()或者globals()获取到该字典 。由于字典是可变对象,那么,就可以动态的增加变量 。由于函数也是一个对象 , 那么就可以将变量指向函数 。这样就可以达到动态修改函数名的目的了 。
python中函数定义1、函数定义
①使用def关键字定义函数

def 函数名(参数1.参数2.参数3...):
"""文档字符串,docstring,用来说明函数的作用"""
#函数体
return 表达式
注释的作用:说明函数是做什么的,函数有什么功能 。
③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么 。Python函数的本质与数学中的函数的本质是一致的 。
2、函数调用
①函数必须先定义,才能调用,否则会报错 。
②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)
③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用 。
④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的 。
⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数 。
Python如何通过字符或数字动态获取对象的名称或者属性?首先通过一个例子来看一下本文中可能用到的对象和相关概念 。
#coding: UTF-8
import sys # 模块,sys指向这个模块对象
import inspect
def foo(): pass # 函数,foo指向这个函数对象
class Cat(object): # 类 , Cat指向这个类对象
def __init__(self, name='kitty'):
self.name = name
def sayHi(self): # 实例方法,sayHi指向这个方法对象,使用类或实例.sayHi访问
print self.name, 'says Hi!' # 访问名为name的字段,使用实例.name访问

推荐阅读