함수 명령 실행!!!
- 함수명 (실행부의 변수 이름)
- pass 키워드 사용 : 실행문 생략
조건문 either- 종류
* 내장 함수
* 사용자 함수
def greet (customer) : --- 선언부
print(f'{customer} 고객님 안녕하세요.') --- 실행부
greet('홍길동') --- 호출부
/ customor - 매개변수
/ '홍길동' - 인수
매개변수와 인수의 개수는 일치해야 한다.
매개변수 개수가 정해지지 않은 경우 앞에 * 사용
def printNumber(*numbers) :
for number in numbers :
print(number)
printNumber ( )
printNumber (1,2)
printNumber (1,2,3)
종류
전역 변수 VS 지역변수 : 전역과 지역은 이름이 같아도 동명이변(?)일뿐 노는 바운더리가 다름
global 변수 : 변수 대통합 권력
<누적 방문객 카운트>'
totalVisit = 0 - 전역변수
def countTotalVisit() :
glbal totalVisit - global 변수
totalVisit += 1 - 지역변수
print(f'누적 방문객 : {totalVisit}')
countTotalVisit( )
countTotalVisit( )
countTotalVisit( )
countTotalVisit( )
---
누적 방문객 : 1
누적 방문객 : 2
누적 방문객 : 3
누적 방문객 : 4
❌오답❌
totalVisit = 0
def countTtlVisit ():
totalVisit+=1
print (f'누적 방문객 : {totalVisit}')
countTtlVisit ()
countTtlVisit ()
countTtlVisit ()
countTtlVisit ()
---
UnboundLocalError: cannot access local variable 'totalVisit' where it is not associated with a value)
def 함수명 ( ) :
실행구
return : 함수 실행 결과를 호출부로 반환 실행
return 명령어를 만나면 함수는 종료됨
값이 계산되는 함수에는 return 걸어주기
def calculator(n1,n2):
result = n1+n2
return result
print(f'returnValue : {calculator(20,10)}')
---
returnValue : 30
/return result를 사용하지 않으면 선언만 진행 & 실행 X
따라서 결과값 none
호출을 1번만 해도 실행이 여러개 가능한 기능
내부 함수를 바깥으로 호출 불가능
- 함수 / 변수 / 클래스를 모아둔 .py 파일
- 기초 모듈 정리 (클릭)
- 관련 키워드
- import
- as
- from ~ as
- 종류
- 내부 모듈 : 파이썬 기본 모듈
- 외부 모듈 : 설치후 사용할 수 있는 모듈
- 사용자 모듈 : 사용자가 직접 만든 모듈
import
기본적으로 사용하는 키워드
from A(모듈/패키지) import B(함수/모듈)
<모듈 파일> - 파일명 : calculator
def add (n1, n2) :
print(f'덧셈 결과 : {n1 +n2}')
def sub (n1, n2) :
print(f'뺄셈 결과 : {n1 - n2}')
<실행 파일>
from calculator import add
from calculator import sub
-> from calculator import add,sub으로도 표기 O
add(10,20)
sub(10,20)
as
기존 모듈 이름을 별칭으로 단축시킬 수 있는 기능
<모듈 파일> - 파일명 : calculator
def add (n1, n2) :
print(f'덧셈 결과 : {n1 +n2}')
def sub (n1, n2) :
print(f'뺄셈 결과 : {n1 - n2}')
<실행 파일>
import calculator as cal
cal.add(10,20)
cal.sub(10,20)
/cal = 모듈, add & sub = 함수
모듈 파일에 출력같은 다양한 output 기능이 있을 수 있으나, 실행 파일에서 이를 실행하고 싶지 않을 때 _ _name _ _ 을 통해 컨트롤 할 수 있다.
name (지금 파일)이 main(실행 파일)일 때!!!
<모듈 파일> - 파일명 : unitConversion
def cmToMm(n) :
return round (n*10,3)
def cmToInch(n) :
return round (n * 0.393,3)
if __name__ == '__main__' :
print(f'10cm : {cmToMm(10)}mm')
print(f'10cm : {cmToInch(10)}inch')
<실행 파일>
import unitConversion as uc
if __name =='__main__' :
inputNumber = int(input('길이(cm) 입력 : '))
returnValue = uc.cmToMm(inputNumber)
print(f'{inputNumber}cm :{returnValue}mm')
returnValue = uc.cmToInch(inputNumber) --- 변수 재설정
print(f'{inputNumber}cm :{returnValue}Inch')
<출력 파일>
모듈 파일 - 10cm : 100mm \n 10cm : 3.93inch
실행 파일 - 위 내용 출력 없이 실행 파일 값만 출력됨 ∵ 실행 파일에선 모듈 파일이 메인이 아니기 때문
: 모듈을 관리하는 일종의 폴더
패키지가 다른 모듈을 불러올 때 사용
from 패키지명 Import 모듈명
현재 '제로베이스 데이터 취업 스쿨' 수강중