Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- aws
- 직매입
- docker
- EC2
- Git
- Spring
- JavaScript
- 자료형
- InfoProvider
- 배포
- Python
- SAP
- DW
- ADSO
- 특약매입
- 클라우드
- Jenkins
- react
- GitHub
- InfoObject
- BW4HANA
- InfoCube
- BW
- 파이썬
- Java
- HANADB
- VSCode
- Grafana
- 깃허브
Archives
- Today
- Total
개몽가
[Python] 파이썬 문자형, 슬라이싱 본문
문자열 생성
str1 = "I am Python"
str2 = 'python'
str3 = """How are you?"""
str4 = '''Thank u'''
print(type(str1), type(str2), type(str3), type(str4))
print(len(str1)) # 문자열 길이
빈 문자열 생성
str1 = ''
str2 = str()
print(type(str1), len(str1))
print(type(str2), len(str2))
이스케이프(Escape) 문자
\n : 개행
\t : 탭
\\ : 문자
\' : 문자
\" : 문자
\000 : 널 문자
print("I'm Happy")
print('I\'m Happy')
print('I\\m Happy') # 역슬래시 그냥 출력
print('a \t b')
print('a \"\" b')
탭, 줄 바꿈
str1 = "Click \t Start!"
str2 = "New Line \n Check!"
print(str1)
print(str2)
Row String
역슬래시 자체를 신경 안씀. 이스케이프 문자 사용안하고 있는 그대로 출력. 파일 경로 선언 시 많이 사용됨
선언 시, 앞에 r 붙여줌
raw_str = r'D:\python\test' # 파일경로
print(raw_str)
멀티라인 입력
역슬래시 사용 시 다음에 변수 바인딩을 한다고 파이썬이 인지하게 됨
multi_str = \
'''
문자열
멀티라인
테스트
'''
print(multi_str)
multi_str2 = \
'문자' \
'문자2' \
print(multi_str2)
문자열 연산
str1 = "python"
str2 = "Apple"
str3 = "How are u doing"
str4 = "Seoul is happy"
print(str1 * 3) # 문자열 반복 출력
print(str1 + str2)
print('y' in str1) #파이썬은 문자열 들어오면 리스트라고 생각하면됨
#문자열 리스트 튜플 : 데이터 형식인 시퀀스 형식의 한 종류로 in 사용 가능
print('P' not in str2) # 대분자 P는 없어서 True 출력
문자열 형 변환
print(str(66), type(str(66)))
print(str(10.1))
print(str(True), type(str(True)))
문자열 함수
str1 = "python"
str2 = "Apple"
str3 = "How are u doing"
str4 = "Seoul is happy"
print("Capitalize : ", str1.capitalize()) # 첫글자 대문자로 출력
print("endswith?:", str2.endswith("e")) # 끝에 매개변수로 입력한 문자열로 끝나는지 판단
print("replace", str1.replace("p", "a")) # 원본 문자열에 p 있으면 a로 변경
print("sorted: ", sorted(str1)) #어떤 기준에 맞게 정렬을 해서 리스트로 반환
print("split: ", str4.split(' ')) # 매개변수로 입력한 문자열 기준으로 문자열 쪼개서 리스트로 만듬
문자열 슬라이싱
슬라이싱(Slicing) : 문자열 일부를 분리, 문자열뿐 아니라 순서열(시퀀스) 자료형에서 사용 가능함
im_str = "Hello World!"
print(dir(im_str))
dir() 출력 결과에 __iter__ 나오면 시퀀스를 반복할 수 있음! = 문자열은 시퀀스로 슬라이싱 가능
슬라이싱은 대괄호 연산자 [ , ] 로 수행함
str_s1 = "Hello Python"
print(str_s1[0:3]) # 0,1,2 인덱스 출력
print(str_s1[5:]) # = [5:11], 인덱스 5부터 끝까지 출력
print(str_s1[:len(str_s1)]) # = str_sl[:11]
print(str_s1[:len(str_s1)-1]) # str_sl[:10]
print(str_s1[1:9:3]) # 인덱스 1 ~ 9 까지 3개 단위(스킵단위)로 가져와라
print(str_s1[-5:]) # 오른쪽부터 인덱스 -5번째부터 출력
print(str_s1[1:-2]) # 인덱스 1 부터 오른쪽 인덱스 -2까지 출력
print(str_s1[::2]) # 처음부터 끝까지 2칸 간격으로 출력
print(str_s1[::-1]) # 순서는 왼쪽에서 오른쪽으로 => 문자열 거꾸로 출력
위에서 선언한 문자열 인덱스는 아래와 같음 (0부터 시작)
H | e | l | l | o | P | y | t | h | o | n | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
출력 결과를 살펴보면,
위에서 print(str_s1[1:9:3]) 이 부분이 잘 이해가 가지 않아서 그려보면서 이해를 했음
인덱스 1 ~ 8 까지 = e ~ o 까지
3개 단위(스킵단위)로 가져와라 = 시작 인덱스에서 번호를 세었을 때 3번째인 인덱스를 출력
H | e | l | l | o | P | y | t | h | o | n | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
'Skill > Python' 카테고리의 다른 글
[Python] 튜플 (Tuple) (0) | 2021.09.08 |
---|---|
[Python] 자료형 리스트 (0) | 2021.07.27 |
[Python] 파이썬 숫자형 (0) | 2021.07.07 |
[Python] 파이썬 지원 자료형 (0) | 2021.07.07 |
[Python] 변수 및 자료형, type, id 함수 (0) | 2021.07.04 |