python 문자열 결합의 7가지 방법 및 성능 비교 상세
python3.x 결합 문자열에는 일반적으로 다음과 같은 몇 가지 방법이 있습니다.
1. 직접 (+) 조작부호를 통해 연결
s = 'Hello'+' '+'World'+'!'
print(s)
출력 결과:Hello World!
이런 방식으로 문자열 연결을 하는 작업 효율이 낮습니다.python에서 + 두 문자열을 연결할 때 새로운 문자열이 생성되고 새로운 문자열을 생성하려면 메모리를 다시 신청해야 하기 때문에 연결 문자열이 많을 때 효율에 영향을 줄 수 있습니다.
2. str.join () 방법으로 결합
strlist=['Hello',' ','World','!']
print(''.join(strlist))
출력 결과:Hello World!
이런 방식은 일반적으로 집합을 문자열로 바꾸는 데 자주 사용된다.join () 에서''은 빈 문자일 수도 있고 다른 문자일 수도 있습니다. 다른 문자일 때 집합의 문자열은 이 문자로 구분됩니다. 예를 들어
strlist=['Hello',' ','World','!']
print(','.join(strlist))
출력 결과:Hello,World,!
3.str.format () 방법으로 결합
s='{} {}!'.format('Hello','World')
print(s)
출력 결과:Hello World!
이런 방식으로 문자열을 연결할 때 주의해야 할 것은 문자열의 {} 수량은format 방법의 매개 변수 수량과 일치해야 한다는 것이다. 그렇지 않으면 오류가 발생할 수 있다.
4. (%) 조작부호를 통해 연결
s = '%s %s!' % ('Hello', 'World')
print(s)
출력 결과:Hello World!
이 방식은str.format () 사용 방식과 기본적으로 일치합니다.
5. () 여러 줄로 결합
s = (
'Hello'
' '
'World'
'!'
)
print(s)
출력 결과:Hello World!
python이 닫히지 않은 괄호를 만나면 자동으로 여러 줄을 한 줄로 연결합니다.
6.string 모듈의 Template 객체를 통해 결합
from string import Template
s = Template('${s1} ${s2}!')
print(s.safe_substitute(s1='Hello',s2='World'))
출력 결과:Hello World!
Template의 구현 방식은 먼저 Template를 통해 문자열을 초기화하는 것입니다.이 문자열에는 키 하나하나가 포함되어 있다.substitute 또는 safe_ 호출을 통해키 값과 방법에서 전달된 매개 변수를 대응하여 현재 지정한 위치에서 문자열을 가져옵니다.이러한 방식의 이점은 다음과 같은 매개변수 불일치로 인한 이상을 걱정할 필요가 없다는 것입니다.
from string import Template
s = Template('${s1} ${s2} ${s3}!')
print(s.safe_substitute(s1='Hello',s2='World'))
출력 결과:Hello World ${s3}!
7. F-strings를 통해 결합
python 3.6.2 버전에서 PEP 498은 새로운 문자열 포맷 메커니즘을 제시했다.'문자열 삽입값'이나 더 흔히 볼 수 있는 호칭은 F-strings이다. F-strings는 명확하고 편리한 방식으로python 표현식을 문자열에 삽입하여 포맷했다.
s1='Hello'
s2='World'
print(f'{s1} {s2}!')
출력 결과:Hello World!
F-strings에서도 함수를 실행할 수 있습니다.
def power(x):
return x*x
x=4
print(f'{x} * {x} = {power(x)}')
출력 결과:4 * 4 = 16
그리고 F-strings의 운행 속도는 매우 빨라서%-string과str.format () 두 가지 포맷 방법보다 훨씬 빠르다.
본고에서 주로 설명하는python 문자열 결합에 관한 7가지 방법과 성능 비교는 기본적으로 이러한 것들입니다. 더 많은python 문자열에 대한 지식은 아래의 링크를 보십시오
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.