본문 바로가기
python/Python_김왼손의 미운코딩 새끼

Part 13 ~ 17

by 2cong 2020. 3. 20.

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' }

ref) https://wikidocs.net/16

딕셔너리 메서드

  • 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문을 만나는 순간 결괏값을 돌려준 다음 함수를 빠져나가게 됨

ref) https://wikidocs.net/24

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 처럼 모듈 이름 뒤에 " . "(도트 연산자)를 붙이고 함수 이름을 쓰기

ref) https://wikidocs.net/29

랜덤

  • 난수를 만들거나 무작위와 관련된 함수를 포함한 모듈
  • 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

댓글