• What is Python
• Data Types
• Logic
• Function
• I/O
• Class & Object
• Module & Package
• Exception Handling
Class는 Object를 생성하기 위한 틀, Class is a template of Object
Object는 데이터와 기능을 묶은 프로그래밍 단위
# Class
* 클래스 선언
- class 클래스명:
데이터들...
기능들...
# Object
* 객체 생성
- 객체명 = 클래스명()
# self : 메모리에 생성된 객체 자신을 가리키는 키워드 (타 언어에서는 this)
# Constructor (생성자)
* 객체의 데이터를 할당하기 위한 특별한 메서드 (__init__ 문법 사용)
* 메서드는 모두 함수이며 객체로 접근하는 함수를 메서드라 함
함수는 기능정의하기 위해서 코드를 모아놓은것(def)
- 기능을 만들어놓으면 다 함수라고 합니다.
그 중에서 객체가 가진 함수는 매소드라고 합니다.
즉 매소드는 객체지향부터 나오게됩니다.
모든 매소드는 함수다(o)
모든 함수는 매소드다 (x)
함수중에서 객체로 접근하는 함수를 매소드라고 부릅니다
# 상속
* 이미 만들어져 있는 클래스를 상속 받아 사용함으로서 재사용성 (리유징)증진
* 문법 : class 클래스명(상속받을클래스명):
상속받을게 없다면 class 클래스명(): 으로 작성하면 됩니다.
# 메서드 오버라이딩 (객체지향의 핵심)
* 두 클래스가 상속관계에 있을때 상위클래스의 메서드를 하위클래스의 메서드가 재정의
* 동일한 형태의 메서드를 호출하는 객체의 타입에 따라 선택하게 하는 객체지향 기법
# 클래스 변수
* 클래스를 통해 생성되는 모든 객체들에 동일한 값이 필요할때 사용
* 클래스 선언 하단에 클래스 변수를 선언
- 클래스명은 대문자로 시작합니다(관례적)
-
#클래스
class Human:
HumanCount = 0 #클래스 변수(객체들이 공유하는 변수)
def __init__(self, name, age): #생성자 __init__
self.name = name # 객체의 name변수 = 생성자 파라미터 name 변수
self.age = age
def setAge(self, age): #메소드 (setter : 객체변수의 값을 변경)
self.age = age
def getAge(self): # 메소드 (getter : 객체변수의 값을 가져옴)
return self.age
그래서 새롭게 만든 클래스에 객체를 생성해보면
#객체 생성
hong = Human("홍길동", 28)
print(hong.age)
hong 이라는 객체에 Human클래스에 각각 ("name"과 28)을 넣어주고
print(hong.name)을하게되면 홍길동
pirnt(hong.age)를 하게되면 28이 출력되게 됩니다.
즉 뜻은 hong의 이름은? hong의 나이값은? 이라고 물어보게 되는것이죠.
단 클래스로 접근해야 클래서 변수의 역할을 합니다.
Module & Package
수많은 데이터와 로직들을 모듈화/패키지화 하는 것은
프로그램의 확장성과 관리 측면에서매우 중요
# 모듈
* 함수나 변수를 모아놓은 프로그래밍 단위 (일반적으로 파일)
* 모듈을 불러올때는 import 구문 사용 : import 모듈명
* 모듈에서 특정한 것들만 불러올때는 : from 모듈명 import 불러올것들...
# __name__ == “__main__” : 모듈이 아닌 메인파일인지 검사
# 패키지
* 모듈을 계층적으로 관리하기 위한 프로그래밍 단위 (일반적으로 폴더)
* 폴더내에 아무 내용이 없는 __init__.py 파일을 작성하면 파이썬에서 패키지로 인식
- 단 파일에는 아무것도 안 만듭니다.
* import 패키지명.모듈명 으로 모듈을 호출하여 사용을 하여서 패키지를 사용합니다.
# module&package.py
import modules.calc.calc
result1 = modules.calc.calc.add(3, 5)
print(result1)
result2 = modules.calc.calc.multi(3, 5)
print(result2)
from modules.calc.calc import add, multi
print(add(5, 5))
print(multi(5, 5))
Exception Handling
예외란 프로그램 실행시점에 발생할 수 있는 에러
예외처리는 개발한 프로그램의 안정성을 높이는 중요한 프로그래밍 이슈
# 예외처리 문법
* try: 예외발생 가능한 코드블럭
except: 예외를 처리하기 위한 코드블럭
finally: 예외발생과 상관없이 수행할 코드블럭
# raise
* 예외를 일부러 발생시키기 위한 키워드
# 사용자정의 예외 만들기
* Exception클래스를 상속받아 __str__메서드를 오버라이딩
'언어 > Python' 카테고리의 다른 글
[Python] Library, 정규표현식,json (0) | 2024.07.29 |
---|---|
[유튜브 나도코딩 1분파이썬] 100분완성 강의 요약본 #52강~62강(완강) (1) | 2024.05.19 |
[유튜브 나도코딩 1분파이썬] 100분완성 강의 요약본 #47강~51강 (1) | 2024.05.17 |
[유튜브 나도코딩 1분파이썬] 100분완성 강의 요약본 #42강~46강 (1) | 2024.05.11 |
[Python] 문법 ~~~~32~~41 (0) | 2024.05.10 |