Python Lambda函数的空参数

时间:2017-05-05 14:49:11

标签: python lambda

是否有可能在python中编写一个不需要传递给它的任何参数的lambda函数?例如,有没有办法翻译这个功能:

def file_opener():
    f = open('filename.txt').read()
    return f

或没有传递输入的任何其他函数 变成lambda表达式?

3 个答案:

答案 0 :(得分:3)

views.py

完美无缺,所以是的,是的。

答案 1 :(得分:1)

试试吧!

>>> open('filename.txt', 'w').write('this is filename.txt contents')
29
>>> def call_this(fctn):
...     return fctn()
... 
>>> print(call_this(lambda: open('filename.txt').read()))
this is filename.txt contents

它有效

答案 2 :(得分:1)

试试这个(推荐不存在硬编码):

file = lambda f: open(f).read()

print (file('open.txt'))

如果您不想将filename作为参数传递,请使用:

f = lambda: open('open.txt').read()

print (f())