Python-문자열
문자열은 Python에서 가장 많이 사용되는 유형 중 하나입니다. 문자를 따옴표로 묶어 간단하게 만들 수 있습니다. 파이썬은 작은 따옴표를 큰 따옴표와 동일하게 취급합니다. 문자열을 만드는 것은 변수에 값을 할당하는 것만 큼 간단합니다. 예를 들면-
var1 = 'Hello World!'
var2 = "Python Programming"
문자열의 값에 액세스
Python은 문자 유형을 지원하지 않습니다. 이들은 길이가 1 인 문자열로 취급되므로 하위 문자열로도 간주됩니다.
하위 문자열에 액세스하려면 색인 또는 색인과 함께 분할 할 때 대괄호를 사용하여 하위 문자열을 얻습니다. 예를 들면-
#!/usr/bin/python
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/python
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/python
print "My name is %s and weight is %d kg!" % ('Zara', 21)
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
My name is Zara and weight is 21 kg!
다음은 %와 함께 사용할 수있는 전체 기호 목록입니다.
형식 기호 | 변환 |
---|---|
%씨 | 캐릭터 |
%에스 | 포맷하기 전에 str ()을 통한 문자열 변환 |
%나는 | 부호있는 10 진수 정수 |
%디 | 부호있는 10 진수 정수 |
%유 | 부호없는 십진 정수 |
%영형 | 8 진 정수 |
%엑스 | 16 진 정수 (소문자) |
%엑스 | 16 진 정수 (대문자) |
%이자형 | 지수 표기법 (소문자 'e'사용) |
%이자형 | 지수 표기법 (대문자 'E'사용) |
%에프 | 부동 소수점 실수 |
%지 | % f 및 % e 중 더 짧은 |
%지 | % f 및 % E 중 짧은 |
기타 지원되는 기호 및 기능은 다음 표에 나열되어 있습니다.
상징 | 기능성 |
---|---|
* | 인수는 너비 또는 정밀도를 지정합니다. |
- | 왼쪽 정렬 |
+ | 표시를 표시 |
<sp> | 양수 앞에 공백을 두십시오 |
# | 'x'또는 'X'가 사용되었는지 여부에 따라 8 진수 선행 0 ( '0') 또는 16 진수 선행 '0x'또는 '0X'를 추가합니다. |
0 | 공백 대신 0으로 왼쪽부터 채우기 |
% | '%%'는 단일 리터럴 '%'를 남깁니다. |
(var) | 매핑 변수 (사전 인수) |
백만 | m은 최소 총 너비이고 n은 소수점 뒤에 표시 할 자릿수입니다 (해당하는 경우). |
트리플 따옴표
파이썬의 삼중 따옴표는 문자열이 축 어적 NEWLINEs, TAB 및 기타 특수 문자를 포함하여 여러 줄에 걸쳐 있도록 허용함으로써 구출됩니다.
삼중 따옴표 구문은 연속 된 세 개의 single or double 인용 부호.
#!/usr/bin/python
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/python
print 'C:\\nowhere'
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
C:\nowhere
이제 원시 문자열을 사용합시다. 우리는 표현을 넣을 것입니다r'expression' 다음과 같이-
#!/usr/bin/python
print r'C:\\nowhere'
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
C:\\nowhere
유니 코드 문자열
Python의 일반 문자열은 내부적으로 8 비트 ASCII로 저장되는 반면 유니 코드 문자열은 16 비트 유니 코드로 저장됩니다. 이를 통해 전 세계 대부분의 언어의 특수 문자를 포함하여보다 다양한 문자 집합을 사용할 수 있습니다. 유니 코드 문자열 처리를 다음으로 제한하겠습니다.
#!/usr/bin/python
print u'Hello, world!'
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
Hello, world!
보시다시피 유니 코드 문자열은 원시 문자열이 접두사 r을 사용하는 것처럼 접두사 u를 사용합니다.
기본 제공 문자열 메서드
파이썬에는 문자열을 조작하는 다음과 같은 내장 메소드가 포함되어 있습니다.
Sr. 아니. | 설명이있는 방법 |
---|---|
1 | 자본화 () 문자열의 첫 글자를 대문자로 표시 |
2 | center (너비, fillchar) 전체 너비 열의 중앙에 원래 문자열이있는 공백으로 채워진 문자열을 반환합니다. |
삼 | count (str, beg = 0, end = len (string)) 시작 인덱스 beg 및 끝 인덱스 끝이 제공되는 경우 문자열 또는 문자열의 하위 문자열에서 str이 발생하는 횟수를 계산합니다. |
4 | decode (encoding = 'UTF-8', errors = 'strict') 인코딩을 위해 등록 된 코덱을 사용하여 문자열을 디코딩합니다. 인코딩의 기본값은 기본 문자열 인코딩입니다. |
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의 하위 문자열에서 발생하는지 결정합니다. 발견되면 index를 반환하고 그렇지 않으면 -1을 반환합니다. |
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 chars)에 따라 문자열을 번역하여 del 문자열에서 제거합니다. |
38 | 높은() 문자열의 소문자를 대문자로 변환합니다. |
39 | zfill (폭) Returns original string leftpadded with zeros to a total of width characters; intended for numbers, zfill() retains any sign given (less one zero). |
40 | isdecimal() Returns true if a unicode string contains only decimal characters and false otherwise. |