[Py.1]

함수

함수란?

  • 수학의 함수와 동일한 의미 및 역할

예시)

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

print(addFun(50, 100))

함수 사용 이유

  • 특정 기능을 재사용 하기 위해서 함수를 사용한다.


1. 내장함수 & 사용자함수

  1. 내장함수 → 파이썬에서 기본으로 제공하는 함수

  2. 사용자함수 → 사용자가 직접 선언하는 함수


2. 함수 선언 & 호출

  • { def 키워드, 함수명, ' : ', 들여쓰기 } 로 구성되어 있다.
  • 위 구성요소들로 선언하며, 함수명과 ' () '를 이용해서 함수를 호출한다.

예시)

def addCal():
    n1 = int(input('n1 입력 : '))
    n2 = int(input('n2 입력 : '))

    print(f'n1 + n2 = {n1 + n2}')

addCal()

3. 함수 내 또 다른 함수 호출

  • pass를 이용해서 실행문 생략 가능


4. 인수 & 매개변수

  • 함수 호출 시 함수에 데이터를 전달

  • 인수와 매개변수의 개수는 일치해야 함

  • 매개변수의 개수가 정해지지 않은 경우 : ' * '을 이용한다.


5. 데이터 반환

  • return 키워드 이용하여 함수의 실행 결과를 호출부로 반환 가능

  • return을 만나면 실행 종료






[Py.2]

6. 지역 & 전역 변수

1. 전역 변수
  • 함수 밖에서 선언된 변수
  • 어디에서나 사용은 가능, but 함수 안에서 수정 X
2. 지역 변수
  • 함수 안에서 선언된 변수
  • 함수 안에서만 사용 가능
* global 키워드
  • global 키워드를 사용하여 함수 안에서도 전역변수의 값 수정 가능


중첩함수

  • 함수 안에 또 다른 함수가 있는 형태

  • 중첩 되어 있는 내부 함수를 함수 밖에서 호출할 수는 없음

실습 예제)

def calculator(n1, n2, operator):

    def addcal():
        print(f'덧셈 연산 : {round(n1 + n2, 2)}')

    def subcal():
        print(f'뺄셈 연산 : {round(n1 - n2, 2)}')

    def mulcal():
        print(f'곱셈 연산 : {round(n1 * n2, 2)}')

    def divcal():
        print(f'나눗셈 연산 : {round(n1 / n2, 2)}')

    if operator == 1:
        addcal()
    elif operator == 2:
        subcal()
    elif operator == 3:
        mulcal()
    elif operator == 4:
        divcal()

while True:
    num1 = float(input('실수(n1) 입력 : '))
    num2 = float(input('실수(n2) 입력 : '))
    operator = int(input('1.덧셈\t2.삘셈\t3.곱셈\t4.나눗셈\t5.종료\t'))

    if operator == 5:
        print('프로그램을 종료합니다.')
        break

    calculator(num1, num2, operator)

lambda 함수

  • lambda 키워드 이용하여 함수 선언을 보다 간단하게 할 수 있다.






[Py.3]

모듈

  • 특정 기능을 가지고 있는 파이썬 파일

1) 내부 모듈 : 파이썬 설치 시 기본적으로 사용할 수 있는 모듈
2) 외부 모듈 : 별도 설치 후 사용할 수 있는 모듈
3) 사용자 모듈 : 사용자가 직접 제작한 모듈

1. 모듈 제작

2. 모듈 사용

1) import 키워드를 이용해 모듈을 불러온다.

2) as 키워드를 이용해 모듈 이름 단축 가능

3) from ~ as 키워드를 이용해 모듈의 특정 기능만 사용 가능

실습 예시)

  1. scoreModule 모듈 :
scores = []

def addScore(s):
    scores.append(s)

def getScores():
    return scores

def getTotalScore():
    total = 0
    for s in scores:
        total += s

    return total

def getAvgScores():
    avg = getTotalScore() / len(scores)

    return avg
  1. 실행 파일 :
import scoreModule as sc

korScore = int(input('국어 점수 입력 : '))
engScore = int(input('영어 점수 입력 : '))
mathScore = int(input('수학 점수 입력 : '))

sc.addScore(korScore)
sc.addScore(engScore)
sc.addScore(mathScore)

print(sc.getScores())
print(sc.getTotalScore())
print(sc.getAvgScores())

이상 데이터 취업 스쿨 Chpt.3 파이썬 중급의 스터디노트이다

여전히 진도를 따라잡는 중이다.

강의를 진행하면 할 수록 복습해야 하는 부분들이 나타나는 것을 보며 조급해짐을 느낀다.

이럴 수록 또 다시 다짐을 잊지 말아야 한다.

오늘도 '열심히'가 아닌,'그냥' 하는 것을 목표로.

그래도 어렵다.





이미지 출처: @waterglasstoon, 제로베이스 강의 일부

profile
On My Way

0개의 댓글