2017-07-05 188 views
0

我想使用相同的方法,但两个不同的名称。具有两个不同名称的相同方法?

例如:

def func(a): 
    print a 

def func2(a): 
    print a 

n= "yes" 
func(n) 
func2(n) 

的答案应该是:

"yes" 
"yes" 

会不会有什么办法可以做到:

def fun(a) or func2(a): 
    print a 

或类似这样的东西吗?

+1

如果你的函数像上面那样简单,你可以将它定义为lambda和in-line两个定义。 'func = func2 = lambda:print(a)'但要注意,这样做会失去可读性和易修改性(因为lambdas在使用上相当有限),所有这些都可以节省几行代码。不建议! –

回答

8

Python函数只是对象,你可以指定一个到另一个名称:

def fun(a): 
    print a 

func2 = fun 

现在的名字func2fun参考相同功能的对象,你可以把它通过任一名称。

0
 

def func(a): 
    print("a") 

n= "yes" 

def fun(a): 
    func(a) 

func(n) 

相关问题