티스토리 뷰

728x90

 

✅ f-string

 

 

 

 

 

  • for s 가 scores 라면 아래를 출력해라.

 

 

 

 

  • name 과 score를 딕셔너리에서 각각 가져와서 정의해준다. 그리고 프린트로 다음과 같이 출력한다.

 

 

 

  • 아래가 같이 출력된다. f-string 은 더 편하게 변수를 문자에 넣을 수 있다. (str( )은 숫자를 문자로 변형시켜 주는 명령어이다.)
print(name+'의 점수는 '+str(score)+'점입니다.')
print(f'{name}의 점수는 {score}점입니다.')

 

 

 

 

 

 

 

 

 

예외처리 (try - except)

 

 

  • person 의 'age' 가 20보다 크면 person 의 'name'을 프린트를 해라.

 

 

  • ben 에 보면 'age'가 없어서 에러가 난 것을 볼 수 있다. 이 때 쓸수 있는 문이 try - except 문이다.

 

 

 

  • try 문에서 나이가 20보다 클 때를 계속 돌릴때 except 에러가 나면 프린트로 에러입니다를 출력해라. 이때 f 문으로 출력해도 되고 print(person['name'], '에러입니다') 로 출력해도 나온다. person['name']을 출력하는 이유는 어디에서 에서가 났는지 확인하기 위해서 써준다.
  • 실제 프로젝트 남용하는 것은 금물! 어디서 에러가 났는지 알 수 없어요 💀
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben'},
    {'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} - 에러입니다.')
        print(person['name'], '에러입니다.')

 

 

 

 

 

 

 

✅ 파일 분리

 

 

 

  • main_func.py 와 main_test.py 파일을 만들어준다.
  • main_func.py 에 함수를 만들어준다. 
def say_hi():
    print("Hello")

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

 

  • 그 다음에 main_test.py 에서 main_func.py 의 함수를 쓰고 싶으면 test 에 from main_func import * 를 쓰면 가져다 쓸 수 있다. ' * ' 은 모든 함수를 다 가져와서 쓴다는 의미이고 거기에  say_hi 를 쓰면 say_hi 함수만 쓴다는 의미로 say_hi_to 의 함수는 실행되지 않아서 에러가 난다.
# 뼈대가 되는 파일
from main_func import *

say_hi()
say_hi_to('영수')

 

 

 

 

 

 

 

 

✅ if 문 - 한줄로 바꾸어보자.

 

num = 3

if num % 2 == 0:
    print("짝수")
else:
    print('홀수')

 

  • 기본으로 했을 때에는 프린트 문을 일단 써보자.

 

 

num = 3

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

result = ('짝수' if num % 2 == 0 else '홀수')
print(f'{num}은 {result}입니다')

 

 

  • #에 들어가 있는 저 if 문을 result = ('짝수' if num % 2 == 0 else '홀수') 처럼 한 줄로 만들 수 있다.

 

 

 

 

 

 

 

✅ for 문 - 한줄로 바꾸어보자.

 

 

  • 우리가 배운 for 문으로 리스트의 숫자를 2배하여 나타낸 리스트를 만들어냈다.

 

a_list  = [1, 3, 2, 5, 1, 2]

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

b_list = [a*2 for a in a_list]

print(b_list)

 

  • 위의 내용처럼 b_list = [a*2 for a in a_list] 로 한줄로 만들 수 있다.

 

 

 

 

 

 

 

✅  map, filter, lambda식

 

 

 

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

def check_adult(person):
    if person['age'] > 20:
        return '성인'
    else:
        return '청소년'

result = map(check_adult, people)
print(list(result))

 

  • map 이란 명령어로 리스트의 모든 원소를 조작한다. 
  • result = map(check_adult, people) 란 피플의 리스트에서 check_adult 를 가져오는데 그것을 맵으로 만든다. 
  • print(list(result)) 는 result 를 list 로 만들어준다.
def check_adult(person):
    return '성인' if person['age'] > 20 else '청소년'

result = map(check_adult, people)
print(list(result))

 

  • def 안에 있는 명령어를 한 줄로 줄여주면 위와 같다.

 

 

 

result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))
  • map 을 다시 한줄로 줄이면 위와 같다.
  • result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people) 는 해석하면 x 는 변수이고 lambda 는 변수를 넣어준다. 그 변수는 'age'가 20보다 크면 성인이로 아니면 청소년으로 말하는데 그 안에 넣는 변수는 people 에서 가지고 온다. 라고 해석할 수 있다.

 

 

 

 

 

 

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

result = filter(lambda x: x['age'] > 20, people)
print(list(result))

 

  • result = filter(lambda x: x['age'] > 20, people) 는 좀 더 직관적이다. filter 는 리스트의 모든 원소 중 특별한 것만 뽑는다.
  • 해석하면 x라는 변수를 주고 그 변수는 'age'가 20보다 큰 리스트를 가져와서 people 에서 라고 해석하면 리스트를 가져온다.
반응형
반응형
TAG
more
최근에 올라온 글