Python - 06.연산자2
by jennysgap연산자2
* 문자열형은 숫자형과 + 연산자를 사용할 수 없다.
* str 함수는 문자열형으로 변환해준다.
6.1.1 문자열형 연산 연습
1) 문자열 더해서 연결하기 (Concatenation)
head = "Python" tail = " is fun!" print(head + tail)
2) 문자열 곱하기
a = "python" print(a * 2)
3) 문자열 곱하기 응용
print("=" * 10) print("My Program") print("=" * 10)
6.2 문자열 인덱싱
• var[n]으로 한문자를 가리킬 수 있다.
• n을 인덱스 번호라한다.
• 인덱스 번호는 0부터 시작한다. (문자열 왼쪽부터 부여함)
• 인덱스 번호 -를 붙이면 문자열 오른쪽부터 부여한다.
• 최대 인덱스 번호를 벗어나지 않도록 주의
• 문자열 인덱싱으로 값을 변경할 수 없다.
var='hello world'
print(var[0])
print(var[1])
print(var[2])
print(var[3])
var[0]은 h가 출력
var[1]은 e가 출력
var[2]은 l가 출력
6.3 문자열 슬라이싱
• 시작과 끝을 각각 생략할 수 있다.
• var[a:b]는 a <= var < b를 의미한다.
var='Hello World'
print(var[0:5])
print(var[6:11])
var[0:5]은 Hello가 출력
var[6:11]은 World가 출력
6.4 문자열 포매팅
문자열 포매팅 사용전
name = '홍길동'
age = '22'
msg = name + '의 나이는 ' + age + '살 입니다.'
print(msg)
문자열 포매팅 사용후
name = '홍길동' age = '22' msg = '{}의 나이는 {}살 입니다.'.format(name, age) print(msg)
문자열 포매팅 활용1
str1 = '박지성'
str2 = '이승엽'
str3 = '{}은 야구선수입니다. {}은 축구선수입니다.'
result = str3.format(str1, str2)
print(result) --> 박지성은 야구선수입니다. 이승엽은 축구선수입니다.
str4 = '{1}은 야구선수입니다. {0}은 축구선수입니다.'
result = str4.format(str1, str2)
print(result) --> 이승엽은 야구선수입니다. 박지성은 축구선수입니다.
문자열 포매팅 활용2
숫자형 --> (10진수)문자열형
숫자형 --> (8진수)문자열형
숫자형 --> (16진수)문자열형
숫자형 --> (2진수)문자열형
num = 10
strDec1 = '10진수 ' + str(num)
strDec2 - '10진수 {}'.format(num)
strOct = '8진수 {:o}'.format(num)
strHex = '16진수 {:x}'.format(num)
strBin = '2진수 {:b}'.format(num)
print(strDec1)
print(strDec2)
print(strOct)
print(strHex)
print(strBin)
문자열 포매팅 활용3 (숫자형으로 되돌리기)
(10진수)문자열형 --> 숫자형
(8진수)문자열형
(16진수)문자열형
(2진수)문자열형
num = 10 strDec1 = str(num) strDec2 = '{}' .format(num) strOct = '{:o}' .format(num) strHex = '{:x}' .format(num) strBin = '{:b}' .format(num) result = int(strDec1) print(result+1) result = int(strOct, 8) print(result) result = int(strHex,16) print(result) result = int(strBin,2) print(result)
문자열 포매팅 활용4 num = 10 strDec1 = str(num) strDec2 = '{:10}' .format(num) # 패딩값 10칸 차지, 오른쪽 정렬 strOct = '{:010o}' .format(num) # 앞 0 값으로 차지 strHex = '{:<10x}' .format(num) # 왼쪽 정렬 strBin = '{:^10b}' .format(num) # 가운데 정렬 print(strOct) print(strHex) print(strBin)
• 패딩값 (오른쪽 정렬) 10칸 차지
• 앞에 0을 넣으면 0값으로 차지됨
• < 왼쪽 화살표를 하면 왼쪽 정렬
• ^(캐럿) 가운데 정렬
6.5 문자열 관련 함수들
• 개수 세기 : .count()
str1 = 'Try hard, Try hard!' cnt = str1.count('r') print('r의 개수:', end='') print(cnt) cnt = str1.count('Try') print('Try의 개수:', end='') print(cnt)
• 위치 찾기 : .find()
str1 = 'The life is only once.'
idx = str1.find('i')
print('i가 처음 나온 위치:', end='')
print(idx)
idx = str1.find('is')
print('is가 처음 나온 위치:', end='')
print(idx)
• 문자열 조인 : .join()
str1 = ',' str2 = str1.join(123456789') print(str2) str2 = str1.join('ABCDEFGHI')
print(str2)
str1 = '--'
str2 = str1.join('123456789')
print(str2)
• 소문자를 대문자로 변환 : .upper
str1 = 'apple' str2 = str1.upper() print(str2)
• 대문자를 소문자로 변환 : .lower
str1 = 'GOOGLE' str2 = str1.lower() print(str2)
• 왼쪽 공백 제거하기 :
• 오른쪽 공백 제거하기 :
• 양쪽 공백 제거하기 :
• 문자열 바꾸기 : .replace
str1 = 'Life is too short' print(str1) str2 = str1.replace('Life', 'Your leg') print(str2)
• 문자열 나누기 :
'BOX' 카테고리의 다른 글
Python - 복습 겸 연습문제 풀기 (0) | 2017.01.21 |
---|---|
Python - 07.출력과 입력 함수 (0) | 2017.01.20 |
Python - 05.연산자1 (0) | 2017.01.19 |
Python - 04.자료형 (0) | 2017.01.19 |
Python - 03.변수 (0) | 2017.01.19 |
블로그의 정보
jennysgap
jennysgap