logo

파이썬 문자열

문자열은 일련의 문자를 나타내는 Python 프로그래밍의 데이터 구조입니다. 불변 데이터 유형입니다. 즉, 문자열을 일단 생성하면 변경할 수 없습니다. Python 문자열은 텍스트 데이터 저장 및 조작, 이름, 주소 및 텍스트로 표시될 수 있는 기타 유형의 데이터를 나타내는 등 다양한 애플리케이션에서 널리 사용됩니다.

내용의 테이블

파이썬에서 문자열이란 무엇입니까?

파이썬 프로그래밍에는 문자 데이터 유형이 없으며 단일 문자는 단순히 길이가 1인 문자열입니다. Python 문자열 구문 :



Python의 문자열 데이터 유형 구문

string_variable = 'Hello, world!'>

Python의 문자열 데이터 유형 예

파이썬
string_0 = 'A Computer Science portal for geeks' print(string_0) print(type(string_0))>

산출:

A Computer Science portal for geeks>

Python에서 문자열 만들기

Python의 문자열 작은 따옴표, 큰 따옴표 또는 심지어 삼중 따옴표를 사용하여 만들 수 있습니다. Python에서 문자열을 정의하는 방법이나 Python에서 문자열을 작성하는 방법을 살펴보겠습니다.

예:

이 예에서는 Python 문자열을 생성하는 다양한 방법을 보여줍니다. 작은 따옴표(' '), 큰 따옴표( ), 삼중 큰 따옴표( )를 사용하여 문자열을 만듭니다. 삼중 따옴표는 Python에서 여러 줄 문자열을 선언하는 데 사용할 수 있습니다.

파이썬
# Creating a String # with single Quotes String1 = 'Welcome to the Geeks World' print('String with the use of Single Quotes: ') print(String1) # Creating a String # with double Quotes String1 = 'I'm a Geek' print('
String with the use of Double Quotes: ') print(String1) # Creating a String # with triple Quotes String1 = '''I'm a Geek and I live in a world of 'Geeks'''' print('
String with the use of Triple Quotes: ') print(String1) # Creating String with triple # Quotes allows multiple lines String1 = '''Geeks  For  Life''' print('
Creating a multiline String: ') print(String1)>

산출:

String with the use of Single Quotes: Welcome to the Geeks World String with the use of Double Quotes: I'm a Geek String with the use of Triple Quotes: I'm a Geek and I live in a world of 'Geeks' Creating a multiline String: Geeks For Life>

Python 문자열의 문자에 액세스하기

Python 프로그래밍 튜토리얼에서는 인덱싱 방법을 사용하여 문자열의 개별 문자에 액세스할 수 있습니다. 인덱싱을 사용하면 음수 주소 참조를 통해 문자열 뒷부분의 문자에 액세스할 수 있습니다. -1은 마지막 문자를 나타내고, -2는 마지막 두 번째 문자를 나타내는 식입니다.

범위를 벗어난 인덱스에 액세스하는 동안 색인 오류 . 정수만 인덱스, 부동 소수점 또는 오류를 발생시키는 기타 유형으로 전달될 수 있습니다. 유형오류 .

Python 문자열 인덱싱

Python 문자열 구문 인덱싱

Python 문자열 포지티브 인덱싱

이 예에서는 Python 프로그래밍에서 문자열을 정의하고 포지티브 인덱싱을 사용하여 해당 문자에 액세스합니다. 0번째 요소는 문자열의 첫 번째 문자가 됩니다.

문자열 자바의 값
파이썬
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing First character print('First character of String is: ', String1[0])>

산출:

Initial String: GeeksForGeeks First character of String is: G>

Python 문자열 부정 인덱싱

이 예에서는 음수 인덱싱을 사용하여 해당 문자에 액세스합니다. -3번째 요소는 문자열의 마지막 세 번째 문자입니다.

파이썬
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing Last character print('Last character of String is: ', String1[-3])>

산출

Initial String: GeeksForGeeks Last character of String is: e>

문자열 슬라이싱 Python

Python 프로그래밍 튜토리얼에서는 스트링 슬라이싱 메소드는 문자열의 문자 범위에 액세스하는 데 사용됩니다. 문자열의 슬라이싱은 슬라이싱 연산자, 즉 콜론(:)을 사용하여 수행됩니다. 이 방법을 사용할 때 명심해야 할 한 가지는 슬라이싱 후 반환되는 문자열에 시작 인덱스의 문자는 포함되지만 마지막 인덱스의 문자는 포함되지 않는다는 것입니다.

이 예에서는 문자열 분할 방법을 사용하여 원본 문자열의 하위 문자열을 추출합니다. [3:12]는 문자열 슬라이싱이 문자열의 3번째 인덱스부터 12번째 인덱스(12번째 문자는 포함하지 않음)까지 시작됨을 나타냅니다. 문자열 분할에 음수 인덱싱을 사용할 수도 있습니다.

파이썬
# Creating a String String1 = 'GeeksForGeeks' print('Initial String: ') print(String1) # Printing 3rd to 12th character print('
Slicing characters from 3-12: ') print(String1[3:12]) # Printing characters between # 3rd and 2nd last character print('
Slicing characters between ' + '3rd and 2nd last character: ') print(String1[3:-2])>

산출:

Initial String: GeeksForGeeks Slicing characters from 3-12: ksForGeek Slicing characters between 3rd and 2nd last character: ksForGee>

Python 문자열 반전

Python 프로그래밍 튜토리얼에서는 문자열의 문자에 액세스하여 다음을 수행할 수도 있습니다. Python의 역방향 문자열 프로그램 작성. 문자열 슬라이싱 방법을 사용하여 문자열을 뒤집을 수 있습니다.

이 예에서는 인덱스에 액세스하여 문자열을 반전합니다. 시작 인덱스부터 마지막 ​​인덱스까지 전체 문자열을 고려하고 있음을 나타내는 슬라이스의 처음 두 부분을 지정하지 않았습니다.

파이썬
#Program to reverse a string gfg = 'geeksforgeeks' print(gfg[::-1])>

산출:

skeegrofskeeg>

Python의 BuildIn 역방향 함수

내장된 함수를 사용하여 문자열을 뒤집을 수도 있습니다. 가입하다 그리고 반전 함수를 사용하고 문자열을 reversed() 함수에 매개변수로 전달합니다.

파이썬
# Program to reverse a string gfg = 'geeksforgeeks' # Reverse the string using reversed and join function gfg = ''.join(reversed(gfg)) print(gfg)>

산출:

skeegrofskeeg>

문자열 삭제/업데이트

Python에서는 문자열의 문자를 업데이트하거나 삭제하는 것이 허용되지 않습니다. 문자열에서 항목 할당이나 항목 삭제가 지원되지 않기 때문에 오류가 발생합니다. 내장된 del 키워드를 사용하면 전체 문자열을 삭제할 수도 있습니다. 이는 문자열이 불변이기 때문입니다. 따라서 문자열의 요소는 일단 할당되면 변경할 수 없습니다. 새 문자열만 동일한 이름에 다시 할당할 수 있습니다.

캐릭터 업데이트

문자열의 문자는 먼저 문자열을 문자열로 변환하여 Python에서 업데이트할 수 있습니다. 파이썬 목록 그런 다음 목록의 요소를 업데이트합니다. 목록은 본질적으로 변경 가능하므로 문자를 업데이트한 다음 목록을 다시 문자열로 변환할 수 있습니다.

또 다른 방법은 스트링 슬라이싱(string slicing) 방법을 사용하는 것이다. 업데이트하려는 문자 앞에서 문자열을 잘라낸 다음 새 문자를 추가하고 마지막으로 문자열 분할을 통해 문자열의 다른 부분을 다시 추가합니다.

예:

이 예에서는 목록과 문자열 분할 방법을 모두 사용하여 문자를 업데이트합니다. String1을 목록으로 변환하고 특정 요소의 값을 변경한 다음 Python을 사용하여 다시 문자열로 변환했습니다. 문자열 조인() 방법.

문자열 슬라이싱 방법에서는 업데이트하려는 문자까지 문자열을 분할하고 새 문자를 연결한 다음 마지막으로 문자열의 나머지 부분을 연결했습니다.

파이썬
# Python Program to Update # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a character of the String ## As python strings are immutable, they don't support item updation directly ### there are following two ways #1 list1 = list(String1) list1[2] = 'p' String2 = ''.join(list1) print('
Updating character at 2nd Index: ') print(String2) #2 String3 = String1[0:2] + 'p' + String1[3:] print(String3)>

산출:

Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek>

전체 문자열 업데이트

Python 프로그래밍에서 Python 문자열은 본질적으로 변경할 수 없으므로 기존 문자열을 업데이트할 수 없습니다. 이름이 같은 변수에만 완전히 새로운 값을 할당할 수 있습니다.

예: 이 예에서는 먼저 'String1'에 값을 할당한 다음 완전히 다른 값을 할당하여 업데이트했습니다. 우리는 단순히 참조를 변경했습니다.

파이썬
# Python Program to Update # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a String String1 = 'Welcome to the Geek World' print('
Updated String: ') print(String1)>

산출:

Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World>

캐릭터 삭제

Python 문자열은 변경할 수 없습니다. 즉, 문자열에서 문자를 삭제할 수 없습니다. 다음을 사용하여 문자를 삭제하려고 하면 ~의 키워드를 사용하면 오류가 발생합니다.

파이썬
# Python Program to delete # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) print('Deleting character at 2nd Index: ') del String1[2] print(String1)>

산출:

Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Traceback (most recent call last): File 'e:GFGPython codesCodesdemo.py', line 9, in del String1[2] TypeError: 'str' object doesn't support item deletion>

그러나 슬라이싱을 사용하면 원래 문자열에서 문자를 제거하고 결과를 새 문자열에 저장할 수 있습니다.

예: 이 예에서는 먼저 삭제하려는 문자까지 문자열을 분할한 다음 삭제된 문자 다음에 나머지 문자열을 연결합니다.

파이썬
# Python Program to Delete # characters from a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a character # of the String String2 = String1[0:2] + String1[3:] print('
Deleting character at 2nd Index: ') print(String2)>

산출:

Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek>

전체 문자열 삭제

Python 프로그래밍에서는 del 키워드를 사용하여 전체 문자열을 삭제할 수 있습니다. 또한 문자열을 인쇄하려고 하면 문자열이 삭제되어 인쇄할 수 없기 때문에 오류가 발생합니다.

파이썬
# Python Program to Delete # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a String # with the use of del del String1 print('
Deleting entire String: ') print(String1)>

오류:

Traceback (most recent call last): File '/home/e4b8f2170f140da99d2fe57d9d8c6a94.py', line 12, in print(String1) NameError: name 'String1' is not defined>

Python의 이스케이프 시퀀스

작은따옴표와 큰따옴표가 포함된 문자열을 인쇄하는 동안 구문오류 문자열에는 이미 작은따옴표와 큰따옴표가 포함되어 있으므로 이들 중 하나를 사용하여 인쇄할 수 없기 때문입니다. 따라서 이러한 문자열을 인쇄하려면 삼중따옴표를 사용하거나 이스케이프 시퀀스를 사용하여 문자열을 인쇄합니다.

이스케이프 시퀀스는 백슬래시로 시작하며 다르게 해석될 수 있습니다. 작은따옴표를 사용하여 문자열을 나타내는 경우 문자열에 있는 모든 작은따옴표를 이스케이프해야 하며 큰따옴표에도 동일하게 적용됩니다.

파이썬
# Initial String String1 = '''I'm a 'Geek'''' print('Initial String with use of Triple Quotes: ') print(String1) # Escaping Single Quote String1 = 'I'm a 'Geek'' print('
Escaping Single Quote: ') print(String1) # Escaping Double Quotes String1 = 'I'm a 'Geek'' print('
Escaping Double Quotes: ') print(String1) # Printing Paths with the # use of Escape Sequences String1 = 'C:PythonGeeks' print('
Escaping Backslashes: ') print(String1) # Printing Paths with the # use of Tab String1 = 'Hi	Geeks' print('
Tab: ') print(String1) # Printing Paths with the # use of New Line String1 = 'Python
Geeks' print('
New Line: ') print(String1)>

산출:

Initial String with use of Triple Quotes: I'm a 'Geek' Escaping Single Quote: I'm a 'Geek' Escaping Double Quotes: I'm a 'Geek' Escaping Backslashes: C:PythonGeeks Tab: Hi Geeks New Line: Python Geeks>

예:

문자열에서 이스케이프 시퀀스를 무시하려면, 아르 자형 또는 아르 자형 가 사용되면 이는 문자열이 원시 문자열이고 그 내부의 이스케이프 시퀀스가 ​​무시된다는 것을 의미합니다.

파이썬
# Printing hello in octal String1 = '110145154154157' print('
Printing in Octal with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is 110145154154157' print('
Printing Raw String in Octal Format: ') print(String1) # Printing Geeks in HEX String1 = 'This is x47x65x65x6bx73 in x48x45x58' print('
Printing in HEX with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is x47x65x65x6bx73 in x48x45x58' print('
Printing Raw String in HEX Format: ') print(String1)>

산출:

Printing in Octal with the use of Escape Sequences: Hello Printing Raw String in Octal Format: This is 110145154154157 Printing in HEX with the use of Escape Sequences: This is Geeks in HEX Printing Raw String in HEX Format: This is x47x65x65x6bx73 in x48x45x58>

Python 문자열 형식화

Python의 문자열 또는 Python의 문자열 데이터 유형은 다음을 사용하여 형식을 지정할 수 있습니다. 체재() 문자열 형식을 지정하는 매우 다양하고 강력한 도구입니다. 문자열의 형식 메소드에는 순서를 지정하기 위해 위치나 키워드에 따라 인수를 보유할 수 있는 자리 표시자로 중괄호 {}가 포함되어 있습니다.

예시 1: 이 예에서는 자리 표시자 역할을 하는 중괄호 {}가 포함된 문자열을 선언하고 문자열 선언 위치가 어떻게 중요한지 확인하기 위해 값을 제공합니다.

파이썬
# Python Program for # Formatting of Strings # Default order String1 = '{} {} {}'.format('Geeks', 'For', 'Life') print('Print String in default order: ') print(String1) # Positional Formatting String1 = '{1} {0} {2}'.format('Geeks', 'For', 'Life') print('
Print String in Positional order: ') print(String1) # Keyword Formatting String1 = '{l} {f} {g}'.format(g='Geeks', f='For', l='Life') print('
Print String in order of Keywords: ') print(String1)>

산출:

Print String in default order: Geeks For Life Print String in Positional order: For Geeks Life Print String in order of Keywords: Life For Geeks>

예 2: 2진수, 16진수 등과 같은 정수 및 부동소수점은 형식 지정자를 사용하여 반올림하거나 지수 형식으로 표시할 수 있습니다.

파이썬
# Formatting of Integers String1 = '{0:b}'.format(16) print('
Binary representation of 16 is ') print(String1) # Formatting of Floats String1 = '{0:e}'.format(165.6458) print('
Exponent representation of 165.6458 is ') print(String1) # Rounding off Integers String1 = '{0:.2f}'.format(1/6) print('
one-sixth is : ') print(String1)>

산출:

Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17>

예시 3: Python의 문자열 데이터 유형에서 문자열은 콜론(:)으로 구분된 형식 지정자를 사용하여 왼쪽, 오른쪽 또는 가운데 정렬될 수 있습니다. ()는 문자열이 오른쪽으로 정렬되어야 함을 나타내고 (^)는 문자열이 가운데로 정렬되어야 함을 나타냅니다. 또한 정렬되어야 하는 길이를 지정할 수도 있습니다. 예를 들어, (<10)은 문자열이 10자 너비의 필드 내에서 왼쪽으로 정렬되어야 함을 의미합니다.

파이썬
# String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
형식 지정: ') print(String1) # 시연하기 위해 공백 정렬 String1 = '
{0:^16}은 {1:<4}!'.format('techcodeview.com', 2009) print(String1)>

산출:

Left, center and right alignment with Formatting: |Geeks | for | Geeks| techcodeview.com was founded in 2009 !>

예시 4: 이전 스타일 형식 지정은 다음을 사용하여 형식 지정 방법을 사용하지 않고 수행되었습니다. 그만큼 % 운영자

파이썬
# Python Program for # Old Style Formatting # of Integers Integer1 = 12.3456789 print('Formatting in 3.2f format: ') print('The value of Integer1 is %3.2f' % Integer1) print('
Formatting in 3.4f format: ') print('The value of Integer1 is %3.4f' % Integer1)>

산출:

Formatting in 3.2f format: The value of Integer1 is 12.35 Formatting in 3.4f format: The value of Integer1 is 12.3457>

유사한 읽기 - 문자열 메소드

유용한 Python 문자열 작업

Python 문자열 상수

내장 기능

설명

로히트 셰티 배우
문자열.ascii_letters

ascii_lowercase 및 ascii_uppercase 상수의 연결입니다.

문자열.ascii_소문자

소문자 연결

string.ascii_uppercase

대문자 연결

문자열.숫자

문자열의 숫자

문자열.16진수

문자열의 16진수

문자열.문자

문자열 소문자와 대문자의 연결

문자열.소문자

문자열에는 소문자가 포함되어야 합니다.

문자열.octdigits

문자열의 8진수

문자열.구두점

구두점 문자가 있는 ASCII 문자입니다.

문자열.인쇄 가능

인쇄 가능한 문자열

문자열.끝()

문자열이 주어진 접미사로 끝나면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

np.평균
문자열.시작()

문자열이 주어진 접두사로 시작하면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

문자열.isdigit()

문자열의 모든 문자가 숫자이면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

문자열.이알파()

문자열의 모든 문자가 알파벳이면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

문자열.isdecimal()

문자열의 모든 문자가 10진수이면 true를 반환합니다.

str.format()

여러 대체 및 값 형식 지정을 허용하는 Python3의 문자열 형식 지정 방법 중 하나입니다.

문자열.인덱스

문자열에서 부분 문자열이 처음 나타나는 위치를 반환합니다.

문자열.대문자

문자열에는 대문자가 포함되어야 합니다.

문자열.공백

공백으로 간주되는 모든 문자를 포함하는 문자열입니다.

문자열.스왑케이스()

메소드는 주어진 문자열의 모든 대문자를 소문자로 또는 그 반대로 변환하여 반환합니다.

바꾸다()

모든 하위 문자열이 다른 하위 문자열로 대체된 문자열의 복사본을 반환합니다.

더 이상 사용되지 않는 문자열 함수

내장 기능

설명

문자열.Isdecimal

문자열의 모든 문자가 10진수인 경우 true를 반환합니다.

문자열.Isalnum

주어진 문자열의 모든 문자가 영숫자이면 true를 반환합니다.

문자열. 제목

문자열이 제목 케이스 문자열인 경우 True를 반환합니다.

문자열.파티션

구분 기호가 처음 나타나는 위치에서 문자열을 분할하고 튜플을 반환합니다.

문자열.식별자

문자열이 유효한 식별자인지 여부를 확인하십시오.

문자열.len

문자열의 길이를 반환합니다.

문자열.rindex

하위 문자열이 발견되면 문자열 내부 하위 문자열의 가장 높은 인덱스를 반환합니다.

문자열.최대

문자열에서 가장 높은 알파벳 문자를 반환합니다.

문자열.분

문자열의 최소 알파벳 문자를 반환합니다.

문자열.분할선

문자열의 줄 목록을 반환합니다.

문자열.대문자화

첫 문자를 대문자로 한 단어를 반환합니다.

문자열.확장탭

하나 이상의 공백으로 대체하여 문자열의 탭을 확장합니다.

문자열.찾기

하위 문자열의 가장 낮은 인덱싱을 반환합니다.

문자열.rfind

가장 높은 지수를 찾아보세요.

문자열.개수

문자열에서 하위 문자열 sub의 (겹치지 않는) 발생 횟수를 반환합니다.

문자열.하단

s의 복사본을 반환합니다. 단, 대문자인 경우 문자는 소문자로 변환됩니다.

문자열.분할

선택적인 두 번째 인수 sep가 없거나 None인 경우 문자열의 단어 목록을 반환합니다.

Python 독스트링
  • 내장 함수를 사용하여 주어진 문자열의 순열
  • Python에서 문자열의 각 단어의 빈도 찾기
  • 모든 모음을 포함하는 문자열을 받아들이는 프로그램
  • 문자열 쌍에서 일치하는 문자 수 계산
  • 빈도가 가장 높은 주어진 문자열의 모든 접두사 수를 계산합니다.
  • 문자열에 특수 문자가 포함되어 있는지 확인하는 프로그램
  • 주어진 문자열이 생성될 때까지 임의의 문자열 생성
  • 내장 함수를 사용하지 않고 대문자와 소문자를 계산하는 Python 프로그램