일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- iterator
- 프로그래머스
- Protocol
- Substring with Concatenation of All Words
- 315. Count of Smaller Numbers After Self
- Class
- data science
- 43. Multiply Strings
- shiba
- t1
- Python Implementation
- 30. Substring with Concatenation of All Words
- LeetCode
- 운영체제
- 시바견
- DWG
- 컴퓨터의 구조
- Convert Sorted List to Binary Search Tree
- 밴픽
- Decorator
- concurrency
- Generator
- attribute
- 파이썬
- kaggle
- Python
- Regular Expression
- 715. Range Module
- 109. Convert Sorted List to Binary Search Tree
- Python Code
Archives
- Today
- Total
Scribbling
<Python> Class 파헤치기 본문
Python Class 관련하여 잘 몰랐던 부분을 정리해둔다.
1. 비공개 속성 및 메서드
속성이나 메서드에 "__"를 붙이면 클래스 외부에서 접근할 수 없다.
class person:
def __init__(self, name, nickname):
self.name = name
self.__nickname = nickname
def __tease(self):
print(self.__nickname)
2. 클래스 속성
클래스 속성은 아래처럼 선언가능하며, 클래스명으로 접근하는 것이 가독성에 좋다.
class Person:
all_names = []
def __init__(self, name):
Person.all_names.append(name)
self.name = name
3. 정적 메서드 (Static Method)
"@staticmethod" 데코레이터를 사용하여 정적 메서드를 선언합니다.
개별 인스턴스에 영향을 주지 않는 메서드인 경우 정적 메서드로 선언할 수 있습니다.
class Calc:
@staticmethod
def subtract(a, b):
return a - b
print(Calc.subtract(3, 4))
4. 클래스 메서드 (Class Method)
클래스 메서드는 정적 메서드와 마찬가지로 인스턴스 없이 호출이 가능합니다.
그러나 클래스 메서드는 일반적으로 클래스 속성이나 클래스 메서드에 접근하기 위한 용도로 사용합니다.
class Food:
foods = []
@classmethod
def add_food(cls, food):
cls.foods.append(food)
5. 파생 클래스에서 기반 클래스 메서드 사용하기
class Person:
def __init__(self):
self.hello = '안녕하세요.'
class Student(Person):
def __init__(self):
super().__init__()
self.bye = '안녕히가세요'
'Computer Science > Python' 카테고리의 다른 글
<Python> 정규표현식 (0) | 2021.11.09 |
---|---|
<Python> Decorator (0) | 2021.11.09 |
<Python> Iterator, Generator (0) | 2021.11.09 |
<Python> 클로저 (0) | 2021.10.28 |
기본 자료구조 / 알고리즘 정리 (0) | 2021.08.16 |