Python 바 인 딩 방법 과 비 바 인 딩 방법 에 대한 상세 한 설명
정의:
바 인 딩 방법(바 인 딩 을 누 군가 에 게 호출 하면 자동 으로 그 자 체 를 첫 번 째 매개 변수 로 입력 합 니 다):
1.클래스 에 연결 하 는 방법:classmethod 장식 기로 장식 하 는 방법.
클래스 맞 춤 형 제작
클래스.boudmethod(),자동 으로 클래스 를 첫 번 째 매개 변수 로 입력 합 니 다.
(사실 대상 도 호출 할 수 있 지만 클래스 를 첫 번 째 매개 변수 로 입력 합 니 다)
2.대상 에 귀속 하 는 방법:어떤 장식 기 에 도 장 식 된 방법 이 없습니다.
대상 맞 춤 형 제작
대상.boudmethod(),자동 으로 대상 을 첫 번 째 매개 변수 로 전송 합 니 다.
(클래스 에 속 하 는 함수 입 니 다.클래스 는 호출 할 수 있 지만 함수 의 규칙 에 따라 자동 전송 값 이 없습니다)
비 귀속 방법:staticmethod 장식 기로 장식 하 는 방법
클래스 나 대상 과 연결 되 지 않 고 클래스 와 대상 을 호출 할 수 있 지만 자동 전송 값 은 없습니다.그냥 도구 일 뿐 이 야.
메모:대상 에 연결 하 는 방법 구역 과 분리 되 어 클래스 에서 직접 정 의 된 함수 입 니 다.어떠한 장식 기 에 의 해 장식 되 지 않 았 습 니 다.모두 대상 에 연결 하 는 방법 입 니 다.일반 함수 가 아 닙 니 다.대상 이 이 방법 을 호출 하면 자동 으로 값 을 전달 합 니 다.staticmethod 장식 방법 은 누가 호출 하 든 자동 으로 값 을 전달 하지 않 습 니 다.
2.귀속 방법
대상 에 게 귀속 하 는 방법(약)
클래스 에 연결 하 는 방법(classmethod)
classmehtod 는 클래스 에 연결 되 어 있 습 니 다.클래스 는 사용 할 때 클래스 자 체 를 매개 변수 로 클래스 방법 에 전달 하 는 첫 번 째 매개 변수(대상 이 호출 하 더 라 도 클래스 를 첫 번 째 매개 변수 로 전송 합 니 다)입 니 다.python 은 함수 classmethod 를 내장 하여 클래스 의 함 수 를 클래스 방법 으로 정의 합 니 다.
import settings
class MySQL:
def __init__(self,host,port):
self.host=host
self.port=port
@classmethod
def from_conf(cls):
print(cls)
return cls(settings.HOST,settings.PORT)
print(MySQL.from_conf) #<bound method MySQL.from_conf of <class '__main__.MySQL'>>
conn=MySQL.from_conf()
conn.from_conf() # ,
3.비 귀속 방법클래스 내부 에서 staticmethod 로 장식 한 함수 즉 비 귀속 방법 은 일반 함수 입 니 다
statimethod 는 클래스 나 대상 과 연결 되 지 않 고 누구나 호출 할 수 있 으 며 자동 전송 효과 가 없습니다.
import hashlib
import time
class MySQL:
def __init__(self,host,port):
self.id=self.create_id()
self.host=host
self.port=port
@staticmethod
def create_id(): #
m=hashlib.md5(str(time.time()).encode('utf-8'))
return m.hexdigest()
print(MySQL.create_id) #<function MySQL.create_id at 0x0000000001E6B9D8> #
conn=MySQL('127.0.0.1',3306)
print(conn.create_id) #<function MySQL.create_id at 0x00000000026FB9D8> #
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.