2017-12-16 2 views
-1

오늘파이썬은 리터럴 문자열 보간과 수학 표현식을 평가

a=4 
b=5 
f'{a+b}' 

위의 코드는 출력 9, 내가 너무 변수에 작업을 넣어려고을 제공, 리터럴 문자열 보간 우연히.

a=4 
b='+' 
c=5 

지금 리터럴 문자열 보간이 예상 출력을 생성 할 수있는 방법은 documentation을보고 있지만, 그것의 많은 만들 수 없습니다.

+0

안녕하세요, downvote에 대한 많은 감사, 친절하게 나에게 downvoted 무엇인지 알려주거나 그냥 투표 여부를 테스트하기위한 것이 었습니다 : p – someone

답변

1

당신은 eval()를 사용할 수 있습니다

r = eval(f'{a}{b}{c}') 

그러나eval()의 사용은 일반적으로 권장되지 않습니다, 그것은 당신이 그것에 공급 임의의 문자열을 평가하는 것이기 때문이다. 여기에는 악의적 인 사용자가 어떻게 든 들어갈 수있는 임의의 코드가 포함됩니다.

+1

당신은'+','eval (f "{a} {b} {c}")'이 (가) 작동합니다. – cdarke

+0

@stybl, 그래, 또 다른 게시물을 stackoverflow에 그 평가는 악마입니다, https://stackoverflow.com/questions/2371436/evaluating-a-mathematical-expression-in-a-string – someone

관련 문제