본문 바로가기

개발/PYTHON

[Python] 파이썬 시작해보기_6

 

# Slice

slice를 하면 해당하는 부분의 리스트나 문자열을 새로 만들어 준다.
list[ 2:5 ] → 리스트의 인덱스 2부터 5의 전까지의 값을 반환 
list[ 2: ] 2번째부터 끝까지 반환
list[ : 2 ] 처음부터 2번째 까지 반환
list[ : ] 처음부터 끝까지 전부 반환

 

list[ 시작값:끝값:step ]

→ step: slice한 값의 범위에서 step 값을 주어 그 값만큼 건너뛰어 가져오는 기능

음수 값이 들어가면 거꾸로 반환

 

삭제 del list[ :5 ] = 처음부터 5번째까지 삭제
수정
list[ 1:3 ] = [ 77, 88 ]
list[ 1:3 ] = [ 77, 88 ,99 ] = 더 많은 개수로 변환
list[ 1:4 ] = [ 8 ] = 더 적은 개수로 변환

 

# 자료형 다루기

자료형 검사

type( a ) type( 변수명 )  
isinstance( 42, int ) isinstance( 값, 자료형 )

 

# 인스턴스 (instance)

클래스: 함수나 변수들을 모아 놓은 집합체
인스턴스: 클래스에 의해 생성된 객체
- 인스턴스 각자 자신의 값을 가지고 있다.

 

# 클래스 (class)

class 클래스명():

- 클래스와 인스턴스를 이용하면 데이터와 코드를 사람이 이해하기 쉽게 포장할 수 있다

- 클래스에 함수를 넣을 수 있다

# 메소드(Method)

- 메소드는 함수와 비슷하다.
- 클래스에 묶여서 클래스의 인스턴스와 관계되는 일을 하는 함수

- self
 * 메소드의 첫번째 인자
 * 인스턴스의 매개변수를 전달 할 때는 self 매개변수는 생략하고 전달

(java의 this)

 

class Human():
    '''사람'''
    def __init__(self, name, weight):
        '''초기화 함수 (java의 생성자)'''
        self.name = name
        self.weight = weight
    def __str__(self):
        '''문자열화 함수
        인스턴스 자체를 출력 할 때의 형식을 지정해주는 함수 '''

        return "{}(몸무게 {}kg)".format(self.name,self.weight)

person = Human("밀",100)
print(person)

 

# 상속 (Inheritance)

클래스의 매개변수로 부모 클래스를 넣으면 상속이 됨

class Human( Animal ): 

 

# 오버라이드 (Override)

자식 클래스에서 부모 클래스의 method명을 똑같이 만들어서 덮어쓸 수가 있음

새로운 부모 클래스의 인스턴스를 만들거나 

부모클래스를 상속한 다른 클래스의 인스턴스를 만들면 동작이 나타남

 

# super()

자식 클래스의 override한 메소드에서 부모 클래스의 메소드를 쓰고 싶을 때 사용

class Animal( ):
    def __init__( self, name ):
        self.name = name
class Human( Animal ):
    def __init__( self, name, hand ):
        super().__init__( name ) # 부모클래스의 __init__ 메소드 호출
        self.hand = hand
person = Human( "사람", "오른손" )

 

# 예외 만들기

- 사용자가 직접 예외처리를 하면 코드의 직관성을 높일 수 있다

- 본인이 원하는 Error만 처리 가능하다
- 파일을 하나 만들어 예외를 정의
- Exception 클래스를 상속받아 만든다

class PasswordNotMachedError(Exception):

 

반응형