파이썬 중급_(함수, 모듈)

TaeHwi Kang·2022년 9월 15일
0

1. 함수

  • 파이썬의 함수는 수학의 함수와 동일
  • 함수는 특정 기능을 재사용하기 위해서 사용한다
    1) 내장함수 : 파이썬에서 기본으로 제공하는 함수
    2) 사용자함수 :사용자가 직접 선언하는 함수

2. 함수 선언

  • def 키워드, 함수명, :, 들여쓰기를 이용해서 선언
def testFun():

3. 함수 호출

  • 함수명과 ‘()’를 이용해서 함수를 호출
testFun()

4. 또 다른 함수 호출

def fun1():
	fun2():

def fun2():
	fun3():

#pass를 이용해서 실행문을 생략할 수 있다
def fun3():
	pass

5. 인수와 매개변수

  • 인수와 매개변수 개수는 일치해야 한다
  • 매개변수 개수가 정해지지 않은 경우 ‘*’를 이용한다
def greet(cutomer): # 매개변수
	print(f''{cutomer})

greet('가나다'): # 인수

6.함수 실행결과 반환

  • return 키워드를 이용하면 함수 실행 결과를 호출부로 반환할 수 있다
  • 함수가 return을 만나면 실행을 종료
def calculator(n1, n2):
	result = n1 + n2

	return result

7. 지역변수와 전역변수

1) 지역변수 : 함수 안에 선언된 변수로 함수 안에서만 사용 가능하다
2) 전역변수 : 함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다
3) global 키워드 : global을 사용하면 함수 안에서도 전역변수의 값을 수정할 수 있다

num_out1 = 10
num_out2 = 10
def printNumber():
	num_in = 20 # 지역변수
	num_out1 = 30
	global num_out2
	num_out2 = 30 

printNumber()
print(f'{num_out1}') -> 10
print(f'{num_out2}') -> 30
print(f'{num_in}') -> error

8. 중첩함수

  • 함수안에 또 다른 함수가 있는 형태
  • 내부 함수를 함수 밖에서 호출할 수 없다
def out_fun():
	print(f'out_fun()')
	
	def in_fun():
		print(f'in_fun()')

9. lambda

  • lambda 키워드를 이용하면 함수 선언을 보다 간단하게 할 수 있다
def calculatoer(n1, n2):
	return n1+n2

returnValue = calculatoer(10, 20)
print(returnValue)

# 위와 같은 함수를 람다로 나타내기
calculatoer = lambda n1, n2 : n1 + n2

returnValue = calculatoer(10, 20)
print(returnValue)

10. 모듈

  • 이미 만들어진 훌륭한 기능
  • 사용자는 쉽게 사용할 수 있다
  • 파이썬 모듈은 내부 모듈, 외부 모듈 그리고 사용자 모듈로 구분
    1) 내부 모듈 : 파이썬 설치 시 기본적으로 사용할 수 있는 모듈
    2) 외부 모듈 : 별도 설치 후 사용할 수 있는 모듈
    3) 사용자 모듈 : 사용자가 직접 만든 모듈

11. import

  • import 키워드를 이용해서 모듈을 임포트 한다
import calculator
  • as 키워드를 이용해서 모듈 이름을 단축 시킬 수 있다
import calculator as cal
  • from ~ as 키워드를 이용해서 모듈의 특정 기능만 사용할 수 있다.
    from calculator import add

12. __name__ 전역변수

  • __name__에는 모듈 이름이 저장되거나 ‘__main__’이 저장된다.
#아래 if문을 이용하여 실행여부를 조정할수있다.
if __name__ == '__main__':

13. 패키지

  • 패키지를 이용하면 관련 있는 모듈을 그룹으로 관리할 수 있다.

14. site-packages

site-packages에 있는 모듈은 어디서나 사용할 수 있다.

15. 자주사용하는 모듈

1) math 모듈 : 수학관련 모듈
2) random 모듈 : 난수 관련 모듈
3) time 모듈 : 시간관련 모듈

profile
스터디 노트

0개의 댓글