반응형
문자열 이해
문자열은 문자들의 집합체 입니다. 파이썬에서는 작은 따옴표(') 또는 큰따옴표(")로 둘러싸인 문자의 집합을 문자열로 인식합니다.
문자열 정의
- 문자열은 여러 개의 문자가 연속적으로 나열된 것을 의미합니다. 각 문자는 고유의 위치를 가지며, 이 위치를 인덱스라고 합니다. 파이썬에서는 문자열 내의 첫 번째 문자의 인덱스는 0부터 시작합니다.
str = '안녕하세요' print(str[0]) #안 print(str[1]) #녕
문자열의 생성 방법
- 작은 따옴표 또는 큰 따옴표로 텍스트를 감싸주기만 하면 됩니다.
str1 = 'Hello, World!' str2 = "Python Programming"
문자열의 특성
- 파이썬의 문자열은 변경 불가능한 객체입니다. 즉, 한번 생성된 문자열은 변경할 수 없습니다. 또한 문자열은 다양한 메서드를 제공하며, 이를 활용하면 문자열을 쉽게 조작할 수 있습니다.
str1 = 'Hello, World!' print(str1[0]) # 출력: 'H' print(str1[-1]) # 출력: '!' print(str1.lower()) # 출력: 'hello, world!' print(str1.upper()) # 출력: 'HELLO, WORLD!'
문자열 연산
문자열 연산은 파이썬에서 텍스트 데이터를 조작하고 처리하는 핵심적인 기능중 하나입니다. 문자열을 결합하거나 반복하며 원하는 형태로 가공할 수 있습니다. 이를 통해 효율성과 가독성을 챙길 수 있습니다.
문자열 연결
- + 연산자를 이용하여 문자열을 연결할 수 있습니다. 이때 문자열과 숫자는 직접 연결할 수 없으며, 숫자를 문자열로 반환한 후 연결해야합니다.
str1 = 'Hello' str2 = 'World' print(str1 + ' ' + str2) # 출력: 'Hello World' num = 2024 print(str1 + ' ' + str(num)) # 출력: 'Hello 2024' str1 = 'Hello' str2 = 'World' print(str1 + ' ' + str2) # 출력: 'Hello World' num = 2024 print(str1 + ' ' + str(num)) # 출력: 'Hello 2024'
문자열 반복
- * 연산자를 이용하면 문자열을 원하는 만큼 반복할 수 있습니다. 반복문을 이용하여 문자열을 생성하는 것도 가능합니다.
str1 = 'Hello' print(str1 * 3) # 출력: 'HelloHelloHello' str2 = '' for i in range(5): str2 += str1 print(str2) # 출력: 'HelloHelloHelloHelloHello'
문자열 인덱싱
- 문자열의 각 문자는 고유의 위치를 가지며, 이 위치를 인덱스라고 합니다. 파이썬에서는 문자열 내의 첫 번째 문자의 인덱스는 0부터 시작합니다.
str1 = 'Hello, World!' print(str1[0]) # 출력: 'H' print(str1[-1]) # 출력: '!'
문자열 슬라이싱
- 슬라이싱을 이용하면 문자열의 일부분을 추출할 수 있습니다. 슬라이싱은 [시작 인덱스:종료 인덱스] 형태로 사용하며, 시작 인덱스는 포함하고 종료 인덱스는 제외합니다.
str1 = 'Hello, World!' print(str1[0:5]) # 출력: 'Hello' print(str1[-1:]) # 출력: '!'
문자열의 멤버 확인
- in 연산자를 이용하면 문자열이 특정 문자나 문자열을 포함하고 있는지 확인할 수 있습니다. not in 연산자를 이용하면 반대의 결과를 얻을 수 있습니다.
str1 = 'Hello, World!' str2 = 'Python' 느낌표 = '!' print(느낌표 in str1) # 출력: True print(str2 in str1) # 출력: False print(str2 not in str1) # 출력: Ture
문자열 함수
문자열 함수는 텍스트 데이터를 다루는 데 사용되며, 길이 측정, 대/소문자 변환. 검색,분할 등의 작업을 수행합니다.
문자열 길이 확인
- len() 함수는 문자열의 길이를 반환합니다
str1 = 'Hello, World!' print(len(str1)) # 출력: 13
문자열 내 문자 개수 확인
- count() 함수는 문자열에서 특정 문자(또는 문자열)의 개수를 반환합니다.
str1 = 'Hello, World!' print(str1.count('l')) # 출력: 3 print(str1.count('Hello')) # 출력: 1
문자내 문자위치 확인
- find()함수는 문자열에서 특정 문자(문자열)의 위치를 반환합니다 찾는 문자가 없으면 -1을 반환합니다.
str1 = 'Hello, World!' print(str1.find('l')) # 출력: 2 print(str1.find('sd')) # 출력: -1
- index()함수는 문자열에서 특정 문자의 위치를 반환합니다. 찾는 문자가 없으면 오류를 반환합니다
str1 = 'Hello, World!' print(str1.index('l')) # 출력: 2 print(str1.index('sd')) # 출력: ValueError: substring not found
문자열 결합
- join() 함수는 문자열을 결합합니다. 사용법은 결합문자.join(문자열리스트)의 형태입니다.
str1 = 'Hello' str2 = 'World' print(' '.join([str1, str2])) # 출력: 'Hello World'
문자열 분리
- split() 함수는 문자열을 분리합니다. 사용법은 문자열. split(분리자)의 형태입니다.
print(str1.split(',!')) # 출력: ['Hello', ' World!']
문자열 대소문자 변환
- upper() 함수는 모든 문자를 대문자로 변환합니다.
str1 = "Hello, World!" print(str1.upper()) # 출력: "HELLO, WORLD!"
- lower() 함수는 문자열의 모든 문자를 소문자로 변환합니다
str1 = "Hello, World!" print(str1.lower()) # 출력: "hello, world!"
- capitalize() 함수는 문자열의 첫 문자를 대문자로, 나머지 문자를 소문자로 변환합니다.
str1 = "hello, WORLD!" print(str1.capitalize()) # 출력: "Hello, world!"
- title() 함수는 문자열의 각 단어의 첫 문자를 대문자로, 나머지 문자를 소문자로 변환합니다.
str1 = "hello, WORLD!" print(str1.title()) # 출력: "Hello, World!"
- swapcase() 함수는 문자열의 대문자를 소문자로, 소문자를 대문자로 변환합니다.
str1 = "Hello, World!" print(str1.swapcase()) # 출력: "hELLO, wORLD!"
문자열 공백 제거
- lstrip() 함수는 문자열의 왼쪽에 있는 공백 문자를 제거합니다.
str1 = " Hello, World! " print(str1.lstrip()) # 출력: "Hello, World! "
- rstrip() 함수는 문자열 오른쪽에 있는 공백 문자를 제거합니다.
str1 = " Hello, World! " print(str1.rstrip()) # 출력: " Hello, World!"
- strip() 함수는 문자열에 양쪽에 있는 공백 문자를 모두 제거합니다.
str1 = " Hello, World! " print(str1.strip()) # 출력: "Hello, World!"
- 이들 메서드는 인자로 특정 문자를 주면, 공백이 아닌 해당 문자를 제거합니다.
str2 = "***Hello, World!***" print(str2.lstrip('*')) # 출력: "Hello, World!***" print(str2.rstrip('*')) # 출력: "***Hello, World!" print(str2.strip('*')) # 출력: "Hello, World!"
참고 자료
https://www.geeksforgeeks.org/python-programming-language/?ref=shm
https://docs.python.org/ko/3/tutorial/index.html
https://roadmap.sh/python
https://www.w3schools.com/python/default.asp
반응형