밍꽁✨
코딩하는 감자
밍꽁✨
전체 방문자
오늘
어제
  • 분류 전체보기 (27)
    • python (16)
      • 파이썬 머신러닝 완벽가이드 (6)
      • 코딩테스트 (4)
      • 머신러닝&딥러닝 (2)
      • 파이썬 기초 (4)
    • Qgis (1)
    • Tableau (6)
    • 빅데이터 분석 기사 (0)
    • 금융데이터 뚝딱이기 (4)
      • 신협 대학생 인턴십 (1)
      • 기사 스크랩 (3)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 파이썬기초
  • NLP
  • 코딩테스트
  • python
  • Python기초
  • 머신러닝
  • 피처백터화
  • 인프런
  • 파이썬
  • sys.stdin.readline()
  • LGBM
  • 기사스크랩
  • 역머니무브
  • Light GBM
  • bisect_left
  • Tableau
  • 웰컴투태블로월드
  • 신협인턴십
  • 태블로
  • bisect_right

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
밍꽁✨

코딩하는 감자

python/파이썬 기초

[python 쌩기초] 함수 / 람다

2021. 12. 17. 15:56
반응형

조건문과 반복문 다음에는 이것들을 활용한 함수를 만들어본다

데이터 EDA할 때 동일한 코드를 여러 번 사용하게 되는데, 이때 함수가 굉장히 필수적이라고 느꼈다!

처음에는 스스로 함수를 만든다는 것 자체에 덜컥 겁내했는데 알고 보면 별 거 아닌 놈

그치만,, 기초부터 탄탄히 ㅎ


사용자 함수 만들기

※ 사용자 함수 

더보기
더보기

def 함수이름 (인자):

    함수 본문

     return

# 온도에 따른 커피추천 함수 만들기

def coffee(temp):
	if temp>0:
    	print('아이스 아메리카노')
	else:
    	print('따뜻한 아메리카노')

# 함수활용
print(coffee(30))
print(coffee(-10))

c = coffee(30)
print('추천 커피는 {}입니다.'.format(c))

# 점수를 5점씩 더해주는 함수 만들기

def update_scores(scores):
	new_scores = []
    
    for s in scores:
    	new = s + 5
        new_scores.append(new)
    return new_scores
    
# 함수활용
scores = [80,90,70,65,85,90,80,75,80]
new = update_scores(scores)
print(new)

# 문장의 특정 단어의 개수 카운트하는 함수 만들기

def get_char_count(lyric, char):
	count = 0
    for i in lyric:
    	if(i==char):
        	count = count+1
    return count
    
# 함수활용
lyric = "산토끼 토끼야. 어디를 가느냐. 깡총깡총 뛰면서. 어디를 가느냐. 산 고개 고개를. 나혼자 넘어서. 토실토실 알밤을. 주워올테야."
print(get_char_count(lyric,'토'))

# 입력된 문장을 대문자, 소문자로 출력하는 함수 만들기

def change_word_case(word):
	upperCase = word.upper()
    lowerCase = word.lower()
    retrun upperCase, lowerCase

# 함수활용
change_word_case('i love cat')
upper, lower = change_word_case('i love cat')
print('대문자는 {0}이고, 소문자는 {1}이다. 나는 대문자 {0}문구가 적힌 상자를 살거다'.format(upper,lower))

# 연산 함수 만들기

def calculator(operator, num1, num2):
	if (operator == '+')
    	return num1 + num2
    elif (operator == '-')
    	return num1 - num2
    elif (operator == '*')
    	return num1 * num2
    elif (operator == '/'):
    	if (num2 != 0):
        	return num1/num2
    else:
    	print('{}는 연산이 불가능합니다.'.format(operator))
        
# 함수활용
print(calculator('+', 200,300))
print(calculator('*', 50,7))
print(calculator('?',20,30))

# 키와 성별에 따른 권장 체중값 출력하는 함수 만들기

def print_weight(height, man=True):
	weight = 0
    if (man):
    	weight = (height - 100)
    else:
    	weight = (height - 100) * 0.9
    print('권장 체중은 {}kg입니다.'.format(weight))
    
# 함수활용    
print(print_weight(170))
print(print_weight(170,False))

man = True와 같이 default인자를 설정하는 경우, 다른 인자를 먼저 입력한 후 가장 뒤에 입력해야 한다

 

# 입력된 여러 값 더하는 함수 만들기

def sum(*args):
	result = 0
    for num in args:
    	result = result+num
    return result
    
# 함수활용    
print(sum(1,2,3))
print(sum(2,3,4,5,6,6))

*args 는 여러 개의 인자를 튜플 형태로 전달받아 내부 함수에서 처리한다

 

람다 활용

람다 구문은 함수를 한 줄로 간결하게 표현하는 방식이다

복잡한 연산이 포함된 함수를 억지로 람다로 작성할 필요는 없지만, 위의 사용자 함수처럼 간단한 연산을 처리하는 경우에는 def보다 lambda를 사용하여 연산 결과를 받는 것이 편리하다

 

# 권장 체중 출력

weight = lambda height : (height - 100) * 0.9
print(weight(170))

# 만일 함수를 한 번만 사용한다면 변수에 넣어줄 필요는 없다 ( 선언과 함께 인자값 넘기기 )
(lambda height : (height - 100) * 0.9)(170)

# if를 포함한 lambda 구문
weight2 = lambda man, height : (height-100) * 0.9 if (man) else (height-100)
weight2(False, 170)

 

반응형

'python > 파이썬 기초' 카테고리의 다른 글

[python] 공공 데이터 포털 API 불러오기  (1) 2022.01.24
[python 쌩기초] Numpy  (0) 2021.12.19
[python 쌩기초] 조건문 / 반복문  (0) 2021.12.17
    'python/파이썬 기초' 카테고리의 다른 글
    • [python] 공공 데이터 포털 API 불러오기
    • [python 쌩기초] Numpy
    • [python 쌩기초] 조건문 / 반복문
    밍꽁✨
    밍꽁✨
    감자의 데이터 분석 일지

    티스토리툴바