자료형학습

CTRL+Enter를 쳐라

  1. None형 - 무엇인지 알 수 없음
In [141]:
# None (특수형태)
print(0 == None)
print(2 == None)
False
False
  1. 숫자형 - 가장 많이 쓰이는 자료형
In [142]:
# 숫자형
int_val = 10#ctrl + space를 쓰면 스마트 어시스턴스가 나옴
print(int_val)
float_val = 3.16
print(float_val)
print(float_val/int_val)
print(int_val/float_val)
# 2진수
bin_val = 0b1111
print(bin_val)
# 8진수
oct_val = 0o52
print(oct_val)
#16진수
hex_val = 0xff
print(hex_val)
10
3.16
0.316
3.1645569620253164
15
42
255
In [143]:
# 자료형 확인
print(type(int_val))
print(type(float_val))
print(type(oct_val))
print(type(hex_val))
<class 'int'>
<class 'float'>
<class 'int'>
<class 'int'>
  1. 문자열형 - 출력을 위해 사용
In [144]:
# 문자열형
bruce_eckel = 'Life is short, \nYou need Python'
print(bruce_eckel)
greeting = "Hello, Python"
print(greeting)

multi_str_val='''Hello 
My name is PYJ
Bye'''
print(multi_str_val)
Life is short, 
You need Python
Hello, Python
Hello 
My name is PYJ
Bye
  1. 불린 (Boolean)
In [145]:
# 불린
print(1 == 1*2)
print(10 == 2*5)

print(type(False))
False
True
<class 'bool'>
In [146]:
#불린 계속
bl_true = True
bl_false = False
print(bl_true is True)#타입도 같고 값도 같다.
print(bl_true ==  True)#값이 똑같다

print(bool(1)) # 0이외의 값은 전부 True
print(bool(0)) # 0은 False
True
True
True
False
  1. 복합형 <List, Tuple, Dictionary>
In [147]:
#복합형 (자료구조)
#리스트
b=[1, 2, 3, 4, 5, 6, 7, 8,9, 10]
print(b)
c=[i for i in range(1, 101)]
print(c)
print(type(c))
#튜플
tuple_ary=(1, 2, 3, 4, 5)
print(tuple_ary)
print(type(tuple_ary))
#딕셔너리
spiderman = { 'name' : 'Peter Parker', 'age' : '18', 'weapon' : 'web shooter' }
print(spiderman)
print(type(spiderman))
#셋
set1 = set([1, 2, 3])
set2 = set("Hello World")

print(set1)
print(set2)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
<class 'list'>
(1, 2, 3, 4, 5)
<class 'tuple'>
{'name': 'Peter Parker', 'age': '18', 'weapon': 'web shooter'}
<class 'dict'>
{1, 2, 3}
{'o', 'r', 'H', 'e', 'W', 'l', 'd', ' '}
In [148]:
#일반 리스트 값 변경
q = [1, 2,3, 4, 5]
print(q)
print(q[0])
q[0] = 'H'
print(q)
[1, 2, 3, 4, 5]
1
['H', 2, 3, 4, 5]
In [149]:
# 문자열(문자의 배열) 값 변경
greeting = 'hello!'
print(greeting)
print(greeting[0])
# greeting[0]='H'#에러발생!, 문자열에는 함부로 값을 변경시킬 수 있다. Type Error
print(greeting)
new_greeting = 'H' + greeting[1:]
print(new_greeting)
hello!
h
hello!
Hello!

3. 문자열 포매팅

In [150]:
# 문자열 포매팅
a="I'm so happy for you"
b='I\'m so happy for you'
print(a)
print(b)
# 포매팅 구식
print('I\'m happy {0} you' .format('four'))
print('I\'m happy {0} you' .format('two'))
print('I\'m happy {0} {1} you' .format('zero', 'one'))
print('I\'m happy {1} {0} you' .format('zero', 'one'))
I'm so happy for you
I'm so happy for you
I'm happy four you
I'm happy two you
I'm happy zero one you
I'm happy one zero you
In [ ]:
# 문자열 포매팅
a="I'm so happy for you"
b='I\'m so happy for you'
print(a)
print(b)
# 포매팅 구식
print('I\'m happy {0} you' .format('four'))
print('I\'m happy {0} you' .format('two'))
print('I\'m happy {0} {1} you' .format('zero', 'one'))
print('I\'m happy {1} {0} you' .format('zero', 'one'))
I'm so happy for you
I'm so happy for you
I'm happy four you
I'm happy two you
I'm happy zero one you
I'm happy one zero you
In [151]:
word0='zero'
word1='one'
print('I\'m happy {0} {1} you' .format(word0, word1))
I'm happy zero one you
In [152]:
# 포매팅 신식
name='박용준'
address='서울'
print(f'제 이름은 {name}입니다. {address}에 살아요')
#f가 아주 중요함
제 이름은 박용준입니다. 서울에 살아요
In [153]:
import math
print (math.pi)
print(f'{math.pi*10:.3f}')
print('{0:.3f}' .format(math.pi))
3.141592653589793
31.416
3.142
In [154]:
#문자열 자르기
orign_str ='서울시 금천구 가산동'
print(orign_str)
print(orign_str.split(' '))
print(orign_str.split())

mes_str = 'DEST07|2022-05-24|10:07:17|DESC11|NONE'
print(mes_str.split('|'))
#| = 파이프 키
서울시 금천구 가산동
['서울시', '금천구', '가산동']
['서울시', '금천구', '가산동']
['DEST07', '2022-05-24', '10:07:17', 'DESC11', 'NONE']
In [155]:
# 문자열 치환
full_name = 'Liam YJ Park'
print(full_name.replace('Liam YJ', 'Emily'))
print(full_name)
Emily Park
Liam YJ Park
In [156]:
#문자열 공백 제거
test ='Hey, Guys~'
sp_test = test.split(',')
print(sp_test)
sp_test[1] = sp_test[1].replace('~', '').strip()
print(sp_test)
['Hey', ' Guys~']
['Hey', 'Guys']
In [157]:
print('       Hello~    '.lstrip())
print('       Hello~    '.rstrip())
print('       Hello~    '.strip())
print('       Hello    ~    '.strip())
Hello~    
       Hello~
Hello~
Hello    ~
In [158]:
# test ='Hey, Guys~'
print(test.index('H'))
print(test.index('G'))
#print(test.index('g'))  #없는 단어를 치면 ValueError가 발생함
0
5
In [159]:
print(test.find('G')) #찾으면 그 배열에서 인덱스를 리턴함
print(test.find('g')) #못 찾으면 -1
5
-1
In [160]:
print('Hello~'.count('l'))
2
In [161]:
print(full_name.upper()) #모든 단어를 대문자로 바꿈
print(full_name.lower()) #모든 단어를 소문자로 바꿈
LIAM YJ PARK
liam yj park
  1. 리스트 연산
In [162]:
#리스트 연산

arr = [1, 2, 3, 4, 5]
print(len(arr))
print(arr[4])
print(arr)

print(arr[0] + arr[4])
#arr[2] = '3' #에러 발생! 문자열+정수형 XX 문자열 + 문자열은 가능
print(arr[2] + arr[3])
arr[2] = '3'
arr[3] = '4'
print(arr[2] + arr[3])
print(arr)
5
5
[1, 2, 3, 4, 5]
6
7
34
[1, 2, '3', '4', 5]
In [163]:
#2차원 배열
arr2= [1, 2 ,['Hi', 'My', 'Friends']]
print(arr2)

print(arr2[2][2])

print(arr2[2][2][0])
[1, 2, ['Hi', 'My', 'Friends']]
Friends
F
In [164]:
print(arr2[0:2])
print(arr2[-2:])
[1, 2]
[2, ['Hi', 'My', 'Friends']]
In [165]:
print(arr2)
del(arr2[2])
print(arr2)
[1, 2, ['Hi', 'My', 'Friends']]
[1, 2]
In [166]:
# 리스트 변수 추가
print(arr)
arr.append(9)
print(arr)
[1, 2, '3', '4', 5]
[1, 2, '3', '4', 5, 9]
In [167]:
arr.insert(2, '132'); # 첫번째 전달자는 idx, 두번째 전달자는 Value
print(arr)
[1, 2, '132', '3', '4', 5, 9]
In [168]:
arr.pop()
print(arr)
[1, 2, '132', '3', '4', 5]
  1. 튜플 연산
In [169]:
tup1 = (1, 2, 3, 4, 5)
print(tup1)
(1, 2, 3, 4, 5)
In [170]:
print(tup1[4])
5
In [171]:
# tup1[0] = 7 # 에러발생! 튜플은 데이터를 바꿀 수 없다.
  1. 딕셔너리 연산
In [172]:
dic_a = {1: 'a'}
print(dic_a)
{1: 'a'}
In [173]:
dic_a[2] = 'b'
print(dic_a)
{1: 'a', 2: 'b'}
In [175]:
spider_man = {'name': 'Peter parker', 'armor':'Web shooter', 'age':20}
print(spider_man)
{'name': 'Peter parker', 'armor': 'Web shooter', 'age': 20}
In [176]:
print(spider_man['name'])
print('age' in spider_man)
Peter parker
True