Computer programming/python

파이썬 기초 문법 III

대학원생(노예) 2022. 1. 19. 00:43

파이썬 기초 문법

Python Object Oriented Programming(Python OOP)

객체지향 프로그래밍 개요

- Object Oriented Programming. OOP

- 객체: 실생활에서 일종의 물건

- 속성(Attribute)행동(Method)을 가짐

- OOP는 이러한 객체 개념을 프로그램으로 표현

- 속성은 변수(Variable), 행동은 함수(Method)로 표현

- OOP는 설계도에 해당하는 클래스(class)실제 구현체인 인스턴스(instance)로 나눔

 

Object in Python

 

class 구현하기 in Python

- 축구 선수 정보를 Class로 구현하기

 

Attribute 추가하기

- Attribute 추가는 __init__, self와 함께

- __init__은 객체 초기화 예약 함수

 

파이썬에서 __의미

- __는 특수한 예약 함수나 변수 그리고 함수명 변경(맨글링)으로 사용

ex) __main__, __add__, __str__, , __eq__

 

method 구현하기

- method(Action) 추가는 기존 함수와 같으나, 반드시 self를 추가해야만 class 함수로 인정됨

- 자기 자신을 가리킬 때 self 키워드를 사용한다.

 

objects(instance) 사용하기

- Object 이름 선언과 함께 초기값 입력하기


 

객체 지향 언어의 특징

- 상속(inheritance)

- 다형성(Polymorphism)

- 은닉화(Visibility), 캡슐화(Encapsulation)

 

상속(inheritance)

- 부모 클래스로부터 속성과 Method를 물려받은 자식 클래스를 생성하는 것

 

다형성(Poltmorphism)

- 같은 이름 메소드의 내부 로직을 다르게 작성

- Dynamic Typing 특성으로 인해 파이썬에서는 같은 부모 클래스의 상속에서 주로 발생함

- 중요한 OOP의 개념 그러나 너무 깊이 알 필요 X

 

은닉화(Visibility), 캡슐화(Encapsulation)

- 객체의 정보를 볼 수 있는 레벨을 조절하는 것

- 누구나 객체 안에 모든 변수를 볼 필요가 없음

 

 

Module and Project

Module

- 프로그램에서는 작은 프로그램 조각들, 모듈들을 모아서 하나의 큰 프로그램을 개발함

- 프로그램을 모듈화 시키면 다른 프로그램이 사용하기 쉬움

 

패키지

- 모듈을 모아놓은 단위, 하나의 프로그램

 

모듈

- 파이썬의 module은 .py 파일을 의미함

- 같은 폴더에 Module에 해당하는.py 파일과 사용하는 .py을 저장한 후, import문을 통해 module을 호출할 수 있음

 

namespace

- 모듈을 호출할 때 범위 정하는 방법

- 모듈 안에는 함수와 클래스 등이 존재 가능

- 필요한 내용만 골라서 호출 할 수 있음

- from과 import 키워드를사용함

 

Built-in Modules

- 파이썬이 기본 제공하는 라이브러리

- 문자처리, 웹, 수학 등 다양한 모듈이 제공됨

- 별다른 조치없이 import 문으로 활용 가능

 

패키지

- 하나의 대형 프로젝트를 만드는 코드의 묶음

- 다양한 모듈들의 합, 폴더로 연결됨

- __init__, __main__ 등 키워드 파일명이 사용됨

- 다양한 오픈 소스들이 모두 패키지로 관리됨

 

Package namespace

Package 내에서 다른 폴더의 모듈을 부를 때, 상담 참조로 호출하는 방법

 

Python Virtual Environment

- 프로젝트 진행 시 필요한 패키지만 설치하는 환경

- 기본 인터프리터 + 프로젝트 종류별 패키지 설치

- 다양한 패키지 관리 도구를 사용함