-
파이썬 - 5일차파이썬 정리/사전캠프 2024. 3. 28. 15:56
map
iterable - 반복 가능한 대상에 적용 가능하다.
fliter
True 값만 추출
lambda
lambda x : f(x)
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 '청소년' #return ('성인' if person ['age'] >20 else '청소년') result = map(check_adult, people) #(lambda x : x[()] ~, ) result = map(lambda person : ('성인' if person['age'] >20 else '청소년'), people) #filter는 map 과 유사, True 값만 추출 result = filter(lambda person : person['age'] >20, people) print(list(result))
함수의 매개변수(특성 및 지정)
함수 인수 제공 시 지정 인수 제공 가능 - 순서 무관
def cal(a,b) : return a+2*b result = cal(1,2) #result = cal (b=2, a=1) #5
특정 매개변수에 default값 지정 가능
def cal (a, b=2) : #b가 지정되지 않을 시 b=2 return a+2*b result = cal (1,3) print(result) #7
*args 함수의 인수를 제한없이 받음
args = arguments 인수들 이라는 관례적 용어
[나름 중급 파이썬1] *args와 **kwargs (brunch.co.kr)
def cal(*args) : for name in args : print(f'{name} 밥먹어라 ~') cal ('영수','철희','희수')
키워드 인수 여러개 받음
dict로 그대로 넣을 수 있게 만들어줌?
kwargs = keyword arguments
def cal (**kwargs) : print(kwargs) cal(name = 'bob', age=30)
//
*변수, arguments 가 들어올 떄, 함수 내부에서는 해당 변수를 'tuple'로 처리한다.
**변수, 'keyward = ' 로 입력할 경우 이를 각각 키와 값으로 가져오는 'dictionary'로 처리한다.
Class
class monster() : hp = 100 alive = True def damage(self, attack) : self.hp = self.hp - attack #self 를 사용해야 함수 안의 상수인 hp에 적용 할 수 있다고 함. if self.hp < 0 : self.alive = False def status_check(self) : if self.alive == True print('살았다') else print('죽었다') #if 문을 한줄로 줄이려면? #return '살았다' if self.alive==True else '죽었다' ->불가 #이유는 return 은 함수의 종료를 의미하는 명령어 #고로 다른 명제를 제시 해야 함 #ex) result = '살았다' if self.alive==True else '죽었다' m = Monster() m.damage(120) m2 = Monster() m2.damage(90) m.status_check() m2.status_check()
참고점
R, Python 분석과 프로그래밍의 친구 (by R Friend) :: [Python] 함수 return 문 : 호출자에게 값 반환 (tistory.com)
IndentationError: unindent does not match any outer indentation level
- 들여쓰기 문제 : tab과 space를 섞어 쓰면 발생한다?
'파이썬 정리 > 사전캠프' 카테고리의 다른 글
파이썬 - 4일차 (0) 2024.03.27 파이썬 - 3일차 (0) 2024.03.26 파이썬 - IF, FOR, DEF (0) 2024.03.26 파이썬 - 연산자, SPLIT, LIST, DICT (0) 2024.03.25