[python] class 클라스 있ㅈㅣ!!

전상욱·2021년 4월 20일
0

Python

목록 보기
10/14

클래스
객체를 표현하기 위한 문법. 클래스의 데이터을 속성이라 하고, 기능을 메서드라 한다.
이런 프로그래밍 방법을 객체지향 프로그래밍이라고 한다. ( 복잡한 문제를 잘게 나누어 객체로 만들고, 객체를 조합해서 문제를 해결)

class 클래스이름:
	def 메서드(self):
    	코드
  • 인스턴스 = 클래스()
    클래스는 특정 개념을 표현만 할뿐 사용하려면 인스턴스를 생성해야한다!!

  • 인스턴스.메서드()
    메서드를 호출하는 방법이다. (메서드는 클래스가 아니라 인스턴스를 통해 호출한다)

  • 객체와 인스턴스 같은 개념으로 볼 수 있다.

  • 클래스에서 속성을 만들고, 사용하려면 init self속성에 값을 할당

class 클래스이름:
	def __init__(self): # 인스턴스를 초기화 한다.
    	self.속성 =# 중요함
  • self(?)
    self 는 인스턴스 자기 자신을 의미한 한다.

  • 인스턴스를 만들때 값 받기
    self 다음에 값을 받을 매개변수를 지정합니다. 그리고 매개변수를 self.속성에 넣어줌

class 클래스 이름:
	def __init__(self, 매개변수1, 매개변수2):
    	self.매개변수1 = 매개변수1
    	self.매개변수2 = 매개변수2
  • 클래스의 위치인수, 키워드 인수
    인수와 키워드 인수를 사용할 수 있습니다. 규칙은 함수와 같습니다. 매개변수에서 값을 가져오려면 args[0], args[1] 이런식으로 가져와야한다.
class Person:
    def __init__(self, *args):
        self.name = args[0]
        self.age = args[1]
        self.address = args[2]

sam = Person(*['sam', 30, 'marsfield'])

키워드 인수와 딕셔너리 언패킹

class Person:
    def __init__(self, **kwargs):
        self.name = kwargs['name']
        self.age = kwargs['age']
        self.address = kwargs['address']

sam = Person(**{'name':'sam', 'age': 30, 'address':'marsfield'})
  • 특정 속성만 허용하고 다른 속성은 제한하고 싶을때
__slots__ = ['속성이름1','속성이름2']
  • 비공개 속성 사용
class 클래스이름:
	def __init__(self, 매개변수):
    	self.__속성 =
profile
someone's opinion of you does not have to become your reality

0개의 댓글