13. 딕셔너리
딕셔너리
- 키(key)와 값(value)을 한 쌍으로 갖는 자료형
- 리스트 : 값을 다루기 위해 인덱스 사용
- 딕셔너리 : 값을 다루기 위해 키 사용 (Key를 통해 Value얻어냄)
{Key1 : Value1, Key2 : Value2, Key3 : Value3, ...}
Key와 Value의 쌍 여러 개가 { }로 둘러싸여 있음
각각의 요소는 Key : Value 형태로 이루어져 있고 쉼표(,)로 구분
Key : 변하지 않는 값 사용
Value: 변하는 값과 변하지 않는 값 모두 사용 가능
한개의 value를 print
print (dic[key])
예시)
집안일 = { '빨래' : 'A', '설거지' : 'B', '청소기' : 'C' }
print (집안일['빨래']) # A
딕셔너리에 쌍 추가
dic[key] = value
예시)
집안일[ '요리' ]=['D', 'E'] # value에 리스트 추가 가능
집안일[ '분리수거' ]='F'
print (집안일)
# { '빨래' : 'A', '설거지' : 'B', '청소기' : 'C', '요리' : ['D', 'E'], '분리수거' : 'F' }
딕셔너리 요소 삭제
del dic[key]
예시)
집안일 = {'빨래' : 'A', '설거지' : 'B', '청소기' : 'C', '요리' : ['D', 'E'], '분리수거' : 'F'}
del 집안일['요리']
print (집안일)
# { '빨래' : 'A', '설거지' : 'B', '청소기' : 'C', '분리수거' : 'F' }
딕셔너리 메서드
- dict.values(): 딕셔너리에서 value만 출력
집안일 = {'빨래':'A', '설거지':'B', '청소기':'C'}
집안일['분리수거']='F'
print (집안일.values( ))
# dict_values(['A', 'B', 'C', 'F'])
for 일 in 집안일.values( ) :
print (일) //
A
B
C
F
- dict.keys(): 딕셔너리에서 key만 출력
집안일 = {'빨래':'A', '설거지':'B', '청소기':'C'}
집안일 ['분리수거']='F'
print (집안일.keys( ))
# dict_keys(['빨래', '설거지', '청소기', '분리수거'])
사람 = 집안일.keys( )
print (사람)
# dict_keys (['빨래', '설거지', '청소기', '분리수거'])
- dict.items(): 딕셔너리에서 키와 값 쌍을 출력
집안일 = {'빨래':'A', '설거지':'B', '청소기':'C'}
집안일['분리수거']='F'
print(집안일.items())
for 목록 in 집안일.items():
print (목록)
//
('빨래', 'A')
('설거지', 'B')
('청소기', 'C')
('분리수거', 'F')
for 일,사람 in 집안일.items():
print (일,사람)
//
빨래 A
설거지 B
청소기 C
분리수거 F
# for key, val in my_dict.items():
print (key, val)
ref) https://hongku.tistory.com/24
14. 함수
함수
def 함수명 (매개변수) :
<수행할 문장1>
<수행할 문장2>
...
def : 함수를 만들 때 사용하는 예약어
매개변수 : 함수에 입력으로 전달되는 값을 받는 변수
함수를 정의한 후 if, while, for문 등과 마찬가지로 함수에서 수행할 문장을 입력
예시)
def add(a,b):
return a+b
print (add(3,4)) # 7
함수 사용 이유
- 반복적인 작업시 편리
- 코드 관리가 쉬워짐
함수의 결과값
- 함수의 결과값은 언제나 하나
예시)
def add_mul (a,b) :
return a+b, a*b
print (add_mul(3,4))
# (7, 12)
# (a+b, a*b)
위와 같이 결과를 하나의 튜플로 묶어 1개로 돌려줌
result = (add_mul(3,4)) 라고하면
result = (7,12) 라는 하나의 튜플값을 가지는 것
만약 하나의 튜플 값을 2개의 결과처럼 받고싶다면
def add_mul(a,b):
return a+b, a*b
result1,result2 = add_mul(3,4)
print (result1) # 7
print (result2) # 12
위와 같이 result를 나누어주면 됨
- return을 두 번 사용할 때
def add_mul(a,b):
return a+b
return a*b
print (add_mul(5,6)) # 11
위와 같이 첫번째 return인 a+b 만 실행
두번째 return a*b 는 실행되지 않음
함수는 return문을 만나는 순간 결괏값을 돌려준 다음 함수를 빠져나가게 됨
input() 함수
input에서 입력받은 값은 항상 문자열 형태!
예시 1)
a= (input("숫자 입력 : "))
b= (input("숫자 입력 : "))
print (a+b) //
숫자 입력 : 4
숫자 입력 : 5
45
위와 같이 input을 통해 받은 값은 문자 형태
따라서 +를 해주어도 숫자처럼 더해지는게 아님
위의 문자를 숫자로 바꿔주기 위해 int( ) 사용
예시 2)
a= int(input("숫자 입력 : "))
b= int(input("숫자 입력 : "))
print (a+b) //
숫자 입력 : 4
숫자 입력 : 5
9
int를 사용하니 입력받은 문자가 숫자로 인식되어 잘 더해짐
ref) https://dojang.io/mod/page/view.php?id=1219
15. 모듈
모듈
- 함수나 변수 또는 클래스를 모아 놓은 파일
- 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일
- 파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈
모듈 사용 방법
import 모듈이름
예시 )
만약 mod1.py가 아래와 같을 때 mod1을 사용한다면
def add(a, b):
return a + b
def sub(a, b):
return a-b
import mod1 # mod1을 불러옴
print (mod1.add(3, 4)) # 7 mod1에 있는 add함수 사용
print (mod1.sub(4, 2)) # 2 mod1에 있는 sub함수 사용
mod1을 불러올때 import mod1.py로 쓰지않도록 주의
모듈에 있는 함수 사용하기 : 모듈이름. 함수이름
위와 같이 mod1.py 파일에 있는 add 함수를 사용하기 위해서는 mod1.add 처럼 모듈 이름 뒤에 " . "(도트 연산자)를 붙이고 함수 이름을 쓰기
랜덤
- 난수를 만들거나 무작위와 관련된 함수를 포함한 모듈
- random.choice( ) : 리스트의 값 중 하나를 랜덤하게 선택
import random
students = ['A', 'B', 'C', 'D', 'E']
print (random.choice (students) ) # B
- random.sample( ) : 리스트의 값 중에서 지정한 개수만큼 랜덤하게 선택
- random.sample (리스트, 갯수)
import random
students = ['A', 'B', 'C', 'D', 'E']
print (random.sample(students, 3)) # ['A', 'E', 'D']
- random.randint( ) : 특정 범위의 정수 중 하나를 랜덤하게 선택
- random.randint(숫자범위1, 숫자범위2) 범위 2의 숫자도 범위에 포함
import random
print (random.randint(4,18)) # 11
16. 객체 (object)
- 함수와 데이터를 한꺼번에 묶어둔 것
17. 코딩 스타일
'python > Python_김왼손의 미운코딩 새끼' 카테고리의 다른 글
Part 9 ~ 12 (0) | 2020.03.20 |
---|---|
Part 7 ~ 8 (0) | 2020.03.19 |
Part 6 (0) | 2020.03.19 |
Part 1 ~ 5 (0) | 2020.03.17 |
댓글