# 11일차 - 인스턴스 방법, 클래스 방법 및 정적 방법

오늘 우리는 파이톤의 실례 방법, 유형 방법과 정적 방법을 토론할 것이다.이 방법들은 Python에서 대상을 대상으로 프로그래밍하는 데 사용됩니다.

실례 방법



인스턴스 메서드는 Python에서 OOP에서 가장 많이 사용되는 메서드입니다.모든 실례 방법은 대상의 상태, 즉 대상 구성원(변수)의 값을 변경할 수 있다.첫 번째 파라미터는self입니다. 기본적으로 이 방법을 호출하는 실례를 가리킵니다.이름self는 기술적으로는 무엇이든 불릴 수 있는 명명 약정일 뿐이다.
drink_1 = Drink("Pepsi","small")
drink_1.get_drink()
두 번째 줄에서self는 실례 1을 가리킨다.우리는 또한self 매개 변수의 값을 현저하게 설정할 수 있다.
drink_1 = Drink("Pepsi","small")
Drink.get_drink(self = drink_1)

유형 방법


사용자 테이블에 패턴을 정의하고 있다고 가정하십시오

표의 모든 줄을 되돌려 주는 함수를 만들고 싶다고 가정하십시오.우리는 그것을 실례적인 방법으로 추가할 수 있다.

위의 클래스 정의는 기능적으로 정확하다.그러나 함수 get all rows()를 호출하려면 사용자 클래스의 인스턴스를 만들어야 합니다.하지만 우리가 실례가 아닌 클래스 자체에서 이 방법을 방문하고 싶다면.테이블이 비어 있거나 클래스 User를 작성한 인스턴스가 거의 없는 경우를 고려합니다.우리는 여전히 조회를 실행할 수 있어야 한다.
classmethod decorator를 사용하여 함수 get all rows () 를 클래스 방법으로 만들고 클래스 자체로 호출할 수 있습니다.

이제 다음과 같은 방법으로 함수 get all rows()를 호출할 수 있습니다.
User.get_all_rows()
self라는 단어와 마찬가지로,cls도 일종의 명명 약정이다.위의 코드 세그먼트에서 클래스 User를 사용하여 함수 get all rows()를 호출하면 cls가 클래스를 가리킵니다.
get all rows () 는 클래스 방법이지만, 이 클래스의 실례를 사용해서 호출할 수도 있습니다.실례를 사용하면,cls는 이 실례를 가리킬 것입니다.
User().get_all_rows()
클래스 방법도 공장 모델을 따르거나 여러 개의 구조 함수를 가진 데 사용할 수 있다.

우리는 클래스 사용자에게 몇 가지 클래스 방법을 제공했다.첫 번째 방법은 JSON 대상에서 User 실례를 만들 수 있고, 두 번째 방법은 관리자 사용자를 만들 수 있습니다.
cls가 이 클래스를 가리키기 때문에, cls (이름, 나이) 가 이 클래스를 만드는 실례입니다.우리는 기본적으로 실례를 되돌려줍니다. 이 실례는 변수에 분배됩니다.

정적 방법


정적 방법은 클래스 방법과 유사하지만, 클래스의 모든 구성원이나 실례의 구성원에 접근할 수 없습니다.이것은cls나self 같은 매개 변수를 받아들이지 않습니다.그것은 액세스 클래스의 구성원이 필요하지 않지만, 어떤 방식으로 클래스의 함수를 설명할 수 있는 실용 함수와 같다.정적 방법을 정의하기 위해서, 우리는staticmethod 장식기를 사용합니다

정적 방법이 건강하다고 가정하면, 클래스나 실례에 접근할 필요가 없지만, 클래스를 확실히 묘사했다.함수는 클래스와 관련이 있기 때문에 클래스와 관련된 정적 방법으로 사용할 수 있다.그것도 클래스 밖에서 정의할 수 있다.그러나 유형을 묘사할 수 있기 때문에 정태적인 방법으로 삼는 것은 좋은 실천이다.
함수 is drink helathy를 호출하려면 클래스 또는 인스턴스를 사용하여 호출할 수 있습니다.
Drink.is_drink_healthy()
Drink().is_drink_healthy()

모든 방법을 한데 결합하다


  • 우리는 피자라는 종류가 있는데 init 방법은 재료 배합 목록을 받아들여 피자를 만드는 실례
  • 채소나 닭고기 피자를 만들 수 있는 두 가지 방법이 있다
  • 피자의 면적을 계산하는 정적 방법이 있는데 이 방법은 방문 클래스나 실례의 어떤 구성원도 필요하지 않다.이것은 효용 함수다.
  • 요약

  • 실례적인 방법은 클래스 내부에서 정의한 일반적인 방법이다.그것들은 호출할 실례를 만들어야 한다.첫 번째 파라미터는self입니다. 클래스를 가리키는 실례
  • 클래스 방법은 클래스 자체를 호출할 수 있으며 실례를 만들 필요가 없다.첫 번째 파라미터는cls입니다. 이 클래스를 사용하면 이 클래스를 가리키고, 이 실례를 사용하면 이 클래스를 가리키며
  • 정적 방법은 클래스/실례를 묘사할 수 있는 실용 함수이다.그들은 클래스/실례의 구성원에 접근할 권리가 없다.
  • 좋은 웹페이지 즐겨찾기