내일배움캠프

TIL 7일차 정리

Leo(상원) 2022. 11. 8. 18:49
반응형

오늘은 미니 프로젝트를 시작했던 조와 이별하고, 새로운 조가 편성되는 날이다.

 

새롭게 편성된 조원 분들과 인사를 한 후 항상 하는 ... (또)자기소개를 시작하며, Start를 끊었다.

 

이번주는 거의 내내 독학과 강의만 있는 날이여서 뭔가 새로운 에피소드도 없기에 바로 코드 내용으로 들어가겠다.

 

코드 정리

사실 기본적인 변수 함수 리스트 딕셔너리 이런건 기본적인 거라서 따로 적진 않고 뭔가 나중에 쓸만한 것들만 정리해봤다.

 

# if문 한줄로 축약하는 방법.

num = 3

result = ('짝수' if num % 2 == 0 else '홀수')

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

# for문 한줄로 축약하는 방법.

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

b_list = [a * 2 for a in a_list]

print(b_list)

 

# 함수안에 파라미터를 무한으로 받는 방법

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


cal('영수', '철수', '영희', '상원')

# 함수안에 딕셔너리를 지정해서 넣어 줄 수 있는 방법


def cal(**kwargs):
    print(kwargs)


cal(name='bob', age=30, height=180)

 

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 == True:
            print('살았다')
        else:
            print('죽었다')


m1 = Monster()
m1.damage(150)
m1.status_check()


m2 = Monster()
m2.damage(90)
m2.status_check()

 

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):
    return ('성인' if person['age'] > 20 else '청소년')


result = map(check_adult, people)

# 람다식 map 표현방법.

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

print(list(result))

# 람다식 filter 표현방법.

result = filter(lambda person: person['age'] > 20, people)

print(list(result))

 

기본적인걸 제외하고 내가 나중에 제일 많이 써볼만한 것들로만 정리한 것이다.

 

저기서 가장 눈여겨 볼 만한것은 람다식이다! 뭔가 지저분하지 않고, 나중에 익숙해 진다면 정말 많이 애용하게 될 것 같은 코드 스플릿이다.

 

살짝 자바스크립트에 삼항연산자 느낌보다 조금 상위호환으로 쓸 수 있는 것같다. 사실 파이썬 쓸 일이 현재는 알고리즘 문제 풀때 밖에 없지만, 익숙해지면 나중에 꼭꼭 써먹어야 겠다.

반응형