programing

파이썬에서 삼중 따옴표 안에 변수를 넣을 수 있습니까?

procenter 2021. 1. 17. 12:10
반응형

파이썬에서 삼중 따옴표 안에 변수를 넣을 수 있습니까? 그렇다면 어떻게?


이것은 아마도 어떤 사람들에게는 아주 간단한 질문 일 것입니다. 파이썬의 삼중 따옴표 안에 변수를 사용할 수 있습니까?

다음 예에서 텍스트에 변수를 사용하는 방법 :

wash_clothes = 'tuesdays'
clean_dishes = 'never'

mystring =""" I like to wash clothes on %wash_clothes
I like to clean dishes %clean_dishes
"""

print(mystring)

나는 그것이 결과를 원한다 :

 I like to wash clothes on tuesdays
     I like to clean dishes never

몇 가지 변수가 필요하고 수많은 텍스트와 특수 문자가있는 큰 텍스트 청크를 처리하는 가장 좋은 방법은 무엇입니까?


방법 중 하나 :

>>> mystring =""" I like to wash clothes on %s
... I like to clean dishes %s
... """
>>> wash_clothes = 'tuesdays'
>>> clean_dishes = 'never'
>>> 
>>> print mystring % (wash_clothes, clean_dishes)
 I like to wash clothes on tuesdays
I like to clean dishes never

문자열 형식도 살펴보십시오.


이를 수행하는 선호되는 방법은 다음을 사용 str.format()하는 방법보다 사용 하는 것입니다 %.

이 문자열 형식화 방법은 Python 3.0의 새로운 표준 %이며 새 코드에서 문자열 형식화 작업에 설명 된 형식화 보다 선호되어야합니다 .

예:

wash_clothes = 'tuesdays'
clean_dishes = 'never'

mystring =""" I like to wash clothes on {0}
I like to clean dishes {1}
"""

print mystring.format(wash_clothes, clean_dishes)

예! Python 3.6부터는이를 위해 f문자열을 사용할 수 있습니다. 제자리에서 보간 mystring되었으므로 이미 필요한 출력입니다.

wash_clothes = 'tuesdays'
clean_dishes = 'never'

mystring = f"""I like to wash clothes on {wash_clothes}
I like to clean dishes {clean_dishes}
"""

print(mystring)

다른 사람들이 말했듯이 가장 간단한 방법은 str.format ()이라고 생각합니다.

그러나 Python에는 Python2.4에서 시작 하는 string.Template 클래스 가 있다고 언급 할 것이라고 생각 했습니다.

다음은 문서의 예입니다.

>>> from string import Template
>>> s = Template('$who likes $what')
>>> s.substitute(who='tim', what='kung pao')
'tim likes kung pao'

내가 이것을 좋아하는 이유 중 하나는 위치 인수 대신 매핑을 사용하기 때문입니다.


예. 나는 이것이 효과가있을 것이라고 믿는다.

do_stuff = "Tuesday"

mystring = """I like to do stuff on %(tue)s""" % {'tue': do_stuff}

편집 : 형식 지정자에서 's'를 잊어 버렸습니다.


또한 중간 변수가 필요하지 않습니다.

name = "Alain"
print """
Hello %s
""" % (name)

간단한 방법으로 여러 인수 전달

wash_clothes = 'tuesdays'
clean_dishes = 'never'
a=""" I like to wash clothes on %s I like to clean dishes %s"""%(wash_clothes,clean_dishes)
print(a)

참조 URL : https://stackoverflow.com/questions/3877623/in-python-can-you-have-variables-within-triple-quotes-if-so-how

반응형