상세 컨텐츠

본문 제목

[Python] 파이썬 기초4. 함수

Python

by TUZA 2021. 12. 31. 16:22

본문

파이썬은 다른 언어와 다르게 {} 을 이용해서 범위를 지정하지 않고, 들여쓰기로 범위를 지정한다.

 

#1
def say_hello() :
  name = 'jay'
  print('hello'+  ' ' +name)

#2
say_hello() #hello jay

def say_hello(who):
  print('Hello', who)

say_hello('jay') #Hello jay

#파라미터 사용 시 주의사항!
#자바스크립트와 다르게 파라미터를 받을 준비를 해놓고 파리미터를 보내지 않으면
#다음과 같은 오류가 발생한다.

def say_hello(who):
  print('Hello', who)
  
say_hello() #Error :  say_hello() missing 1 required positional argument: 'who'

 

그리고 파라미터의 기본 값이 필요하다면 다음과 같이 작성해보자.

def plus(a, b) :
  print(a+b)

#default Value설정하기
def minus (a,b = 0) :
  print(a-b)

plus(1,2) # 3
minus(2) #defaultValue때문에 오류가 발생하지 않음

def say_hello(name='anonymous'):
  print('Hello',name)


say_hello() #Hello anonymous
say_hello('nico')

위와 같이 작성하고 파라미터를 1개만 넘겨줘도 오류가 발생하지 않는다.

 

만약, 파라미터를 여러 개 넣고 싶다면 원하는 만큼 파라미터를 넣으면 된다.

그리고 파라미터의 순서에 상관하지 않고 받아온 데이터를 원하는 곳에 넣고 싶다면 다음과 같이 작성해보자.

#6.
def say_hello(name,age, are_from, fav_food):
  return f'Hello {name} your are {age} years old you are from {are_from} you like {fav_food}' 

#여러 파라미터를 넣을 시 만약 다음과 같이 실수했다면
#장소값에 음식값이 들어가서 결과값이 이상할 것이다.

hello = say_hello('nico','12','kimchi','colombia');
print(hello)

#그래서 다음과 같이 수정해주자.
hello = say_hello(name = 'nico',age = '12', fav_food = 'kimchi', are_from = 'colombia');
print(hello)
반응형

관련글 더보기