일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 네트워크보안
- 데이터구조
- 프로그래밍
- 인공지능
- 컴퓨터비전
- 빅데이터
- 머신러닝
- 컴퓨터과학
- 클라우드컴퓨팅
- 보안
- 데이터베이스
- 사이버보안
- 버전관리
- I'm Sorry
- 파이썬
- 웹개발
- 네트워크
- 프로그래밍언어
- 데이터과학
- 소프트웨어공학
- 자바스크립트
- 데이터분석
- 2
- 자료구조
- 컴퓨터공학
- 코딩
- Yes
- 딥러닝
- 소프트웨어
- 알고리즘
- Today
- Total
스택큐힙리스트
파이썬 클래스에서 'cls'와 'self'의 차이점은 무엇인가요? 본문
왜 Python 클래스에서 종종 cls 대신에 self가 인자로 사용되는 건가요?
예를 들면:
class Person:
def __init__(self, firstname, lastname):
self.firstname = firstname
self.lastname = lastname
@classmethod
def from_fullname(cls, fullname):
cls.firstname, cls.lastname = fullname.split(' ', 1)
답변 1
self와 cls 사이의 차이는 PEP 8에서 정의됩니다. Adrien이 말한 대로, 이것은 필수적이지 않습니다. 이것은 코딩 스타일입니다. PEP 8는 다음과 같이 말합니다:
기능 및 메서드 인수 :
인스턴스 메소드의 첫 번째 인자에는 항상 self을 사용하세요.
클래스 메서드의 첫번째 인수로 항상 cls을 사용하십시오.
답변 2
'cls'와 'self'는 파이썬 클래스에서 매우 중요한 개념입니다. 이 둘의 목적은 서로 다릅니다. 'cls'는 메소드를 정의하는 클래스 자체를 나타내고, 'self'는 클래스 인스턴스를 나타냅니다.'cls'는 클래스 메소드 내부에서 사용됩니다. 클래스 메소드는 클래스 자체를 수정하거나 인스턴스를 만들 필요가 없는 경우 사용됩니다. 'cls'는 클래스 첫 번째 인자로 사용되며, 해당 클래스를 나타냅니다. 이것은 클래스 멤버 변수에 액세스하는 데 사용됩니다.
반면에 'self'는 객체 인스턴스에서 사용됩니다. 메소드가 호출될 때 해당 객체 인스턴스 자체가 전달됩니다. 'self'는 인스턴스 첫 번째 인자로 사용되며, 해당 인스턴스를 나타냅니다. 이것은 해당 인스턴스의 인스턴스 멤버 변수에 액세스하는 데 사용됩니다.
결론적으로, 'cls'와 'self'는 모두 파이썬 클래스에서 매우 중요한 역할을 합니다. 'cls'는 클래스 멤버 변수에 액세스하는 데 사용되며, 'self'는 해당 객체 인스턴스의 인스턴스 멤버 변수에 액세스하는 데 사용됩니다. 이러한 차이를 잘 이해하면 파이썬 클래스를 더욱 효과적으로 작성할 수 있습니다.