Back-end/Python

조코딩 강의-파이썬 프로그래밍의 기초, 자료형

책 범위 : 02장 파이썬 프로그래밍의 기초, 자료형 - 점프 투 파이썬 (wikidocs.net)

 

자료형이란?

문자의 값을 숫자로 인식할 지, 문자로 인식할 지 구분할 수 있게 해줌

 

*변수의 타입 찾기

a = 1
print(type(a))
#1

숫자형

- 정수형(int) : 1,2,-2

- 실수형(float) : 1.5, 2.256

- 사칙연산

   a ** b  = 제곱

   a // b = 나누기의 몫

   a % b = 나누기의 나머지


문자열 자료형

- 문자열 자료형 만드는 4가지 방법 : "(큰 따옴표), '(작은 따옴표), """(큰 따옴표*3), '''(작은 따옴표 *3)

- 문자열에  ', "가 들어가는 경우 그 뒤부턴 파이썬이 문자라고 인식을 하지 못하기 때문에 ', " 교차 사용
  or 문자열에 이스케이프 문자(\, 백슬래시)  사용 

>>> food = "Python's favorite food is perl"
>>> say = '"Python is very easy." he says.'
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."

- \n :  문자열 사이에 줄바꿈

- \t : 문자열 사이에 탭 간격

- 따옴표를 3개씩 쓰는 경우, 이스케이프 문자 안써도 ', ", 줄바꿈, 탭 간격 모두 인식 

  즉, 여러 줄이라면 따옴표를 3개씩 쓰자

a = 'Chipscoder\'s blog \nhello, stranger!'

b = '''Chipscoder's blog 
hello, stranger!'''

#Chipscoder's blog
#hello, stranger!

- 문자열 더하기, 곱하기도 가능

문자열 인덱싱

  - 0부터 카운트

  - 음수는 거꾸로 카운트

a = 'Chipscoder\'s blog \nhello, stranger!'

print(a[0])
#C

print(a[-2])
#r

문자열 슬라이싱

- 문자열 자르기

- 0부터 카운트

- 비워놓는 경우 처음부터 or 맨 끝까지 

 

a = '12345Hello'

print(a[:5])
#12345

print(a[5:])
#Hello

print(a[:5:2])
#135

문자열 포매팅 

문자열 안의 특정한 값을 바꿔야 할 경우가 있을 때, 문자열 안에 어떤 값을 삽입하는 방법

% 뒤에 넣고 싶은 값을 넣음 (따옴표를 여러번 안써도 되는 장점) 

 

1. 문자열 포맷 코드 사용

- 값 그대로 대입 

a = "I eat %d apples." % 3

#I eat 3 apples.

- 변수 대입

number = 10
day = "three"
a = "I ate %d apples. so I was sick for %s days." % (number, day)

#I ate 10 apples. so I was sick for three days.

 

 

*문자열 포맷 코드 

- %s : 문자열(string)
   - 모든 형식의 문자열 가능, 숫자를 넣을 때도 가능(문자열로 바뀌어 들어감) 

- %c : 문자 1개(Character)

- %d : 정수(Integer)

   - 포매팅 연산자 %d와 %를 같이 쓸 때는 %%를 사용

- %f : 실수 (Float)

   - 소수점 자리 수 자르기 가능

#기본 실수형
a = "%f" % 3.42134234
#3.42134234

#소수점 자르기
# %간격.소수점자리수f
b = "%0.4f" % 3.42134234
#3.4213

 

2. format 함수 사용

- 값 그대로 대입 

a = "I eat {0} apples".format("five")

#I eat five apples
#0이 five로 교체

- 변수 대입

number = 10
day = "three"
a = "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.

- 이름 대입

a = "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.


#python v3.6 이상
number = "10"
a = f"I ate {number} apples."
#I ate 10 apples.

 

문자열 관련 함수

- .count : 문자열에서 해당 문자가 몇개 있는지

- .find : 문자열에서 해당 문자중 첫 번째의 인덱스를 리턴 (없을 경우 -1)

- .index : 문자열에서 해당 문자중 첫 번째의 인덱스를 리턴 (없을 경우 에러남) 

- .upper : 대문자로 바꾸기 

- .lower : 소문자로 바꾸기 

- .strip : 공백 없애기

- .replace : 문자 교체 

- .split : 문자열을 띄어쓰기 기준으로 잘라 리스트로 만듦


리스트

변수 여러 개를 묶어 하나의 변수로 관리

a = [ ]
b = [1, 2, 3]
c = ['Life', 'is', 'too', 'short']
d = [1, 2, 'Life', 'is']
e = [1, 2, ['Life', 'is']]

print(e[2]) 
#['Life', 'is'] - 문자열 그대로 출력
print(e[2][0]) 
#Life - 문자열 안의 인덱스를 찾아 출력

#리스트 값 수정하기
b = [1, 2, 3]
b[0:2] = [10,11] #슬라이싱에 새로운 값들 대입
#[10, 11, 3]

#리스트 값 삭제하기 - 빈 어레이 사용
b = [1, 2, 3]
b[0:2] = [] #슬라이싱에 빈 어레이 대입
#[3]

#리스트 값 삭제하기 - del 함수 사용
b = [1, 2, 3]
del b[0] #삭제할 값의 인덱스 삽입
#[2,3]

 

리스트 관련 함수

- .append : 마지막에 값 추가

- .extend : 마지막에 리스트 추가

b = [1, 2, 3]
b.extend([4, 5])
print(b) 

#[1,2,3,4,5]

- .insert : 특정 인덱스에 값 추가 (인덱스, 넣을 값)

b = [1, 2, 3]
print(b.insert(0,0)) #[0,1,2,3]

- .remove : 특정 값 제거 (인덱스가 아닌 을 넣음)

b = [1, 2, 3, 10]
print(b.remove(10)) #[1,2,3]

- .pop : 리스트의 맨 마지막 요소를 리턴하고 그 요소는 삭제

b = [1, 2, 3, 10]
print(b.pop()) 
print(b)

#10
#[1, 2, 3]

- .sort : 문자의 경우 알파벳 순, 숫자의 경우 크기 순 정렬

- .reverse : 리스트 거꾸로

- .count :  리스트에서 해당 값이 몇개 있는지

 

'Back-end > Python' 카테고리의 다른 글

조코딩 강의-Python이란 무엇인가?  (0) 2023.02.20