제로베이스 데이터 취업 스쿨 과정 학습 내용을 정리한 포스팅입니다.
📍 파이썬 함수
함수 선언하는 법
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
'Programming > Python' 카테고리의 다른 글
파이썬 중급 - 03 예외 처리, finally, Exception, 파일 쓰기, 읽기 (0) | 2023.05.11 |
---|---|
파이썬 중급 - 02 객체 지향 프로그래밍, 클래스, 얕은복사, 깊은복사, 생성자, 상속, 오버라이딩, 추상클래스 (1) | 2023.05.10 |
파이썬 기초 - 03 (0) | 2023.05.07 |
파이썬 기초 - 02 (0) | 2023.05.06 |
파이썬 기초 - 01 (0) | 2023.05.06 |