스토리지
[07.13] 파이썬 1일차 - 문자열 처리 본문
C++에서 파이썬으로 갈아타는 이유 중에 하나가 문자열 처리가 너무 간단하게 이루어지기 때문이다.
C++에서 Split을 하려고 하면 똥꼬쇼를 해야되지만 다른 언어들은 그렇지않다.
여기서는 문자열을 위주로 정리해보려고 합니다.
문자열 반복
greet = 'hello'
print(greet * 5)
안에서 반복문이 자동으로 이루어지나보다. 너무 편하다.
문자열 길이
greet = 'hello'
print(len(greet))
len함수를 사용하여 길이를 구한다.
len함수의 인자에 문자열만 들어가는지 아니면 다른것도 들어가는지 알아봐야겠다.
문자열 연결
eng = 80
result = '영어점수 : ' + eng + "점"
# 모든 변수의 자료형이 문자열이 아니면 에러를 일으킴.
print(result)
+ 연산자로 문자열들을 연결할 수 있지만 도중에 다른 자료형이 들어가면 에러를 발생시킨다.
C#의 toString과 같은 함수는 str()이란 함수이다.
eng = 80
result = '영어점수 : ' + str(eng) + "점"
# eng변수가 문자열 형태로 삽입되었다.
print(result)
문자열 포맷팅
C#에서는 {0}, {1}로 하던 바인딩을 % 연산자를 통해서 수행하게된다. 오히려 C와 비슷하다.
name = '파이썬'
print('저는 %s를 공부하고 있습니다.' % name)
* 문자열이 끝나고 변수를 바인딩할 때 쉼표 , 를 습관적으로 넣어줬더니 에디터 상에서 빨간줄이 생겼다.
, 를 넣으면 안된다. 띄어쓰기는 안해도 되는 것 같다.
%s는 문자열이니깐 string의 s가 들어가고 %d는 digit을 뜻하는 정수형을 가리킨다.
다른 문자열포맷팅
year = 2021
month = 7
date = 13
a = '%d-%02d-%02d' % (year, month, date)
print(a)
%02d => 해당 정수가 2자리보다 작을 때 앞에 0을 채워넣는다.
이것을 활용해서 %.2f는 소숫점 둘째자리까지 출력한다는 의미이다.
height = 168.6
txt = '제 키는 %.2fcm입니다.' % height
print(txt)
여느 다른 언어처럼 format이라는 함수를 사용해서 바인딩을 하는 방법도 존재한다.
name = '이종우'
age = 25
eyesight = 0.1
a = '이름 : {}'.format(name)
b = '나이 : {}'.format(age)
c = '시력 : {}'.format(eyesight)
print(a)
print(b)
print(c)
이외에 문자열 메소드가 여러가지 존재한다.
메소드 | 설명 |
str.format() | 문자열 포맷팅 |
str.count() | 문자열 갯수 세기 |
str.find(문자열) | 문자열 내부의 특정 문자열 찾기 |
str.upper() | 문자열을 대문자로 바꾸기 |
str.lower() | 문자열을 소문자로 바꾸기 |
str.replace(문자열, 바꿀 문자열) | 문자열 내부의 특정 문자열 바꾸기 |
str.split(기준 문자열) | 문자열 분리하기 |
str.isspace() | 문자열에 공백이 있는지 체크하기 |
입력 처리
input(str)함수를 이용한다.
name = input('이름을 입력하세요 : ')
print('%s님 환영합니다' % name)
Q. 위의 예제는 name의 type을 출력하면 십중팔구 문자열이 나올것이다. 그러면 숫자를 입력받으면 정수형으로 들어가는가?
old = input('나이를 입력하세요 : ')
print('%d살이십니다.' % old)
이 코드는 에러를 발생시킨다. 즉 여기서 old는 숫자가 아닌 문자열이다. 실제로 타입을 출력해보면
str, 즉 문자열로 출력이된다.
저 상태로 에러가 안나게 프로그램을 완성하고 싶으면 문자열을 정수로 바꿔주는 과정이 필요하다.
old = input('나이를 입력하세요 : ')
old = int(old)
print('%d살이십니다.' % old)
int() 함수는 문자열을 정수로 바꾸어서 정수 값을 반환한다.
자매품으로 float() 함수또한 존재한다. 문자열을 실수형으로 바꿔준다.
'Python' 카테고리의 다른 글
[07.15] 파이썬 3일차 - 리스트 2 (0) | 2021.07.15 |
---|---|
[07.15] 파이썬 3일차 - 리스트 1 (0) | 2021.07.15 |
[07.14] 파이썬 2일차 - 반복문 (0) | 2021.07.14 |
[07.14] 파이썬 2일차 - 조건문 (0) | 2021.07.14 |
[07.13] 파이썬 1일차 - 자료형, 연산자 (0) | 2021.07.13 |