자료형이란? : 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것.
프로그램의 기본이자 핵심 단위이며 어떤 것을 계산할지부터 알아야 하고, 데이터베이스 프로그램을 만드려면 어떤 자료를 저장할지부터 알아야 한다.
2-1. 숫자형
정수형 (integer) : 정수 자료형 (123, -178, 0)
실수형 (floating-point) : 소수점이 포함된 숫자 (1.2, -3.45, 4.24E10)
8진수(octal), 16진수(hexadecimal) : (0o177 / 0x8ff)
1. 사칙 연산자 (=, +, -, *, / 제외)
x ** y : x의 y 제곱
x % y : x를 y로 나눈 나머지
x // y : x를 y로 나눈 몫
2-2. 문자 자료형
문자열 (string) : 문자, 단어 등으로 구성된 문자들의 집합
1. 문자열 만드는 방법
1) 큰 따옴표로 양쪽 둘러싸기 : ' ------ '
2) 작은 따옴표로 양쪽 둘러싸기 : " ------ "
3) 큰 따옴표 3개 연속으로 양쪽 둘러싸기 : " " " ------ " " "
4) 작은 따옴표 3개 연속으로 양쪽 둘러싸기 : ' ' ' ------ ' ' '
2. 방법이 여러 가지인 이유
1) 문자열에 ' 포함 : food = "Python 's favorite food is perl"
2) 문자열에 " 포함시키기 : say = ' "Python is very easy." he says.'
3) 백슬래시 (\)를 사용해서 ' 와 " 를 문자열에 포함시키기 - \ 를 ' 나 " 앞에 삽입하면 \ 뒤의 ' 나 " 는 문자열을 둘러싸는 기호의 의미가 아니라 문자 그 자체 : food = 'Python\'s favorite food is perl'
3. 여러줄인 문자열을 변수에 대입하고 싶을 때
1) 줄을 바꾸기 위한 이스케이프 코드 \n 삽입하기 : multiline = "Life is too short\nYou need python"
2) 연속된 ' ' ' 또는 " " " 사용하기 : multiline = ' ' ' ... Life is too short ... You need python ... ' ' '
문자열이 여러 줄인 경우 이스케이프 코드를 쓰는 것보다 따옴표를 연속해서 쓰는 것이 훨씬 깔끔하다.
2-2-1. 문자열 연산하기
1. 문자열 길이 구하기
문자열 길이(length)는 len 함수를 이용하여 나타낼 수 있다. space도 길이 1이다.
a = "Life is too short" len(a)
→ 17
2. 문자열 인덱싱과 슬라이싱
1) 인덱싱(Indexing)은 가리킨다는 의미이다. 숫자는 0부터 센다.
a = "Life is too short, You need Python" a[3]
→ 'e'
a[-5]
→ 'y'
2) 슬라이싱(Slicing)은 잘라낸다는 의미이다. 문자열을 요소를 바꿀 때 사용한다. 마지막 숫자는 포함하지 않는다.
a = "Life is too short, You need Python" a[0:4]
→ 'Life'
a[19:]
→ 'You need Python'
a[:]
→ 'Life is too short, You need Python'
3. 문자열 포매팅
문자열 안의 특정한 값을 바꿔야 할 경우, 문자열 안에 어떤 값을 삽입하는 방법이다.
1) 숫자 바로 대입
"I eat %d apples." % 3
→ 'I eat 3 apples.'
2) 문자 바로 대입
"I eat %s apples." % "five"
→ 'I eat five apples.'
3) 숫자값을 나타내는 변수로 대입
number = 3 "I eat %d apples." % number
→ 'I eat 3 apples.'
4) 2개 이상 값 넣기
number = 10 day = "three" "I ate %d apples. so I was sick for %s days." % (number, day)
→ 'I ate 10 apples. so I was sick for three days.'
5) 포맷 코드와 숫자 함께 사용하기
포맷 코드를 숫자와 함께 사용하면 더 유용하게 사용할 수 있다.
"%10s" % "hi" # 양수는 오른쪽 정렬, 음수는 왼쪽 정렬
→ ' hi'
"%0.4f" % 3.42134234
→ '3.4213'
"%10.4f" % 3.42134234
→ ' 3.4213'
6) format 함수를 사용한 포매팅
"I eat {0} apples".format(3)
→ 'I eat 3 apples'
number = 10 day = "three" "I ate {0} apples. so I was sick for {1} days.".format(number, day)
→ 'I ate 10 apples. so I was sick for three days.'
"I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
→ 'I ate 10 apples. so I was sick for 3 days.'
왼쪽 정렬 : "{0:<10}".format("hi") → 'hi '
오른쪽 정렬 : "{0:>10}".format("hi") → ' hi'
가운데 정렬 : "{0:^10}".format("hi") → ' hi '
공백 채우기 : "{0:=^10}".format("hi") → '====hi===='
} or { 문자 표현하기 : "{{ and }}".format() → ' { and } '
7) 문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용할 수 있다.
name = '홍길동' age = 30 f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
→ '나의 이름은 홍길동입니다. 나이는 30입니다.'
age = 30 f'나는 내년이면 {age+1}살이 된다.' # 표현식 : 문자열 안에서 변수와 +, - 와 같은 수식을 함께 사용하는 것
→ '나는 내년이면 31살이 된다.'
4. 문자열 관련 함수들
count : 문자 개수 세기
a = "hobby" a.count('b')
→ 2
find : 위치 알려주기1, 가장 처음 나온 위치를 반환하고 존재하지 않는 문자열이면 -1을 반환한다.
a = "Python is the best choice" a.find('b')
→ 14
a.find('k')
→ -1
index : 위치 알려주기, 가장 처음 나온 위치를 반환하고 존재하지 않는 문자열이면 error가 발생한다.
a = "Life is too short" a.index('t')
→ 8
a.index('k')
→ Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found
join : 문자열을 삽입한다. 리스트나 튜플도 입력으로 사용할 수 있다.
",".join('abcd')
→ 'a,b,c,d'
",".join(['a', 'b', 'c', 'd']) # 리스트
→ 'a,b,c,d'
strip : 공백을 지운다.
a = " hi " a.strip()
→ 'hi'
replace : 문자열을 바꾼다.
a = "Life is too short" a.replace("Life", "Your leg") # (바꿀 문자열, 바뀔 문자열)
→ 'Your leg is too short'
split : 문자열을 나눈다.
a = "Life is too short" a.split() # 기본값으로 공백을 기준으로 문자열을 나눈다.
→ ['Life', 'is', 'too', 'short']
b = "a:b:c:d" b.split(':') # 괄호 안의 값을 구분자로 해서 문자열을 나누어 준다.
→ ['a', 'b', 'c', 'd']
'처음부터 파이썬' 카테고리의 다른 글
점프 투 파이썬으로 파이썬 배우기! - 파이썬 프로그래밍의 기초, 자료형 <튜플> (0) | 2022.09.05 |
---|---|
점프 투 파이썬으로 파이썬 배우기! - 파이썬 프로그래밍의 기초, 자료형 <리스트> (0) | 2022.09.05 |
점프 투 파이썬으로 파이썬 배우기! - 파이썬이란 무엇인가? (3) (0) | 2022.09.01 |
점프 투 파이썬으로 파이썬 배우기! - 파이썬이란 무엇인가? (2) (0) | 2022.09.01 |
점프 투 파이썬으로 파이썬 배우기! - 파이썬이란 무엇인가? (1) (0) | 2022.08.31 |