Python에서 더 일반적인 메서드 유형은 인스턴스 메서드와 클래스 메서드입니다. 그것들은 어떻게 정의됩니까? 어떻게 부르나요? 차이점과 기능은 무엇입니까? 아래를 참조하세요.
우선, 이 메소드들은 클래스에 정의되어 있습니다. 먼저 정의하고 호출하는 방법에 대해 간단히 설명하겠습니다. (PS: 인스턴스 객체는 가장 큰 권한을 갖습니다.)
인스턴스 방법 (권장 학습: Python 비디오 튜토리얼)
정의: 첫 번째 매개변수는 인스턴스 객체여야 하며 매개변수 이름은 일반적으로 " self", pass됨 인스턴스의 속성과 메서드를 전달합니다(클래스의 속성과 메서드도 전달할 수 있음).
Call: 인스턴스 개체에 의해서만 호출될 수 있습니다.
클래스 메소드
정의: @classmethod 데코레이터를 사용하세요. 첫 번째 매개변수는 현재 클래스 객체여야 합니다. 매개변수 이름은 일반적으로 클래스의 속성과 메서드가 전달되는 "cls"로 동의됩니다(인스턴스의 속성과 메서드는 전달할 수 없음). 인스턴스 객체와 클래스 객체를 모두 호출할 수 있습니다.
인스턴스 메서드간단히 말하면, 인스턴스 메서드는 클래스의 인스턴스에서 사용할 수 있는 메서드입니다. 여기에는 설명이 별로 없습니다.
클래스 메소드데코레이터 @classmethod를 사용하세요.
원칙적으로 클래스 메서드는 클래스 자체를 객체로 작동하는 메서드입니다. 메소드가 있고 클래스 자체를 객체로 사용하여 이 메소드를 호출하는 것이 논리적으로 더 합리적이라면 이 메소드를 클래스 메소드로 정의할 수 있습니다. 또한 상속이 필요한 경우에는 클래스 메소드로 정의할 수도 있습니다.
학생 수업과 수업 수업이 있다고 가정해 보겠습니다. 구현하려는 기능은 다음과 같습니다.
수업의 학생 수를 늘리는 작업을 수행하고 수업의 총 인원을 구합니다. 클래스는 클래스 클래스에서 상속되며 학생이 인스턴스화될 때마다 클래스 크기가 늘어날 수 있습니다.
마지막으로 일부 학생을 정의하고 클래스의 총 학생 수를 얻고 싶습니다.
class ClassTest(object): __num = 0 @classmethod def addNum(cls): cls.__num += 1 @classmethod def getNum(cls): return cls.__num # 这里我用到魔术方法__new__,主要是为了在创建实例的时候调用累加方法。 def __new__(self): ClassTest.addNum() return super(ClassTest, self).__new__(self) class Student(ClassTest): def __init__(self): self.name = '' a = Student() b = Student() print(ClassTest.getNum())
Python 관련 기술 기사를 더 보려면
Python Tutorial칼럼을 방문하여 알아보세요!
위 내용은 Python 클래스 메서드와 인스턴스 메서드의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

forhandlinglargedatasetsinpython, usenumpyarraysforbetterperformance.1) numpyarraysarememory-effic andfasterfornumericaloperations.2) leveragevectorization foredtimecomplexity.4) managemoryusage withorfications data

inpython, listsusedyammoryAllocation과 함께 할당하고, whilempyarraysallocatefixedMemory.1) listsAllocatemememorythanneedInitiality.

Inpython, youcansspecthedatatypeyfelemeremodelerernspant.1) usenpynernrump.1) usenpynerp.dloatp.ploatm64, 포모 선례 전분자.

numpyissentialfornumericalcomputinginpythonduetoitsspeed, memory-efficiency 및 comperniveMathematicaticaltions

contiguousUousUousUlorAllocationScrucialForraysbecauseItAllowsOfficationAndFastElementAccess.1) ItenableSconstantTimeAccess, o (1), DuetodirectAddressCalculation.2) Itimprovesceeffiency theMultipleementFetchespercacheline.3) Itsimplififiesmomorym

slicepaythonlistisdoneusingthesyntaxlist [start : step : step] .here'showitworks : 1) startistheindexofthefirstelementtoinclude.2) stopistheindexofthefirstelemement.3) stepisincrementbetwetweentractionsoftortionsoflists

NumpyAllowsForVariousOperationsOnArrays : 1) BasicArithmeticLikeadDition, Subtraction, A 및 Division; 2) AdvancedOperationsSuchasmatrixmultiplication; 3) extrayintondsfordatamanipulation; 5) Ag

Arraysinpython, 특히 Stroughnumpyandpandas, areestentialfordataanalysis, setingspeedandefficiency


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
