Pythonでは、入力と等しいスペース文字を返すラムダが必要です。例えば。
x=lambda x: return space x times
print "my message",x(10),"my message 2"
出力:
私のメッセージ<10スペース>私のメッセージ2
これは、特定の状況での私のニーズに応えます。このための関数を書くことはできますが、これができるとしたら?
何かのようなもの:
x = lambda times:' '*times
print "my message{0}my message 2".format(x(10))
my message my message 2
@muxの答えは正しいですが、まったく同じことを実現するためのより単純でよりPython的な方法では、ラムダは必要ないと思います。
def spacetimes(x): return x * ' '
それから:
print "my message",spacetimes(10),"my message 2"
関数を渡したい場合は、通常、ラムダが必要です。たとえば、次の関数でコードをラップしてコードを修正しますmsg
。
def msg(spacefunc):
print "my message",spacefunc(10),"my message 2"
次に、ラムダを使用して呼び出すことができます。
msg(lambda x: x * ' ')
その男になるのは嫌いですが、ラムダである必要がない場合...実際に必要なのはスペースだけなら、なぜですか?
print "my message", ' '*6 ,"my message 2"
ここで、「6」はユーザーが変更できます。