제로베이스 데이터 취업 스쿨 과정 학습 내용을 정리한 포스팅입니다.

 

📍 파이썬 함수

함수 선언하는 법

def + 함수이름 + (인풋)

return 아웃풋

 

addCal(x, y) 에서 x, y는 매개변수

addCal(2, 3)으로 함수를 호출한다면 2, 3은 인수

인수의 개수를 특정하지 않을 때에는 addCal(*num) 과 같이 적으면 정해지지 않은 개수의 인수를 입력 가능

 

# x, y 를 입력하면 x + y를 반환하는 함수

def addCal(x, y):
    return x + y

📍 함수 내에서 다른 함수 호출하기

구구단 2단 함수를 호출하면 3단도 이어서 호출하는 구조 작성하기

def guguDan2():
    for i in range(1, 10):
        print('2 * {} = {}'.format(i, 2*i))
    
    guguDan3() # 함수 안에서 다른 함수 호출

def guguDan3():
    for i in range(1, 10):
        print('3 * {} = {}'.format(i, 3*i))
        
guguDan2() # 만든 함수를 호출하면 guguDan3도 함께 호출

📍 함수 만들기 실습

사용자가 길이(cm)를 입력하면 mm로 환산한 값을 반환하는 함수

def cmToMm(cm):
    result = cm * 10
    return result

length = float(input('길이(cm) 입력: '))
returnValue = cmToMm(length)
print(f'mm 반환값은 {returnValue}mm 입니다.')

📍 전역변수와 지역변수

전역변수 : 함수 밖에 선언된 변수, 함수안에서 재정의 하더라도 시스템에서는 수정되지 않는다.

num_out = 10
def printNumbers():
    num_out = 20
    print(num_out)
    
printNumbers() # 20
print(num_out) # 10

 

지역변수 : 함수 안에 선언된 변수, 함수 안에서만 사용 가능하다.

def printNumbers():
    num_in = 20
    print(num_in)

print(num_in) # NameError, 전역적으로는 선언이 되지 않았기 때문

 

함수 안에서도 전역변수를 다루고 싶을 때

num_out = 10
def printNumbers():
    global num_out # 이 변수는 전역변수다 라고 선언
    num_out = 20 # 전역변수를 수정
    print(num_out)
    
printNumbers() # 20
printNumbers() # 20

📍 전역변수 활용 실습

방문객 수를 카운트하는 함수 만들기

totalVisit = 0

def countTotalVisit():
    global totalVisit
    totalVisit = totalVisit + 1
    print(f'누적 방문객 : {totalVisit}명')
    
countTotalVisit() # 누적 방문객 : 1명
countTotalVisit() # 누적 방문객 : 2명
countTotalVisit() # 누적 방문객 : 3명

 


📍 lambda 로 함수 선언하기

공식적으로 함수를 선언해두고 다음에도 호출에서 사용하지 않고, 임시 함수를 생성할 때 lambda 이용

def calculator(n1, n2):
    return n1 + n2

# 위와 같음

calculator = lambda n1, n2 : n1 + n2

📍 모듈

모듈 : 이미 만들어 놓은 기능. 불러와서 쉽게 사용 가능

내부 모듈 : 파이썬 설치 시 기본적으로 내장되어 있는 모듈

외부 모듈 : 별도로 설치를 통해 사용할 수 있는 모듈

사용자 모듈 : 사용자가 직접 제작한 모듈

 

 

로또 번호(6개)를 출력하는 모듈 만들기

import random # 먼저, 내부모듈 random 불러오기

def getLotto():
    result = random.randint(range(1, 46), 6)
    
    return result
import lottoMachine # 만들어 놓은 모듈(getLotto)이 있는 lottoMachine.py 불러오기

numbers = lottoMachine.getLotto()
print(numbers) # 3, 23, 20, 11, 40, 6

+ Recent posts