관리 메뉴

IT창고

파이썬 입력과출력, 클래스 본문

프로그래밍/Python

파이썬 입력과출력, 클래스

방구석여포 2017. 8. 13. 01:16

입력/출력

프로그래밍 동작 시 사용자와 정보 교환을 위하여 입력/출력 방법을 지원합니다

대표적으로 사용되는 입력/출력 함수는 아래와 같습니다

사용자입력: input()   #사용자로부터 입력을 받는 함수

>>> a=input("입력:")  #사용자의 입력을 받기 위한 안내 메세지를 출력할 수 있습니다.

화면출력: print()     

>>> print("a:",a)        #프로그램의 수행 결과를 화면에 출력하는 함수

 

입력 값의 변경

a=int(input("정수입력:"))

int형으로 입력을 받게 됩니다.

 

print문 내에 sep=""를 추가할 경우 ','로 구분된 String의 중간에 삽입이 됩니다.

ex)

>>>print('1','2','3',sep='-')

1-2-3

 

문자열의 포매팅

문자열 내에 특정문자를 삽입하거나 숫자를 표시할 때 사용되는 방법을 말합니다.

ex)

>>> "Test %d" %3

'Test 3'

문자열포맷코드는 아래의 링크에서 참고합니다

2017/08/12 - [프로그래밍/파이썬] - 파이썬 연산자

 

 

클래스

 

프로그래밍 방법

 

- 절차적 프로그래밍

 1. 문제해결을 위한 프로그래밍이 절차에 따라서 수행되는 방

 2. 해결을 위한 데이터가 순서대로 가공되어 최종적으로 완성되는 형태

 3. 간단한 알고리즘이나 문제해결을 위한 방법, 복잡한 작업에는 사용하기 힘듬

 

- 구조적 프로그래밍

 1. 프로그램을 함수단위로 나누고 함수를 호출하는 식의 프로그래밍

 2. 전체 프로그램을 이해하기 쉬운 하부구조로 나누어서 처리

 3. 큰 문제를 해결하기 위해 작은 문제 단위로 나눠서 해결

대표적인 언어: C언어, 파스캉 등

 

- 객체지향 프로그래밍

 1. 실 세계의 사물을 객체로 추상화하여 객체 간의 상호 작용을 기반으로 프로그래밍하는방법

 2. 문제를 해결하기 위하여 우선 각 기능 별로 객체를 생성한 후 그 객체들을 조합함으로 최종해결

 3. 기능으로 분리된 각 객체들은 차후 재사용이 용이

 4. 현대의 GUI환경 등에서 사용되는 이벤트 기반의 동작 구현에 용이

 

객체(object)

- 객체는 자신의 데이터를 가지고 있으며 실행 가능한 기능을 가지고 있습니다

- 객체는 상속으로 기능을 확장할 수 있습니다

- 외부에서 의도하지 않는 내부데이터변경을 막기 위하여 캡슐화를 할 수 있습니다.

 

class의 선언

클래스는 들여쓰기로 내용의 범위를 구분합니다

기본구조

class 클래스명:

<클래스내용1>

<클래스내용2>

<클래스내용3>

<일반내용>

 

class의 인스턴스

class를 선언하게 되면 새로운 class의 type을 생성하는 것입니다

선언된 class를 실제로 사용하기 위해서는 인스턴스화 해야 합니다

 

class 변수

- class 정의에 포함된 변수

- 작성된 class의 인스턴스가 해당 변수를 공유한다

- class 내부에서 클래스명.변수명으로 접근

 

instance 변수

- class의 인스턴스에 포함된 변수

- class 내에서 self.변수명으로 접근

 

class 에서의 self는 class가 인스턴스 생성시 해당 인스턴스에 매서드나 변수가 포함된다는 의미

 

class의 생성자

- class 생성시 반드시 설정되어야 할 데이터나 초기값이 필요한 경우 사용

- 내부 변수 등의 기본값을 지정하기 위하여 사용

 ex)

>>> class myclass:
def __init__(self):
print("클레스가 생성")
>>> my = myclass()

 

class Cat:
    def __init__(self):
        self.name = "Cat"
        self.eye_color = "Black"
        self.color = "White"

    def set_Info(self, name, eye_color, color):
        self.name = name
        self.eye_color = eye_color
        self.color = color

mycat = Cat()

print("Cat: ",mycat.name , "Eye:", mycat.eye_color, "Color:",
mycat.color)

 

 

class의 소멸자

- class의 사용이 끝난 후 인스턴스가 삭제될 경우 자동적으로 호출

- 내부에서 사용한 변수 등의 메모리 정리를 위해 호출

 

class의 상속

클래스는 상속을 통해서 다른 클래스의 기능 및 특징을 이어 받습니다.

 

python에서의 class 상속

1. 상속에 관련된 클레스는 부모 클래스 와 자식클래스로 구분됩니다.
2. 자식 클래스는 부모 클래스의 변수 및 메서드를 이용할 수 있습니다.
3. 자식 클래스는 부모 클래스의 기능 외, 자신만의 기능을 추가할 수 있습니다.
4. 자식 클래스는 부모 클래스 메서드를 수정할 수 있습니다.

 

 

Comments