본문 바로가기
🛠️Skill/Python

[Python] Function/가변인자, 지역변수, 전역변수, 사용자 입력 함수 input

by Istj_eff 2022. 10. 3.

Function / Class

💡 def 함수명 (매개변수=초기화):
                           실행명령블럭
                            return 반환값
함수명()

 

사용자 정의 함수

✔️함수 기본 예제

# 선언부
def show_price(customer): # 함수정의
	 print(f'사랑하는{customer}고객님')
	 print('가격은 15000원 입니다')

# 실행부
customer1 = '박땡땡'
show_price(customer1)

# out 
# 사랑하는 박땡땡 고객님
# 가격은 15000원 입니다
def get_price(is_vip): # True는 vip, False는 일반손님
	if is_vip == True:
		return 10000 # vip손님이면 가격 만원
	else:
		return 15000 # 일반손님이면 가격 만오천원

price = get_price(True)
print(f'커트가격은 {price}원입니다')

 

✔️키워드값 설정 예제

# vip이거나 생일, 멤버십, 리뷰를 달거나 하면 할인을 해주겠다
def get_price(is_vip=False,is_birthdaty=False,is_membership=False
							,card=False, review=False, first_time=False)

# 리뷰도 남기고 생일이라면?
price = get_price(review=True, is_birthday=True)

 

가변인자

  • 개수가 바뀔 수 있는 인자
  • def 함수명 (* 전달값):
  • 튜플형태로 받게된다.
  • 전달값이 많으면 마지막에 한번만 사용한다.
# 미용실에서 손님 방문시기가 되면 연락을 해서 재방문을 유도하는 함수
def visit(today, *customers):
	print(today)
	for customer in customers:
		print(customer) #고객이름출력

 

 

지역변수

  • 함수 내에서 정의된 변수로 함수 내에서만 사용 가능하다.
  • ↔ 전역변수
def secret():
	message = '이건 비밀'
	print(message) # 값 출력 가능
	message = '비밀 바꿨음' # 함수 내에서는 자유롭게 수정 가능

def please():
	print(message) # 출력 안됨

 

 

전역변수

  • 함수 내에서나 밖에서나 사용가능하다.
message = '나는 전역변수' # 함수밖에서 만들면 전역변수임
print(message)           # 출력가능

def no_secret():
	message = '이러면 또 지역변수'
	print(message)               # '이러면 또 지역변수' 출력
	
def n_secret():
	global message               # 전역변수 사용하겠음. 없으면 여기서 만들겠음
	message = '오 진짜 전역변수'  # 진짜 전역변수 호출해서 값 수정

n_secret()
print(message)                    
# '오 진짜 전역변수' 출력

 

사용자 입력 함수 input

num = int(input('총 몇 분 이세요?'))
if num > 4:
 print('죄송하지만 저희 식당은 최대 4분 까지만 예약 가능합니다.')

dream = input('당신의 꿈은 무엇입니까?')
print(f'제 꿈은 {dream}입니다.')

 

 

 

댓글