반응형
#!/usr/bin/env python
# coding: utf-8
# # 1. 파이썬 데이터 타입 및 변수
# ### 1.1 변수 및 대입
# - variable
# - structure
# - class
# ### 1.2 데이터 타입 종류
# <center>타 입|<center>설 명|<center>예
# :---|:---|:---
# int|정수형 데이터|100
# float|소숫점을 포함한 실수|10.25
# bool|참/거짓|True
# str|문자열|'LG Electronics'
# list|리스트, 순서가 있는 배열, 수정/추가/삭제가 가능한 자료 구조|[1, 2, 3, 'a', 'b']
# tuple|튜플, 순서가 있는 배열, 수정/추가/삭제가 불가능한 자료 구조|(1, 2, 3, 'a', 'b')
# dict|사전, {key: value}로 구성되어있는 자료 구조|{'Math': 99, 'English': 88, 'Korean': 78}
# set|집합, {key}로 구성되어있는 자료 구조|{'a', 'b', 'c'}
#
# <참고> None Type
# ### 1.3 정수(int) 타입
# - 10진수
# - 2진수
# - 8진수
# - 16진수
# In[1]:
# 10진수
a = 365
# In[2]:
# 2진수
b = 0b101101101
# In[3]:
# 8진수
c = 0o555
# In[5]:
# 16진수
d = 0x16d
# In[ ]:
# ### 1.4 실수(float) 타입
# In[ ]:
fa = 3.14
# In[ ]:
fb = 3.1415e2
# In[ ]:
# ### 1.5 불린(boolean) 타입
# In[ ]:
ba = True
# In[ ]:
bb = False
# In[ ]:
ba and bb
# In[ ]:
# ### 1.6 문자열(str) 타입
# In[ ]:
# 문자열 생성
sa = 'Hello World'
sb = 'one way of writing a string'
# In[ ]:
sc = "another way"
# In[ ]:
sd = '''
This is a longer string that
spans multiple lines
'''
# In[ ]:
print(sd)
# In[ ]:
# 문자열 카운트
sd.count('\n')
# In[ ]:
# 문자열 수정
a = 'this is a string'
a[10] = 'f' # 문자열 수정 불가
b = a.replace('string', 'longer string')
b
# In[ ]:
# type 변경
a = 5.6
s = str(a)
print(s)
# In[ ]:
# Escape 문자
# \n \t \\ \' \" etc
s = '12\\34'
print(s)
se = r'this\has\no\special\characters'
print(se)
# In[ ]:
# 문자열 연산
a = 'this is the first half '
b = 'and this is the second half'
a + b
# In[ ]:
# 문자열 연산
a = '='
a * 50
# In[ ]:
# Slicing
a = "20010331Rainy"
print(a[:8])
print(a[8:])
# In[ ]:
# 문자열 format
template = '{0:.2f} {1:s} are worth US${2:d}'
# In[ ]:
template.format(4.5560, 'Argentine Pesos', 1)
# In[ ]:
# 문자열 합치기
",".join('abcd')
",".join(['a','b','c','d'])
# In[ ]:
# 문자열 나누기
a = "a:b:c:d"
a.split(':')
# In[ ]:
# Strip
a = " hi "
a.rstrip()
a.lstrip()
a.strip()
# In[ ]:
# upper(), lower()
a = " Hi "
print(a.upper())
print(a.lower())
# #### 자주 사용하는 문자열 메소드
# <center>메소드|<center>설 명
# :---|:---
# 문자열.startswith(prefix)|문자열이 prefix로 시작하는지 검사하여 True/False 반환
# 문자열.endswith(suffix)|문자열이 suffix로 끝나는지 검사하여 True/False 반환
# 문자열.format(value)|문자열의 특정 값을 value로 치환한다.
# 문자열.replace(old, new)|s에 있는 old를 new로 바꾼다.
# 문자열.split(sep)|sep를 구분자로 하여 문자열을 분할한다.
# 문자열.strip(chars)|앞이나 뒤에 나오는 공백이나 chars로 지정된 문자들을 제거한다.
# ### <참고>
# - ASCII CODE
# - UNICODE
# - utf-8
# - cp949
# In[ ]:
# ### 1.7 리스트(list) 타입
# In[ ]:
# 리스트 생성
a = list()
a = []
b = [1, 2, 3, 4, 5]
c = ['aaa', 'bbb', 'ccc']
d = [1, 2, 'aaa', 'bbb']
e = [1, 2, ['aaa', 'bbb']]
# In[9]:
# 인덱싱 & 슬라이싱
a = [1,2,3,4,5,['a','b','c','d'],7,8,9]
# In[10]:
a[0]
# In[11]:
a[-1]
# In[13]:
a[0:4:2]
# In[15]:
a[5]
# In[16]:
a[5][2]
# In[14]:
# pointer
b = a[5]
b[0] = 'k'
# In[ ]:
a
# In[ ]:
from copy import deepcopy
c = deepcopy(a[5])
c[1] = 'm'
c
# In[ ]:
a
# In[ ]:
1 in a
# In[ ]:
1 not in a
# In[ ]:
# function
len(a)
sum(b)
max(b)
min(b)
del(a[0])
# method
a.append(10)
a.sort()
a.reverse()
a.remove(1)
a.count()
# In[ ]:
# extend()
b = [1,2,3]
b.extend([4,5])
b
# **<참고> 함수의 인자로 자주 활용되는 리스트**
# In[ ]:
# ### 1.8 튜플(tuple) 타입
# In[17]:
# 튜플의 생성
a = tuple()
a = ()
b = (1,) # 마지막에 콤마 필요
c = (1, 2, 3)
d = 1, 2, 3 # packing & unpacking
e = (1, 2, ('ab', 'cd'), 3, 4)
# **튜플은 수정 및 변경 불가**
# In[19]:
c[0] = 9
# In[20]:
del c[1]
# In[21]:
# packing & unpacking
x,y,z = (1,2,3)
print(x,y,z)
# In[22]:
def f_a():
return (4,5,6)
# In[23]:
a,b,c = f_a()
print(a,b,c)
# In[24]:
x = 1
y = 2
print('Before: ', x, y)
x, y = y, x
print('After : ', x, y)
# In[ ]:
# ### 1.9 사전(dict) 타입
# In[25]:
# 사전의 생성
d = {1:'Hello World', 'class':'python', 'pi':3.14, 'lst':[1,2,3]}
# In[26]:
d[1]
d['class']
d['pi']
d['lst']
# In[ ]:
# 순차적인 Index 접근 불가
# dict 순서는 hash 순서
d[0]
# In[ ]:
d.get('x','default value')
# In[ ]:
# 사전 추가 & 삭제
d['add'] = 'add value'
del d['class']
# In[ ]:
d
# In[ ]:
# 수정 가능한 변수는 key 로 사용 불가
dd = {[1,2,3]:'value'}
# In[ ]:
# keys(), values(), items()
d.keys()
d.values()
d.items()
# In[ ]:
for k in d.keys():
print('key: ', k )
# In[ ]:
'pi' in d
# In[ ]:
d.clear()
# ### 1.10 집합(set) 타입
# In[27]:
# 집합의 생성
s = set([1,2,3,4])
x = {2,3,2,3,4,5,1}
y = {3,4,5,6,7}
# In[ ]:
x
# In[28]:
x | y # 합집합
# In[29]:
x & y # 교집합
# In[30]:
x - y # 차집합
# In[31]:
x ^ y # 대칭 차집합
# In[ ]:
x.add(10)
x
# In[ ]:
x.update([11,12,13])
x
# In[ ]:
x.remove(13)
x
# In[ ]:
# ### 1.11 None 타입
# In[32]:
a = None
a is None
b = 5
b is not None
# In[33]:
def add_multiply(a, b, c=None):
result = a + b
if c is not None:
result = result * c
return result
# In[34]:
add_multiply(1,2)
# In[ ]:
# ### 1.12 타입 변환
# In[ ]:
a = 1
# In[35]:
type(a)
# In[36]:
isinstance(a, int)
# In[ ]:
float(1)
# In[ ]:
int(3.14)
# In[ ]:
str(3.14)
# In[ ]:
float('3.14')
# In[ ]:
float('Hello World')
# In[ ]:
tuple([1,2,3])
# In[ ]:
list((1,2,3))
# In[ ]:
# ### 1.13 변수 할당
# In[38]:
a = [1,2,3]
b = [1,2,3]
c = a
d = a[:] # Numpy, Pandas 에서는 View를 제공(메모리의 효율적 사용)
# In[ ]:
a is c
# In[ ]:
a is b
# In[ ]:
a is d
# In[ ]:
a == b
# In[39]:
id(a)
id(b)
id(c)
id(d)
# In[ ]:
# ### 1.14 변수 활용
# In[40]:
students = [
{'num':'1','name':'김철수','kor':90,'eng':80,'math':85,'total':0,'avg':0.0,'order':0 },
{'num':'2','name':'박제동','kor':90,'eng':85,'math':90,'total':0,'avg':0.0,'order':0 },
{'num':'3','name':'홍길동','kor':80,'eng':80,'math':80,'total':0,'avg':0.0,'order':0 }
]
# In[ ]:
students[0]
# In[ ]:
students[1]['kor']
# In[ ]:
# ---
# In[ ]:
# end of file
# In[ ]:
반응형
LIST
'Programming' 카테고리의 다른 글
[Python][문법] 기초 - 4. 함수 (0) | 2022.01.02 |
---|---|
[Python][문법] 기초 - 3. 연산자_흐름제어 (0) | 2022.01.02 |
[Python][문법] 기초 - 1. 파이썬 소개 (0) | 2022.01.02 |
[Python][Library] 라이브러리 별 기능 요약 (0) | 2022.01.02 |
[Python][Library] 3. matplotlib - 1. 시각화 (0) | 2022.01.02 |