Sparta Coding Club/Development log [개발일지]

[Python][파이썬 문법 기초] 2-1 ~ 2-7 튜플 부터 함수 심화까지 통합! - Coding Farm

양한마리 2022. 9. 20. 00:56
728x90



파이썬 기초 문법 (1)



파이썬 기초 문법 (2)



2-1 튜플, 집합


 

 

[Python][파이썬 문법 기초] 2-1 튜플, 집합 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 ← 1) 튜플 (tuple) 2) 집합 (set) 3) Q. 구글링..

hanmari-code.tistory.com


1) 튜플 (tuple)


  • 튜플은 리스트와 비슷하지만 불변인 자료형 입니다. ([0] 순서도 존재)
a = (1,2,3)

print(a[0])

 

  • 작업이 불가능한 예제
a = (1,2,3)
a[0] = 99 # 변하지 않으므로 error

TypeError: 'tuple' object does not support item assignment

 

  • 대체로 사용되는 방법 예제, 딕셔너리 대신 리스트와 튜플로 딕셔너리 유사하게 만들어 사용
a_dict = [('bob','24'),('john','29'),('smith','30')]

2) 집합 (set)


  • 집합은 말 그대로 '집합'을 구현하는 방법 (장점 : 중복 X)
def check_gender(pin):
    print('')

my_pin = '200101-3012345'
check_gender(my_pin)
  • 교집합 / 합집합 / 차집합
a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']
a = set(a)
b = set(b)

print(a & b)  # 교집합
print(a | b)  # 합집합

# 교집합 : {'사과', '참외'}
# 합집합 : {'토마토', '사과', '딸기', '수박', '참외', '청포도', '멜론', '감'}

3) Q. 구글링 문제 - AB 수업 문제


  • Q. A가 들은 수업 중, B가 듣지 않은 수업을 찾아보기
student_a = ['물리2','국어','수학1','음악','화학1','화학2','체육']
student_b = ['물리1','수학1','미술','화학2','체육']
  • a와 b의 '차집합' 구하는 방법
set_a = set(student_a)
set_b = set(student_b)

print(set_a-set_b)

# 출력 : {'음악', '물리2', '국어', '화학1'}

2-2 f-string


 

 

[Python][파이썬 문법 기초] 2-2 f-string - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string ← 변수로 더 직관적인 문자열 만

hanmari-code.tistory.com


변수로 더 직관적인 문자열 만들기


  • 점수 모음
scores = [
    {'name':'영수','score':70},
    {'name':'영희','score':65},
    {'name':'기찬','score':75},
    {'name':'희수','score':23},
    {'name':'서경','score':99},
    {'name':'미주','score':100},
    {'name':'병태','score':32}    
]
  • 이름과 점수 출력 (1)
for s in scores:
    name = s['name']
    score = str(s['score'])
    print(name,score)

 

  • 이름과 점수 출력(2)
for s in scores:
    name = s['name']
    score = str(s['score'])
    print(name+'는 '+score+'점 입니다')
  • 이름과 점수 출력(f-string)
for s in scores:
    name = s['name']
    score = str(s['score'])
    print(f'{name}은 {score}점입니다') # print(f'{변수} 블라블라.')

2-3 예외처리


 

 

[Python][파이썬 문법 기초] 2-3 예외처리 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 ← try - except 문..

hanmari-code.tistory.com


try - except 문


  • 예상치 못한 에러가 있을 시 예외 처리하여 건너뛰게 할 수 있는 방법

  • 예제) 20세 보다 큰 사람만 출력하기 (예외 처리 X)
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    if person['age'] > 20:
        print (person['name'])
        
### 출력 ###
carry
ben
bobby
red
queen
###########
  • 작업이 불가능한 예제 ( age 데이터가 없는 딕셔너리가 존재할때 )
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby'},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    if person['age'] > 20:
        print (person['name'])
   
##### 출력 #####
carry
ben

# (error 메세지 출력)
Traceback (most recent call last):
  File "####", line 51, in <module>
    if person['age'] > 20:
KeyError: 'age'

###############
  • try - except 문으로 에러 예외처리
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    try:
        if person['age'] > 20:
            print (person['name'])
    except: # 에러 발생시 아래 내용 출력
        name = person['name']
        print(f'{name} - 에러입니다')
        
        
 #### 출력 ####
carry
ben
bobby - 에러입니다
red
queen
 #############

2-4 파일 불러오기 (fron / import)


 

 

[Python][파이썬 문법 기초] 2-4 파일 불러오기 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기..

hanmari-code.tistory.com


1) 개념정리


  • import만 사용하면 모듈 안의 함수를 사용할 때, 모듈명.함수명( )으로 하고, from을 사용하면 바로 함수명( )으로 사용
  • import os
    • os 모듈을 불러오는 것
  • from os import*
    • os모듈로부터 모두(*) import

2) 여러개 파일로 분리 사용하기


  • main_test.py
from main_func import *

say_hi()
  • main_func.py
def say_hi():
	print('안녕!')

2-5 한줄의 마법(축약식)


 

 

[Python][파이썬 문법 기초] 2-5 한줄의 마법(축약식) - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기 2..

hanmari-code.tistory.com


1) If문 - 삼항 연산자


  • 기본 if문 조건식
num = 3

if num%2 == 0:
    result = "짝수"
else:
    result = "홀수"

print(f"{num}은 {result}입니다.")
  • 삼항연산자 조건식
num = 3

result = "짝수" if num%2 == 0 else "홀수"

print(f"{num}은 {result}입니다.")

tip (참일 때 값) if (조건) else (거짓일 때 값)으로 항이 3개라 삼항 연산자입니다 


2) for문 - 한방에 써버리기


  • 기본 for문
a_list  = [1, 3, 2, 5, 1, 2]

b_list = []
for a in a_list:
    b_list.append(a*2)

print(b_list)
  • 축약식 for문
a_list  = [1, 3, 2, 5, 1, 2]

b_list = [a*2 for a in a_list]

print(b_list)

2-6 map, filter, lambda 식


 

 

[Python][파이썬 문법 기초] 2-6 map, filter, lambda식 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기 2..

hanmari-code.tistory.com


1) map - 리스트의 모든 원소를 조작하기


리스트 예시)

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]
  • 1차 조작
def check_adult(person):
    if person['age'] > 20:
        return '성인'
    else:
        return '청소년'

result = map(check_adult, people)
print(list(result))
  • 2차 조작
def check_adult(person):
    return '성인' if person['age'] > 20 else '청소년'

result = map(check_adult, people)
print(list(result))
  • 3차 조작 *lambda식
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))

2) filter - 리스트의 모든 원소 중 특별한 것만 뽑기


  • map과 유사하나, True인 것들만 출력 (map보다 쉬운게 장점)
result = filter(lambda x: x['age'] > 20, people)
print(list(result))

2-7 함수 심화


 

 

[Python][파이썬 문법 기초] 2-7 함수 심화 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기 2..

hanmari-code.tistory.com


함수의 매개 변수


tip 이 내용들은 직접 쓰는 것보단 알고 있으면 내장함수 등을 사용할 때 도큐먼트를 읽는 데 도움이 됩니다!

  • 1. 함수에 인수를 넣을 때, 어떤 매개변수에 어떤 값을 넣을지 정해줄 수 있어요. 순서 상관 없음!
def cal(a, b):
    return a + 2 * b

print(cal(3, 5))
print(cal(5, 3))
print(cal(a=3, b=5))
print(cal(b=5, a=3))
  • 2. 특정 매개변수에 디폴트 값을 지정해줄 수 있어요.
def cal2(a, b=3):
    return a + 2 * b

print(cal2(4))
print(cal2(4, 2))
print(cal2(a=6))
print(cal2(a=1, b=7))
  • 3. 입력값의 개수를 지정하지 않고 모두 받는 방법!
def call_names(*args):
    for name in args:
        print(f'{name}야 밥먹어라~')

call_names('철수','영수','희재')

tip 이렇게 여러 개의 인수를 하나의 매개변수로 받을 때 관례적으로 args라는 이름을 사용합니다. arguments라는 뜻이에요!

  • 4. 키워드 인수를 여러 개 받는 방법!
def get_kwargs(**kwargs):
    print(kwargs)

get_kwargs(name='bob')
get_kwargs(name='john', age='27')

 

★ 모아보기

2-1 튜플, 집합

 

[Python][파이썬 문법 기초] 2-1 튜플, 집합 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 ← 1) 튜플 (tuple) 2) 집합 (set) 3) Q. 구글링..

hanmari-code.tistory.com

2-2 f-string

 

[Python][파이썬 문법 기초] 2-2 f-string - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string ← 변수로 더 직관적인 문자열 만

hanmari-code.tistory.com

2-3 예외처리

 

[Python][파이썬 문법 기초] 2-3 예외처리 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 ← try - except 문..

hanmari-code.tistory.com

2-4 파일 불러오기

 

[Python][파이썬 문법 기초] 2-4 파일 불러오기 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기..

hanmari-code.tistory.com

2-5 한줄의 마법(축약식)

 

[Python][파이썬 문법 기초] 2-5 한줄의 마법(축약식) - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기 2..

hanmari-code.tistory.com

2-6 map, filter, lambda식

 

[Python][파이썬 문법 기초] 2-6 map, filter, lambda식 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기 2..

hanmari-code.tistory.com

2-7 함수 심화

 

[Python][파이썬 문법 기초] 2-7 함수 심화 - Coding Farm

파이썬 기초 문법 (1) 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 파이썬 기초 문법 (2) 2-1 튜플, 집합 2-2 f-string 2-3 예외처리 2-4 파일 불러오기 2..

hanmari-code.tistory.com


 

728x90
반응형