# 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):
'개발 > PYTHON' 카테고리의 다른 글
[Python] 기초 연습 계속_1 (0) | 2020.03.17 |
---|---|
[Python] 파이썬 시작해보기_7 (0) | 2020.03.12 |
[Python] 파이썬 시작해보기_5 (0) | 2020.03.08 |
[Python] SyntaxError: Non-UTF-8 code starting with '\xc7' ... (2) | 2020.03.08 |
[Python] 파이썬 시작해보기_4 (0) | 2020.03.06 |