파이썬 중급 (1)

이창영·2023년 10월 19일

ZB_Data_20

목록 보기
2/9

1. 함수

함수란 수학의 함수와 동일함 함수 정의후 변수를 대입하면 값이 출력되는것임.

함수를 사용하는 이유는?
함수는 특정 기능을 재사용 하기 위해서 사용한다.

여러번 반복되는 작업의 경우 함수를 사용하여 간편하게 값을 얻을수 있다.

2. 모듈

모듈이란?
특정 기능을 가지고 있는 파이썬 파일을 말함.
ex) random, math 등등..

# calculation.py
def add(n1,n2):
    print(f'덧셈결과 : {n1 + n2}')
def sub(n1,n2):
    print(f'뺄셈결과 : {n1 - n2}')
def mul(n1,n2):
    print(f'곱셈결과 : {n1 * n2}')
def div(n1,n2):
    print(f'나눗셈결과 : {n1 / n2}')

이렇게 calculation 모듈을 만들었으므로 calculation을 import해서 다른 파일에서 add, sub, mul, div 기능을 사용할수 있다.

import calculator

calculator.add(20,10)
calculator.sub(20,10)
calculator.mul(20,10)
calculator.div(20,10)

3. 실행 파일(메인 파일)

1) name 전역변수

name 전역 변수에는 모듈 이름이 저장되거나 'main'이 저장된다.

ex) addModule.py

# addModule.py
def add(n1,n2):
    return n1 + n2

print(f'__name__ : {__name__}')

을 실행하면

C:\pythonEx\project\venv\Scripts\python.exe C:\pythonEx\project\5\5_012\addModule.py 
__name__ : __main__

이렇게 __name__에는 __main__이 저장된다. 현재 실행된 파일이 __main__에 저장되는것이다.

#module.py
import addModule
import subModule
import mulModule
import divModule

print(addModule.add(10,20))
print(subModule.sub(10,20))
print(mulModule.mul(10,20))
print(divModule.div(10,20))

print(f'__name__ : {__name__}')

에서 실행을 해보면

C:\pythonEx\project\venv\Scripts\python.exe C:\pythonEx\project\5\5_012\module.py 
__name__ : addModule
__name__ : subModule
__name__ : mulModule
__name__ : divModule
30
-10
200
0.5
__name__ : __main__

Process finished with exit code 0

의 결과가 나오는것을 알수 있다.
고로 현재 실행중인 module.py의 __name__에는 __main__에 저장된것을 알수 있고 import한 addMoudle의 __name__에는 자기 이름인 addModule이 저장된것을 확인할수 있다. 이것을 이용하여 스크립트를 직접 실행할떄만 원하는 내용을 실행하게 있도록 코딩을 할수도 있다.

# addModule.py
def add(n1,n2):
    return n1 + n2

if __name__ == '__main__':
    print(f'__name__ : {__name__}')

이렇게 코딩을 하면 addMoudle에서 실행될떄만 __name__ : __main 이 실행되게 할수 있다.

4. 패키지

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

5. 객체 지향 프로그래밍

객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성됨

ex) 자동차(객체)
속성 : 색상, 길이, 가격...
기능 : 전진, 후진, 정지...

# object.py
class Car:

    def __init__(self,col,len):
        self.color = col
        self.length = len

    def doStop(self):
        print('STOP!!')

    def doStart(self):
        print('START!!')

    def printCarInfo(self):
        print(f'self.color : {self.color}')
        print(f'self.length : {self.length}')

car1 = Car('red', 200)
car2 = Car('blue', 300)

car1.printCarInfo()
car2.printCarInfo()

car1.doStop()

위 처럼 Car class를 만들어서 여러개의 객체를 생성해서 각각의 객체에 다른 속성을 입력해서 각각의 동작을 하게 하는것이 객체 지향 프로그래밍이라고 한다.

profile
AI개발자를 꿈꾸는 개발자 이창영 입니다.

0개의 댓글