[내일배움캠프] 파이썬 문법 기초(6) - f-string, 예외처리, 파일 불러오기

재명·2021년 12월 14일
0

Python

목록 보기
6/8
post-thumbnail

1-12 f-string

scores = [
    {'name':'영수','score':70},
    {'name':'영희','score':65},
    {'name':'기찬','score':75},
    {'name':'희수','score':23},
    {'name':'서경','score':99},
    {'name':'미주','score':100},
    {'name':'병태','score':32}    
]

for s in scores:
    name = s['name']
    score = str(s['score'])
    print(name+'의 점수는 '+score+'점 입니다')
    
>>>
영수의 점수는 70점 입니다
영희의 점수는 65점 입니다
기찬의 점수는 75점 입니다
희수의 점수는 23점 입니다
서경의 점수는 99점 입니다
미주의 점수는 100점 입니다
병태의 점수는 32점 입니다

#기존에 공부했던 리스트, 딕셔너리, 반복문, 문자열과같은 개념들을 조합하여 이와같은 결과를 도출하는 것은 그리 어렵지 않다. 그러나 변수 선언이후 문자열과의 결합을 위해 매번 + 를 사용해야 하는 번거로움이 남았는데, 이를 해결하기 위해 f-string이라는 메서드가 등장하게 된다

scores = [
    {'name':'영수','score':70},
    {'name':'영희','score':65},
    {'name':'기찬','score':75},
    {'name':'희수','score':23},
    {'name':'서경','score':99},
    {'name':'미주','score':100},
    {'name':'병태','score':32}    
]

for s in scores:
    name = s['name']
    score = str(s['score'])
    print(f'{name}의 점수는 {score}점 입니다')

#원리와 방법은 거의 비슷하지만 윗 방법보다 조금더 간결하게 코드를 작성할 수 있고, 참조해야되는 변수가 많아질수록 f-string을 통해 절약되는 시간과 노력이 더 커지므로 꼭 알아둬야한다





1-13 예외처리

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

#이제 위와같은 코드의 반환값이 저렇게 나오는 것쯤은 당연하게 받아들일 수 있을것이다. 그런데 우리가 실전에서 코드를 작성하다보면 간혹 실수가 발생하거나 누락된 자료가 있을 수 있다

#해당 코드에서는 people 리스트에 담긴 각 딕셔너리들의 age값을 호출하여 조건문을 통과해야 하므로 만약 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:
    try:
        if person['age'] > 20:
            print(person['name'])
    except:
        print(person['name'],'에러입니다')
        
>>>
carry
ben
bobby 에러입니다
red
queen

#이와같은 예외처리 방식은 데이터의 규모가 커지면 커질수록 유용하게 사용되고, 많고많은 자료들 중에 어떤 부분에서 에러가 났는지 확인할 수 있는 좋은 방법이 되기도 한다





1-14 파일 불러오기

1) 다른언어들과 마찬가지로 파이썬또한 외부의 함수를 끌어와 사용하는것이 가능하다

main_func.py 에서 함수를 아래와 같이 만들고

def say_hi():
    print('안녕하세요')

def say_hi_to(name):
    print(f'{name}님 안녕하세요')

sparta_python.py 에서 이를 실행하고 싶다면 다음과 같이 import해주고 사용하면 된다

from main_func import *

say_hi_to('Jacob')

>>> Jacob님 안녕하세요

2) from main_func import * 에서 from은 '어느 위치'에있는 파일에서 함수를 끌어올 것인가, import는 '어떤 함수'를 가져올 것인가를 나타내며 함수 각각을 개별적으로 불러올수도 있으나 *을 쓰게되면 해당 파일에 있는 모든 함수를 불러올 수 있기때문에 메모리 활용에 영향을 줄 정도로 정의된 함수가 많은 경우만 아니라면 대부분 *을 쓰는게 간편하다

profile
개발자가 되고싶은 늦깎이 코린이

0개의 댓글