[파이썬] 점프 투 파이썬 - 자료형(숫자, 문자열, 리스트, 튜플)

2021. 6. 29. 12:23공부한 내용/점프 투 파이썬

(아는 내용은 제외하고 모르는 내용만 정리해놓음)

 

1. 숫자 자료형

1) 진수 변환

(1) 2진수, 8진수, 16진수에서 10진수로 변환

-2진수에서 10진수로 변환: 맨 앞에 0b 붙임

-8진수에서 10진수로 변환: 맨 앞에 0O 혹은 0o 붙임 (대문자 O나 소문자 o)

-16진수에서 10진수로 변환: 맨 앞에 0x 붙임

#2진수
0b10101
#> 21

#8진수
0o14567 #0O14567
#> 6519

#16진수
0x19ADF
#> 105183

 

*int함수: int(정수, 진수(default=10))

-int함수를 이용해 2진수, 8진수, 16진수를 10진수로도 변환 가능

#2진수 변환
int('0b11000000111001', 2)
#> 12345

#8진수 변환
int('0o30071', 8)
#> 12345

#16진수 변환
int('0x3039', 16)
#> 12345

 

(2) 10진수에서 2진수, 8진수, 16진수 변환

-10진수에서 2진수로 변환: 정수를 bin() 함수에 입력

-10진수에서 8진수로 변환: 정수를 oct() 함수에 입력

-10진수에서 16진수로 변환: 정수를 hex() 함수에 입력

#2진수
bin(12345)
#> '0b11000000111001'

#8진수
oct(12345)
#> '0o30071'

#16진수
hex(12345)
#> '0x3039'

 

2) 소수점 반올림

*round 함수: round(실수, n)

-n+1번째 자리에서 반올림

round(3.141592, 4)
#> 3.1416
#(5번째 자리에서 반올림하여 4번째 자리까지 표현)

 

 

2. 문자열 자료형

1) 작은따옴표('), 큰따옴표(") 그 자체 출력

-\' 혹은 \" : 백슬래시(\) 뒤의 작은따옴표나 큰따옴표는 둘러싸는 기호의 의미가 아니라 문자('), (") 그 자체를 의미

print('Python\'s favorite friend is C')
#> Python's favorite friend is C

 

2) 이스케이프 코드

① \n : 문자열 안에서 줄을 바꿀 때 사용

② \t : 문자열 사이에 탭 간격을 줄 때 사용

③ \\ : 문자 \를 그대로 표현할 때 사용

④ \' : 작은따옴표(')를 그대로 표현할 때 사용

⑤ \" : 큰따옴표(")를 그대로 표현할 때 사용

⑥ \r : 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동)

⑦ \f : 폼 피트(줄 바꿈 문자, 현재 커서를 다음 줄로 이동)

⑧ \a : 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다)

⑨ \b : 벡스페이스

⑩ \000 : 널 문자

 

3) 정렬과 공백

-%s를 숫자와 함께 사용하면, 공백과 정렬 표현 가능

#10은 전체 길이를 의미
"%10s" % "hi"  #양수를 적으면 문자열이 오른쪽으로 정렬
#> '        hi'

"%-10sjane" % "hi"
#> 'hi        jane'

 

4) f 문자열 포매팅

-문자열 앞에 f 접두사를 붙이면, f 문자열 포매팅 기능 사용 가능

-문자열 뿐 아니라 숫자형, 다른 자료형(리스트, 튜플 등)도 가능

age = 30
f'나는 내년이면 {age+1}살이 된다.'
#> '나는 내년이면 31살이 된다.'

num = 10
str = "문자"
lis = [0,1,2,3]
f'이것은 숫자: {num}, 이것은 문자열: {str}, 이것은 리스트: {lis}'
#> '이것은 숫자: 10, 이것은 문자열: 문자, 이것은 리스트: [0, 1, 2, 3]'

 

5) 문자열 관련 함수: 문자열 자료형이 가진 내장 함수

① count(): 문자 개수 세는 함수

② find(): 찾는 문자열이 처음 나온 위치 반환, 없으면 -1 반환

③ index(): find와 마찬가지로, 찾는 문자열이 처음 나온 위치 반환. 단, 찾는 문자열이 없으면 오류 발생

★④ join(): 문자열 삽입

⑤ upper(): 소문자를 대문자로 변환

⑥ lower(): 대문자를 소문자로 변환

⑦ rstrip(): 가장 오른쪽에 있는 연속된 공백 삭제

⑧ lstrip(): 가장 왼쪽에 있는 연속된 공백 삭제

★⑨ strip(): 양쪽에 있는 연속된 공백 삭제

★⑩ replace(바뀌게 될 문자열, 바꿀 문자열): 문자열 안의 특정 값을 다른 값으로 치환

★⑪ split(): 공백 또는 특정 문자열을 구분자로 해서 문자열 분리. 분리된 문자열은 리스트로 반환됨

#count()
a = "hobby"
a.count('b')
#> 2

#find()
a = "Python is the best choice"
a.find('b')
#> 14   <- 문자열에서 b가 처음 나온 위치
a.find('k')
#> -1

#index()
a = "Life is too short"
a.index('t')
#> 8
a. index('k')
# 오류 발생

#join()
",".join('abcd')
'a,b,c,d'

#upper()
a = "hi"
a.upper()
#> 'HI'

#lower()
a = "HI"
a.lower()
#> 'hi'

#lstrip()
a = " hi "
a.lstrip()
#> 'hi '

#rstrip()
a = " hi "
a.rstrip()
#> ' hi'

#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']

 

 

3. 리스트 자료형

1) 리스트의 수정과 삭제

*삭제 시 del 키워드 사용 가능

a = [1, 2, 3]
del a[1]
a
#> [1, 3]

#슬라이싱 기법 활용 가능
a = [1, 2, 3, 4]
del a[2:]
a
#> [1, 2]

 

2) 리스트 관련 함수

① append(): 리스트의 맨 마지막에 요소 추가, 어떤 자료형도 추가 가능

② sort(): 리스트의 요소를 순서대로 정렬, 문자의 경우 알파벳 순서로 정렬 가능

③ reverse(): 리스트를 역순으로 뒤집어 줌. 요소를 역순으로 정렬하는 것이 아닌, 현재의 리스트 그대로 뒤집음

★④ index(): 요소를 검색하여 위치 값 반환. 값이 존재하지 않으면, 값 오류 발생

★⑤ insert(): 리스트에 요소 삽입

-insert(a, b): a번째 위치에 b를 삽입하는 함수

⑥ remove(): 리스트에서 첫 번째로 나오는 x를 삭제

-remove(x): 리스트에서 첫 번째로 나오는 x를 삭제

⑦ pop(): 리스트의 맨 마지막 요소를 돌려주고 해당 요소 삭제

-pop(x): 리스트의 x번째 요소를 돌려주고 해당 요소 삭제

★⑧ count(): 리스트에 포함된 요소의 개수 반환

-count(x): 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수

★⑨ extend(): 리스트에 리스트를 더하는 함수

-extend(x): x에는 리스트만 올 수 있음

#index()
a = [1,2,3]
a.index(3)
#> 2
a.index(0)
# 오류 발생

#insert()
a = [1, 2, 3]
a.insert(0, 4)
#> [4, 1, 2, 3]

#remove()
a = [1, 2, 3, 1, 2, 3]
a.remove(3)
#> [1, 2, 1, 2, 3]

#count()
a = [1, 2, 3, 1]
a.count(1)
#> 2

#extend()
a = [1, 2, 3]
a.extend([4, 5])
a
#> [1, 2, 3, 4, 5]

 

 

4. 튜플 자료형

-리스트는 값을 생성, 삭제, 수정 가능하나 튜플은 값 변경 불가능

-튜플은 1개의 요소만을 가질 때도 요소 뒤에 콤마(,)를 반드시 붙여야 함 (ex) t = (1, )

-괄호를 생략해도 무방함 (ex) t2 = 1, 2, 3

★프로그램이 실행되는 동안 값을 유지해야 하면 튜플을, 수시로 값을 변경해야 하면 리스트 사용

 

1) 인덱싱하기

t1 = (1, 2, 'a', 'b')
t1[0]
#> 1

 

2) 슬라이싱하기

t1 = (1, 2, 'a', 'b')
t1[1:]
#> (2, 'a', 'b')

 

3) 튜플 더하기와 곱하기

t1 = (1, 2, 'a', 'b')
t2 = (3, 4)

t1 + t2
#> (1, 2, 'a', 'b', 3, 4)

t2 * 3
#> (3, 4, 3, 4, 3, 4)