Python 3-문자열
문자열은 Python에서 가장 많이 사용되는 유형 중 하나입니다. 문자를 따옴표로 묶어 간단하게 만들 수 있습니다. 파이썬은 작은 따옴표를 큰 따옴표와 동일하게 취급합니다. 문자열을 만드는 것은 변수에 값을 할당하는 것만 큼 간단합니다. 예를 들면-
var1 = 'Hello World!'
var2 = "Python Programming"
문자열의 값에 액세스
Python은 문자 유형을 지원하지 않습니다. 이들은 길이가 1 인 문자열로 취급되므로 하위 문자열로도 간주됩니다.
하위 문자열에 액세스하려면 색인 또는 색인과 함께 분할 할 때 대괄호를 사용하여 하위 문자열을 얻습니다. 예를 들면-
#!/usr/bin/python3
var1 = 'Hello World!'
var2 = "Python Programming"
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
var1[0]: H
var2[1:5]: ytho
문자열 업데이트
변수를 다른 문자열에 (재) 할당하여 기존 문자열을 "업데이트"할 수 있습니다. 새 값은 이전 값 또는 완전히 다른 문자열과 관련 될 수 있습니다. 예를 들면-
#!/usr/bin/python3
var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
Updated String :- Hello Python
이스케이프 문자
다음 표는 백 슬래시 표기법으로 표시 할 수있는 이스케이프 또는 인쇄 할 수없는 문자 목록입니다.
이스케이프 문자가 해석됩니다. 작은 따옴표 및 큰 따옴표로 묶인 문자열.
백 슬래시 표기법 | 16 진수 문자 | 기술 |
---|---|---|
\ㅏ | 0x07 | 벨 또는 경고 |
\비 | 0x08 | 역행 키이 |
\ cx | Control-x | |
\ Cx | Control-x | |
\이자형 | 0x1b | 탈출 |
\에프 | 0x0c | Formfeed |
\ M- \ Cx | Meta-Control-x | |
\엔 | 0x0a | 개행 |
\ nnn | 8 진법 (n은 0.7 범위에 있음) | |
\아르 자형 | 0x0d | 캐리지 리턴 |
\에스 | 0x20 | 우주 |
\티 | 0x09 | 탭 |
\V | 0x0b | 수직 탭 |
\엑스 | 문자 x | |
\ xnn | 16 진수 표기법, 여기서 n은 0.9, af 또는 AF 범위에 있습니다. |
문자열 특수 연산자
문자열 변수 가정 a 'Hello'및 변수 보유 b 'Python'을 보유한 다음-
운영자 | 기술 | 예 |
---|---|---|
+ | 연결-연산자의 양쪽에 값을 추가합니다. | a + b는 HelloPython을 제공합니다. |
* | 반복-동일한 문자열의 여러 복사본을 연결하여 새 문자열을 만듭니다. | a * 2는 -HelloHello를 줄 것입니다. |
[] | 슬라이스-주어진 색인에서 문자를 제공합니다. | a [1]은 e를 줄 것입니다 |
[:] | Range Slice-주어진 범위의 문자를 제공합니다. | a [1 : 4]는 ell을 줄 것입니다. |
에 | Membership-주어진 문자열에 문자가 있으면 true를 반환합니다. | H는 1을 줄 것이다 |
아니 | Membership-주어진 문자열에 문자가 없으면 참을 반환합니다. | M이 아닌 1 |
r / R | 원시 문자열-이스케이프 문자의 실제 의미를 억제합니다. 원시 문자열의 구문은 따옴표 앞에 오는 원시 문자열 연산자 인 "r"문자를 제외하고는 일반 문자열의 구문과 정확히 동일합니다. "r"은 소문자 (r) 또는 대문자 (R) 일 수 있으며 첫 번째 따옴표 바로 앞에 위치해야합니다. | print r '\ n'인쇄 \ n 및 인쇄 R '\ n'prints \ n |
% | 형식-문자열 형식화를 수행합니다. | 다음 섹션 참조 |
문자열 형식화 연산자
Python의 가장 멋진 기능 중 하나는 문자열 형식 연산자 %입니다. 이 연산자는 문자열에 고유하며 C의 printf () 계열의 함수를 포함하는 팩을 구성합니다. 다음은 간단한 예입니다.
#!/usr/bin/python3
print ("My name is %s and weight is %d kg!" % ('Zara', 21))
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
My name is Zara and weight is 21 kg!
다음은 %와 함께 사용할 수있는 전체 기호 목록입니다.
Sr. 아니. | 형식 기호 및 변환 |
---|---|
1 | %c 캐릭터 |
2 | %s 포맷하기 전에 str ()을 통한 문자열 변환 |
삼 | %i 부호있는 10 진수 정수 |
4 | %d 부호있는 10 진수 정수 |
5 | %u 부호없는 십진 정수 |
6 | %o 8 진 정수 |
7 | %x 16 진 정수 (소문자) |
8 | %X 16 진 정수 (대문자) |
9 | %e 지수 표기법 (소문자 'e'사용) |
10 | %E 지수 표기법 (대문자 'E'사용) |
11 | %f 부동 소수점 실수 |
12 | %g % f 및 % e 중 더 짧은 |
13 | %G % f 및 % E 중 짧은 |
기타 지원되는 기호 및 기능은 다음 표에 나열되어 있습니다.
Sr. 아니. | 기호 및 기능 |
---|---|
1 | * 인수는 너비 또는 정밀도를 지정합니다. |
2 | - 왼쪽 정렬 |
삼 | + 표시를 표시 |
4 | <sp> 양수 앞에 공백을 두십시오 |
5 | # 'x'또는 'X'가 사용되었는지 여부에 따라 8 진수 선행 0 ( '0') 또는 16 진수 선행 '0x'또는 '0X'를 추가합니다. |
6 | 0 공백 대신 0으로 왼쪽부터 채우기 |
7 | % '%%'는 단일 리터럴 '%'를 남깁니다. |
8 | (var) 매핑 변수 (사전 인수) |
9 | m.n. m은 최소 총 너비이고 n은 소수점 뒤에 표시 할 자릿수입니다 (해당하는 경우). |
트리플 따옴표
파이썬의 삼중 따옴표는 문자열이 축 어적 NEWLINEs, TAB 및 기타 특수 문자를 포함하여 여러 줄에 걸쳐 있도록 허용함으로써 구출됩니다.
삼중 따옴표 구문은 연속 된 세 개의 single or double 인용 부호.
#!/usr/bin/python3
para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str)
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. 모든 단일 특수 문자가 "up"사이의 문자열 끝에있는 마지막 NEWLINE까지 인쇄 된 형태로 어떻게 변환되었는지 확인하십시오. 삼중 따옴표를 닫습니다. 또한 NEWLINEs는 줄 끝이나 이스케이프 코드 (\ n)에 명시적인 캐리지 리턴으로 발생합니다.
this is a long string that is made up of
several lines and non-printable characters such as
TAB ( ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
], or just a NEWLINE within
the variable assignment will also show up.
원시 문자열은 백 슬래시를 특수 문자로 전혀 처리하지 않습니다. 원시 문자열에 입력 한 모든 문자는 작성한 그대로 유지됩니다.
#!/usr/bin/python3
print ('C:\\nowhere')
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
C:\nowhere
이제 원시 문자열을 사용합시다. 우리는 표현을 넣을 것입니다r'expression' 다음과 같이-
#!/usr/bin/python3
print (r'C:\\nowhere')
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
C:\\nowhere
유니 코드 문자열
Python 3에서는 모든 문자열이 유니 코드로 표시되고 Python 2에서는 내부적으로 8 비트 ASCII로 저장되므로 유니 코드로 만들려면 'u'를 첨부해야합니다. 이제 더 이상 필요하지 않습니다.
기본 제공 문자열 메서드
파이썬에는 문자열을 조작하는 다음과 같은 내장 메소드가 포함되어 있습니다.
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 자본화 () 문자열의 첫 글자를 대문자로 표시 |
2 | center (너비, fillchar) 전체 너비 열의 중앙에 원래 문자열이 있는 fillchar 로 채워진 문자열을 반환합니다 . |
삼 | count (str, beg = 0, end = len (string)) 시작 인덱스 beg 및 끝 인덱스 끝이 제공되는 경우 문자열 또는 문자열의 하위 문자열에서 str이 발생하는 횟수를 계산합니다. |
4 | 디코딩 (인코딩 = 'UTF-8', 오류 = '엄격') 인코딩을 위해 등록 된 코덱을 사용하여 문자열을 디코딩합니다. 인코딩의 기본값은 기본 문자열 인코딩입니다. |
5 | encode (encoding = 'UTF-8', errors = 'strict') 문자열의 인코딩 된 문자열 버전을 반환합니다. 오류 발생시 기본값은 '무시'또는 '대체'와 함께 오류가 제공되지 않는 한 ValueError를 발생시키는 것입니다. |
6 | endswith (접미사, beg = 0, end = len (문자열)) 문자열 또는 문자열의 하위 문자열 (시작 인덱스 beg 및 끝 인덱스 끝이 제공되는 경우)이 접미사로 끝나는 지 결정합니다. 그렇다면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
7 | expandtabs (tabsize = 8) 문자열의 탭을 여러 공백으로 확장합니다. tabsize가 제공되지 않은 경우 기본값은 탭당 8 개의 공백입니다. |
8 | find (str, beg = 0 end = len (string)) 시작 인덱스 beg와 끝 인덱스 끝이 주어지면 str이 string 또는 string의 부분 문자열에서 발생하는지 확인하십시오. |
9 | index (str, beg = 0, end = len (string)) find ()와 동일하지만 str을 찾을 수 없으면 예외가 발생합니다. |
10 | isalnum () 문자열이 1 자 이상이고 모든 문자가 영숫자이면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
11 | isalpha () 문자열이 1 자 이상이고 모든 문자가 알파벳이면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
12 | isdigit () 문자열에 숫자 만 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
13 | islower () 문자열에 최소 1 개의 케이스 문자가 있고 모든 케이스 문자가 소문자이면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
14 | isnumeric () 유니 코드 문자열에 숫자 만 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
15 | isspace () 문자열에 공백 문자 만 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
16 | istitle () 문자열이 올바로 "titlecased"이면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
17 | isupper () 문자열에 케이스 문자가 하나 이상 있고 모든 케이스 문자가 대문자이면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
18 | 조인 (seq) 시퀀스 seq에있는 요소의 문자열 표현을 구분자 문자열을 사용하여 문자열로 병합 (연결)합니다. |
19 | len (문자열) 문자열의 길이를 반환 |
20 | ljust (너비 [, fillchar]) 전체 너비 열에 대해 왼쪽 정렬 된 원래 문자열이있는 공백으로 채워진 문자열을 반환합니다. |
21 | 보다 낮은() 문자열의 모든 대문자를 소문자로 변환합니다. |
22 | lstrip () 문자열에서 모든 선행 공백을 제거합니다. |
23 | maketrans () 번역 기능에 사용할 번역 테이블을 반환합니다. |
24 | 최대 (str) 문자열 str에서 최대 알파벳 문자를 반환합니다. |
25 | min (str) 문자열 str에서 최소 알파벳 문자를 반환합니다. |
26 | 바꾸기 (이전, 새 [, 최대]) string의 모든 old 항목을 new 또는 max가 주어진 경우 최대 max 항목으로 바꿉니다. |
27 | rfind (str, beg = 0, end = len (문자열)) find ()와 같지만 문자열에서 뒤로 검색합니다. |
28 | rindex (str, beg = 0, end = len (문자열)) index ()와 같지만 문자열에서 역방향으로 검색합니다. |
29 | rjust (너비, [, fillchar]) 전체 너비 열에 오른쪽 정렬 된 원래 문자열이있는 공백으로 채워진 문자열을 반환합니다. |
30 | rstrip () 문자열의 모든 후행 공백을 제거합니다. |
31 | split (str = "", num = string.count (str)) 구분 기호 str (제공되지 않은 경우 공백)에 따라 문자열을 분할하고 하위 문자열 목록을 반환합니다. 주어진 경우 최대 num 개의 하위 문자열로 분할됩니다. |
32 | 분할 선 (num = string.count ( '\ n')) 문자열을 모두 (또는 num) NEWLINEs 분할하고 NEWLINEs가 제거 된 각 줄의 목록을 반환합니다. |
33 | startswith (str, beg = 0, end = len (문자열)) 문자열 또는 문자열의 하위 문자열 (시작 색인 beg 및 끝 색인 끝이 제공되는 경우)이 하위 문자열 str으로 시작하는지 판별합니다. 그렇다면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
34 | 스트립 ([문자]) 문자열에 대해 lstrip () 및 rstrip ()을 모두 수행합니다. |
35 | 스왑 케이스 () 문자열의 모든 문자에 대해 대소 문자를 반전합니다. |
36 | 표제() 문자열의 "제목"버전을 반환합니다. 즉, 모든 단어는 대문자로 시작하고 나머지는 소문자입니다. |
37 | 번역 (테이블, deletechars = "") 번역 테이블 str (256 자)에 따라 문자열을 번역하여 del 문자열에서 제거합니다. |
38 | 높은() 문자열의 소문자를 대문자로 변환합니다. |
39 | zfill (폭) 총 너비 문자에 대해 0으로 왼쪽 패딩 된 원래 문자열을 반환합니다. 숫자를 위해 zfill ()은 주어진 부호를 유지합니다 (0 미만). |
40 | isdecimal () 유니 코드 문자열이 10 진수 문자 만 포함하면 true를 반환하고 그렇지 않으면 false를 반환합니다. |