코딩/파이썬

'23.3.2(목) 파이썬 기초 자료형 <4 : 숫자형, 문자형>

ILIL_EUN 2023. 3. 2. 14:36

<숫자형 사용법>
 - 파이썬 모든 자료형
 - 데이터 타입 선언
 - 연산자 활용
 - 형 변환
 - 외부 모듈 사용 

# 파이썬 지원 자료형
'''
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