내일배움캠프(사전캠프)

[내일배움캠프] 사전캠프 (11일차)

anscodus 2026. 2. 26. 17:12

오늘 한 일

 

  • 파이썬 (1-15 ~ 18)

1-15 한줄의 마법(if, for)

더보기

if문 : 삼항연산자(항이 3개) (참일 때 값 / if(조건) / else(거짓일 때 값))

- 조건에 따라 다른 값을 변수에 저장하고 싶을 때

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}입니다.")

 

 

for문 

ex) a_list의 각 요소에 2를 곱한 새로운 리스트 작성 시

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

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

print(b_list)

 

이를 한번에 쓰려면

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

b_list = [a*2 for a in a_list]

print(b_list)

 

 

1-16 map, filter, lambda 

더보기

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차 조작

result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))

 

 

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

- map과 유사하지만, True인 것들만 뽑기(map보다 쉽다)

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

1-17 함수 심화

더보기

함수의 매개변수 

- 함수에 인수를 넣을 때, 어떤 매개변수에 어떤 값을 넣을지 정해줄 수 있다.(순서 상관 X)

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))

 

특정 매개변수에 디폴트 값 지정 가능

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))

 

입력값의 개수를 지정하지 않고 모두 받는법

def call_names(*args):
    for name in args:
        print(f'{name}야 밥먹어라~')

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

 

키워드 인수 여러개 받는법

def get_kwargs(**kwargs):
    print(kwargs)

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

 

 

1-18 클래스

더보기

 클래스를 언제 사용하나?

- 객체지향적

: 각 물체?에 함수 지정

중앙에서 함수를 관리

 

class Monster():
    hp = 100
    alive = True

    def damage(self, attack):
        self.hp = self.hp - attack
        if self.hp < 0:
            self.alive = False

    def status_check(self):
        if self.alive:
            print('살아있다')
        else:
            print('죽었다')

m = Monster()
m.damage(120)

m2 = Monster()
m2.damage(90)

m.status_check()
m2.status_check()