Security Engineer 2022. 10. 31. 19:46

2. 6 parameter

함수 이름에는 공백이 들어가면 안되고, 숫자로 시작해서도 안된다.

def say_hello() - say_hello 라는 함수(function)를 정의

def 하고 괄호

() - 괄호를 쓰는 것은 실행버튼을 누른거랑 같다

python 은 공백에 민감하기 때문에 함수 안에 정의 하기 위해서는

def say_hello():

print('abc') - 꼭 스페이스 바 2번 or tab을 눌러서 안에다 정의해주자. 밖에다 정의하면 따로따로 되는거

 

Paramaters & Arguments (매개변수와 인수)

둘이 혼용해서 사용되는 헷갈리는 용어이므로 잘 구분해야 한다.

parameter(매개변수)는 함수에 입력으로 전달된 값을 받는 변수를 의미하고

Argument(인수)는 함수를 호출할 때 전달하는 입력값을 의미한다.

function에 data를 보내는 방법을 알아보자.

function에게 data 보내는 방법은 function을 실행할때 ( ) 소괄호 안에다가 원하는 data를 넣으면된다.

근데 실행해보면 작동은 되지 않는다. 그 이유는 우리가 만든 fucntion에 data들어갈 공간이 없기 때문이다.

그래서 그 공간을 주기 위해서는 우리가 만든 function ( ) 소괄호안에다가 text을쓰면된다.(문자열이 아닌 그냥 variable(변수)을 만들때 처럼 쓰면된다.) 그리고 data를 사용하려 우리가 만든 function ( ) 소괄호 안에있는 text를 function 안에 입력하면된다.

def say_hello(user_name, name): 
	print("hello", user_name,name, "how r u?") 
    
say_hello("minsoo &","youngji")

결과값:

hello minsoo & youngji how r u?

우리가 만든 funciton ( ) 소괄호안에 있는 공간의 이름을 parameter라고 한다.

실행할때 사용되는 function ( ) 소괄호 안에의 이름은 argument라고 한다.

def에서 정의한 parameter 갯수와 실행할 때 사용하는 argument 의 갯수가 동일해야 실행된다

user_name, name = parameter(매개변수) = placeholder(그릇) = 전달하는 데이터를 저장하는 그릇

minsoo, youngji = argument(인수) = 실제 전달할 데이터

 

def say_hello(name='nobody'): 
	print("hello",name) 
    
say_hello('minsoo') 
say_hello()

name='anonymous'

name이라는 parameter 에 기본값 설정(default 값 설정)

기존에는 argument 에 값을 넣지 않으면 에러메시지가 출력되지만

parameter 에 기본값을 설정하면 내가 설정한 기본값이 출력된다( nobody )

python 이 에러를 보여주는 대신 name 을"nobody"로 대체해준다

(사용자들에게 에러를 보여주지 않게 해준다)

출력값:

hello minsoo

hello nobody

챌린지

각기 다른 수학 연산자를 사용하는 함수를 만들어라. ( 덧셈,뺄셈,곱셈,나눗셈,제곱)

조건, 에러값이 안나오게 하고 기본값을 넣어서 만들것

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

def minus(a=0,b =0): 
	print(a-b) 

def multiply(a=0,b =0): 
	print(a*b) 
    
def divide(a=0,b =1): 
	print(a/b) 

def power(a=0,b =1): 
	print(a**b) 


plus() 
plus(7,5) 
minus() 
minus(7,5) 
multiply() 
multiply(7,5) 
divide() 
divide(7,5) 
power() 
power(7,5)

출력값:

0

12

0

2

0

35

0.0

1.4

0

16807

 

python 참고 강의

https://nomadcoders.co/python-for-beginners/lobby