Python - 4

Sung Jun Jin·2020년 3월 1일
0

Function

Python에서는 3가지의 함수가 있다

  1. 내장함수 - print()와 같은 Python이 미리 정의해둔 함수

  2. 모듈의 함수 - import해서 가져다 사용할 수 있는 함수

  3. 사용자 정의함수 - 사용자가 직접 정의해 사용하는 함수

이 중에 사용자 정의 함수에 대해서 알아보자. 형태는 다음과 같다

def 함수이름 (인자1,....) : 

    실행할 명령1
    실행할 명령 2
    
    return 결과 

ex) 가장 쉬운 더하기 함수를 작성해보자

def add(num1,num2) :
    return num1 + num2

여러개의 return값을 반환할 수도 있다.

예를들어 두 숫자의 더하기 값, 곱하기 값을 동시에 함수로부터 받고 싶다면 다음과 같이 함수를 정의해주면 된다.

def addMul(num1,num2)
    return num1 + num2, num1 * num2
    

여기서 함수를 호출하고 return되는 값을 출력해보겠다.

(5,6)을 return 했다. 앞은 두 숫자를 더한 값이고 뒤는 두 숫자를 곱한 값이다.

자세히 살펴보면,

2개의 값을 return한다고 해서 2개의 결과가 return되는 것이 아니라, 1개의 tuple에 2개의 결과값을 반환하는것을 볼 수 있다.

따라서 반환된 tuple을 unpacking 해줘야 각각의 값을 가져올 수 있다.
(앞서 return된 tuple은 result 변수에 넣어뒀다.)

add, mul = result

그 다음 각각의 값을 출력해보자. 잘 나온다

Module

모듈은 비슷한 함수를 모아둔 Type이다. 다른 사람들이 직접 작성할 수 있고, Python에서 만든 Module도 존재한다.

대표적으로 random이라는 module을 살펴보자

우선 module을 가져오기 위해서는 import라는 키워드가 필요하다. random module을 import해서 간단하게 list내의 임의의 학생을 추출하는 프로그램을 만들어보자.

random module의 choice 메소드를 사용해봤다.

import random

students = ['학생1','학생2','학생3','학생4','학생5']

print(random.choice(students))

random.sample()이라는 메소드는 여러개의 값을 중복없이 추출할 수 있다. 2개의 인자가 들어간다.

이것을 사용해 로또 번호 추출기를 만들어보자

import random

print(random.sample(range(1,46),6))

1부터 46사이의 숫자 (range(1,46)에서 6개의 중복되지 않는 랜덤한 숫자를 출력했다.

비슷하게 random.randint()를 사용해 범위 내의 임의 정수를 추출할 수 있다.

random.randint(8,10) # 8에서 10사이 임의 정수 추출
profile
주니어 개발쟈🤦‍♂️

0개의 댓글