라인. 개요

문자열 - 위치한 문자 목록(또는 시퀀스)입니다. 특히 괜찮습니다. 전체 문자 시퀀스는 단일 개체로 처리됩니다.

문자는 한 번의 키 입력으로 키보드에서 입력할 수 있는 모든 것입니다(문자, 숫자, 백슬래시 또는 기타 문자).

문자열에는 공백이 있을 수 있습니다: "Hello world!".

빈 문자열은 문자가 0개인 문자열입니다.

Python은 따옴표(" ") 또는 아포스트로피(' ')로 묶인 모든 항목을 문자열로 허용합니다.

Python에서 문자열은 str 유형입니다.
 
기억해야 합니다!
Python의 문자열은 변경할 수 없습니다!


input 문을 사용하여 문자열에 새 값을 쓸 수 있습니다.
s = 입력()

  와 같이 단순히 문자열 값을 변수에 할당할 수도 있습니다.
s = '파이썬'
그 쯤
s = "파이썬"

내장 함수 len()을 사용하여 문자열의 길이를 결정할 수 있습니다.
n = len(들)


문자열 비교

문자열은 숫자처럼 서로 비교할 수 있습니다. 어떤 라인이 더 크고 더 작은지 결정할 수 있습니다.

문자열을 비교할 때 문자 코드가 비교됩니다. 수백은 아니더라도 수십 개의 문자 인코딩이 있습니다. 이 개념을 이해하는 가장 쉬운 방법은 가장 단순한 ASCII 중 하나를 이해하는 것입니다(여기 참조).  

현대 인코딩에서는 러시아어와 영어 문자가 모두 알파벳 순서로 배열되고 숫자도 작은 것에서 큰 것으로 이동한다는 것을 이해해야 합니다. 
예를 들어 아스키 코드표에서 영문자 'A'에 대한 코드는 - 65, 문자 'a' - 97, 숫자 '0' 코드는 48입니다. 러시아어 문자는 ASCII 코드 테이블의 확장 부분(128에서 255까지의 숫자)에 있습니다. 대문자는 소문자보다 앞에 옵니다(즉, 작은 코드를 가집니다).

사용되는 대부분의 인코딩 테이블에서 패턴은 동일하고, 소문자는 대문자보다 늦고, 숫자는 문자보다 빠르며, 러시아어는 영어보다 늦습니다.
 
문자 또는 문자열을 비교할 때 Python은 문자를 해당 서수 값으로 변환한 다음 왼쪽에서 오른쪽으로 비교합니다. 

예: "기관차"  < "steamboat", 단어의 다섯 번째 글자와 "in"이 다르기 때문입니다. < "x".

줄을 여러 부분으로 나누기

문자열을 입력할 때 임의의 구분 기호로 즉시 부분으로 나눌 수 있습니다.
같은 줄에 여러 숫자 변수를 입력하기 전에 이 작업을 수행했습니다. 문자열을 여러 부분으로 분할하기 위해 split() 메서드를 사용했습니다. 기본적으로 문자열을 공백으로 하위 문자열로 구분합니다.
이 방법을 사용하면 문자열을 예를 들어 공백으로 여러 부분으로 나눌 수 있습니다. 그리고 문자열의 각 부분을 별도의 변수에 씁니다.
 
예시
s1, s2 = 입력().분할()

예에서 공백으로 구분된 두 단어를 입력할 때 첫 번째 단어는 변수 s1에 저장되고 두 번째 -는 변수 s2에 저장됩니다.

문자열의 덧셈과 곱셈

문자열을 추가할 수 있으며 이를 위해 "+" 기호가 사용됩니다. 이 작업을 문자열 연결 또는 연결이라고 합니다. 
 
예 
s = "안녕하세요."
s1 = "세계"
인쇄(s + s1)
화면에 "Hello world"라는 문구가 표시됩니다. (따옴표 제외).

파이썬은 문자열에 숫자를 곱하는 연산을 구현합니다: 다중 덧셈을 대체합니다.
 
예 
s = "세계 "+"세계 "+"세계 "+"세계 "
 로 바꿀 수 있습니다.
s = "세계 " *4

행 인덱스 참조

문자열의 각 문자에는 번호( 인덱스라고 함)가 있으며 많은 언어에서 번호 매기기는 항상 0부터 시작합니다.
Python에서는 음수 인덱스를 지정할 수 있습니다. 즉, 라인의 끝에서부터 계산됩니다.
 
예 
<몸>
문자열의 길이를 음수 인덱스에 추가하면 "정상" 캐릭터 위치.
 
기억해야 합니다!
Python에서는 문자열 자체가 변경할 수 없기 때문에 문자열의 단일 문자를 변경할 수 없습니다. 

문자열 S H e l l o
색인 S[0] S[1] S[2] S[3] S[4]
색인 S[-5] S[-4] S[-3] S[-2] S[-1]

모든 문자에 대해 반복

인덱스로 문자에 액세스할 수 있으므로 변수 루프를 사용하여 가능한 인덱스 값을 사용하는 모든 문자를 반복할 수 있습니다. 예를 들어 문자열 s의 모든 문자 코드를 표시하는 프로그램은 다음과 같습니다. <예비> 범위(len(s))의 i에 대해: print(s[i], ord(s[i])) 프로그램에 대한 설명:
1) len(s) 함수는 문자열의 길이를 찾습니다. 첫 번째 문자의 인덱스는 0이고 마지막 문자의 인덱스는 len(s)-1입니다. 루프 변수 i0에서 len(s)-1까지 순차적으로 값을 가져옵니다.
2) 각 줄에서 기호 자체가 먼저 표시되고 내장 함수 ord()에 의해 반환되는 코드가 표시됩니다.

동일한 열거형을 더 짧게 작성할 수 있습니다. <예비> s의 c에 대해: print(c, 오드(c)) 이 조각에서 루프 헤더는 모든 문자 s를 반복하여 변수 c에 차례로 배치합니다.

이미 언급했듯이 문자열로 작업할 때 파이썬의 특징은 문자열이 불변 객체라는 것입니다. 즉, 문자열의 개별 문자를 변경할 수 없습니다.

예를 들어 다음 문은 작동하지 않습니다. <예비> s[5]='a' 그러나 필요한 변경 사항이 있는 문자에서 새 줄을 작성할 수 있습니다.
 
과제
입력 문자열에서 모든 문자 'a'를 교체하십시오. 문자 'b'로.  <예비> 에스 = 입력() sNew = "" s의 c에 대해: if c == 'a': c = 'b'; s신규 += c 인쇄(sNew)
이 프로그램에서 루프는 문자열 s의 모든 문자를 통과합니다. 루프 본문에서 변수 с의 값을 확인합니다. 기호가 'a' 기호와 일치하면 이를 교체합니다. 'b< /code>'로 추가하고 더하기 연산자를 사용하여 새 줄 sNew의 끝에 추가합니다.
이 옵션은 다소 느립니다.

앞으로 내장된 문자열 조작 함수를 살펴보고 더 빠르게 수행하는 방법에 대해 알아보겠습니다.