파이썬에서 나는 공백 문자를 입력과 같게하는 람다를 원한다. 예 : .파이썬 람다 인쇄 공간
x=lambda x: return space x times
print "my message",x(10),"my message 2"
출력 :
내 메시지 < 10 공간> 내 메시지를이 특정 상황에서 나의 필요를 충족합니다 2
. 이 기능을 쓸 수는 있지만 할 수 있다면?
파이썬에서 나는 공백 문자를 입력과 같게하는 람다를 원한다. 예 : .파이썬 람다 인쇄 공간
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의 대답은 정확하지만 나는 같은 일이 람다 필요하지 않습니다 더 단순하고 파이썬 방법은 정확하게 달성하기 위해 생각 :
def spacetimes(x): return x * ' '
을
는 : 당신이 주변에 함수를 통과 할 때
print "my message",spacetimes(10),"my message 2"
당신은 일반적으로 람다 필요합니다.
다음def msg(spacefunc):
print "my message",spacefunc(10),"my message 2"
당신이 람다 사용하여 호출 할 수 있습니다 : 예를 들어, 내가 함수에 포장하여 코드를 수정할 수 있습니다는 msg
라는 그 남자가 될
msg(lambda x: x * ' ')
증오를하지만, 경우 람다 일 필요는 없습니다 ... 실제로 원하는 모든 공간이 있다면 왜 안되는가요?
print "my message", ' '*6 ,"my message 2"
여기서 '6'은 사용자가 변경할 수 있습니다.
변수 이름을 함수 이름과 다른 것으로 부를 가치가 있습니다 ... –
물론이 경우에는 "10 *"을 직접 삽입하는 것이 쉽고 투명합니다. (하지만 OP가 요구 한 것이 맞습니다.) – Stuart
@Stuart 맞습니다. 추가하고 싶었지만 OP가 다른 상황에서 필요하다고 OP가 깨달았습니다. – iabdalkader