'23.3.2(목) 파이썬 기초 자료형 <4 : 숫자형, 문자형>
<숫자형 사용법>
- 파이썬 모든 자료형
- 데이터 타입 선언
- 연산자 활용
- 형 변환
- 외부 모듈 사용
# 파이썬 지원 자료형
'''
int :정수
float :실수
complex : 복소수
bool : 불린 (참과 거짓)
str : 문자열(시퀀스)
list : 리스트(시퀀스)
tuple : 튜플(시퀀스)
set : 집합
dict : 사전
'''
list = [ str1, str2]
dict = {
"name : "CHOI JIEUN",
"age" : 25
}
tuple = (7, 5)
set = {7, 5}
# 숫자형 연산자
'''
/ 나누기
// 몫
% 나머지
abs(x) : 절대값
pow(x,y) x**y
a, b = divmod(x,y) x/y의 몫, x/y의 나머지
'''
<형 변환 실습>
a = 3.
b = 6
c = .7
d = 12.7
- print(type(a), type(b), type(c), type(d))
>> <class 'float'> <class 'int'> <class 'float'> <class 'float'>
- print(int(??))
- print(float(??))
- print(complex(???))
- print(int(True)) # True : 1 False : 0
>>> 1
- x, y = divmod(100,8)
- print(x,y)
>> 12 4
- print(pow(5,3))
>> 125
<외부 모듈>
import match
<문자형 사용법>
#문자열 표현
str1 = " I am Python"
str2 = ' Python'
str3 = '''Thank you'''
#문자열 길이
print(len(str1), len(str2), len(str3))
>> 11 6 12
# 빈 문자열 생성 방법
str1_t1 = ''
str2_t2 = str()
# 이스케이프 문자열
print("I'm Boy")
>> I'm Boy
print('I\'m Boy')
>> I'm Boy
# Row String .. 역슬러시를 있는 그대로 표현
raw_s1 = r'D:\Python\test'
print(raw_s1)
>> D:\Python\test
#멀티라인 입력
multi_s1 = \
'''
문자열
멀티라인 입력
테스트
'''
※ 멀티라인을 입력하기 위해서는 역슬러시(\)를 해줘야 오류가 없음
#문자열 연산 (중요)
str_o1 = 'python'
str_o2 = 'Apple'
str_o3 = 'How are you doing'
str_o4 = 'Seoul Deajeon Busan Jinju'
print('y' in str_o1) # 'y'의 포함 여부
>> True #1
print('P' not in str_o2) #대소문자 구분됨
>> True #1
#문자열 함수(upper, isalnum, count, endwith, isalpha ...)
print('Capitalize : ', str_o1.capitalize())
>> Capitalize : Python # 맨 앞글자 대문자로 출력됨
print('endwith : ', str_o2.endwith('e'))
>> endwith :True # 맨 뒷글자에 'e'가 있는지
print('replace : ', str_o1.replace('thon', ' good'))
>>replace : py good #'thon' 부분을 'good'로 변경해줌
print('sorted : ', sorted(str_o1))
>>['p', 'h'...]
print('split : ', str_o4.split(' '))
>> ['Seoul', 'Deajeon', 'Busan', 'Jinju']
#반복(시퀀스)
im_str = 'Good Boy!'
print(dir(im_str)) #__iter__ 는 시퀀스를 반복할 수 있음
for i in im_str:
print(i)
>>
G
o
o
...
# 슬라이싱 연습 (가장 중요함)
str_s1 = 'Nice Python'
print(len(str_s1)
>> 11
print(str_s1[0:3]) #0부터 3-1까지만 나옴
print(str_s1[5:] #5부터 끝까지
print(str_s1[:len(str_s1)] #[:11] 처음부터 끝까지
print(str_s1[::2]) #처음부터 끝까지 2칸씩 띄어서 가져옴
#아스키 코드(또는 유니코드)
a = 'z'
print(ord(a))
>> 122
print(chr(122))
>> z