본문 바로가기

프로그래밍/python

6. function definition, function call, local/global variables (import time)

6. 1, 6.2 함수

이부분은 정의랑 불러오는 거랑 같이 설명하게 될 것 같아서 굳이 분리하지 않으려고 한다.

def add(a,b):
    return a + b

first=int(input("첫 번째 숫자를 입력하세요: "))
second=int(input("두 번째 숫자를 입력하세요: "))

print(add(first,second))

#1 함수의 이름은 add라고 정했고, 함수 안에 들어가는 변수는 a,b로 정했다.

#2 그 함수에서 return(돌려주기)할 값은 함수 안에 들어간 변수 a,b의 합이다.

#4 first 라는 변수에 정수형으로 질문을 통해 숫자를 입력받는다.

#5 second 라는 변수에도 받는다.

#7 add라는 함수를 불러오며 각각 a자리에는 first를, b자리에는 second를 넣어 그 return 값을 print해준다.

여기까지 보면 함수를 굳이 왜 쓰나 하는 느낌이 든다.

하지만 만약 코드를 짜고 있는데 계속해서 같은 연산을 해야 한다면? 그 귀찮음을 한번 설정해둔 함수를 계속 불러옴을 통해 해결할 수 있다.

def add(a,b):
    return a + b

first=int(input("첫 번째 숫자를 입력하세요: "))
second=int(input("두 번째 숫자를 입력하세요: "))

print(add(first,second))  # 입력한 두 개의 숫자의 합
print(add(1,3))           # 4
print(add(5,7))           # 12

위처럼 한 번 적어둔 함수를 계속 불러오며 활용할 수 있다.

 

함수를 사용할 때 중요한 점은 함수를 사용하기 전에 함수를 먼저 정의해주어야 한다는 것이다!

당연한 것이겠지만 이 개념은 다른 언어를 사용할 때도 나오니까 주의해두기!

 

만약 함수 안에 무언가를 넣지 않는 함수를 만들고 싶다면

 

def emptyprinter():
    print("프린트")


emptyprinter()        # 프린트

 

이런식으로 자연스럽게 만들면 된다.

6.3 local, global varibles

지역 변수, 전역 변수로 번역할 수 있다.

 

def spam(myName):
    print('Hello,' +myName)
    myName = 'John'
    print('Your new name is ' +myName)

myName='Mark'
spam(myName)
print('Nice to meet you, '+myName)

이런 코드를 작성하면

Hello,Mark

Your new name is John

Nice to meet you, Mark

이렇게 나온다.

함수 안에 있는 변수 myName(세번째 줄)은 무시된 것이다.

6.4 import time

import random 같은

import time 으로 time 모듈을 불러온 것이다

많이 배운 건 아니지만 그래도 기록해두려고..

import time
time.sleep(2)  # 2초 쉬기
김현준 교수님의 자료!!