오늘 한 일
- 파이썬 (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()
'내일배움캠프(사전캠프)' 카테고리의 다른 글
| [내일배움캠프] 사전캠프 (13일차) (0) | 2026.03.03 |
|---|---|
| [내일배움캠프] 사전캠프 (12일차) (0) | 2026.02.27 |
| [내일배움캠프] 사전캠프 (10일차) (0) | 2026.02.25 |
| [내일배움캠프] 사전캠프 (9일차) (0) | 2026.02.24 |
| [내일배움캠프] 사전캠프 (8일차) (0) | 2026.02.23 |