Python 인스턴스 메소드, 클래스 메소드 및 클래스 메소드 정적 메소드에 대한 간략한 분석

풀어 주다: 2023-07-25 16:09:38
앞으로
1305명이 탐색했습니다.

1. 소개

클래스 메소드는 좀 더 구체적으로 클래스 메소드, 인스턴스 메소드, 정적 메소드로 나눌 수 있습니다.


2. 자세한 케이스 설명

  1. 인스턴스 메소드

    보통 클래스에 정의된 메소드는 기본적으로 인스턴스 메소드입니다.

예:

class CLanguage: # 类构造方法,也属于实例方法 def __init__(self): self.name = "百度" self.add = "www.baidu.com" # 下面定义了一个say实例方法 def say(self): print("正在调用 say() 实例方法")
로그인 후 복사

say() 메서드를 호출하여 함수를 구현합니다.

clang = CLanguage() clang.say()
로그인 후 복사

실행 결과:

Python 인스턴스 메소드, 클래스 메소드 및 클래스 메소드 정적 메소드에 대한 간략한 분석

참고:

인스턴스 메서드에는 이 메서드를 호출하는 인스턴스 개체를 바인딩하는 데 사용되는 자체 매개 변수가 하나 이상 포함되어야 합니다.

  1. 수업 방식

Python 类方法和实例方法相似,它最少也要包含一个参数,只不过类方法中通常将其命名为 cls,Python 会自动将类本身绑定给 cls 参数(注意,绑定的不是类对象)。所以在调用类方法时,无需显式为 cls 参数传参。

和实例方法最大的不同在于,类方法需要使用@classmethod修饰符进行修饰。

例:

class ass: #类构造方法,也属于实例方法 def __init__(self): self.name = "百度" self.add = "www.baidu.com" #定义了一个类方法 @classmethod def info(cls): print("正在调用类方法",cls)
로그인 후 복사

如果没有 @classmethod,则 Python 解释器会将 fly() 方法认定为实例方法,而不是类方法。

类方法推荐使用类名直接调用。

#使用类名直接调用类方法 ass.info() #使用类对象调用类方法 clang = ass() clang.info()
로그인 후 복사

运行结果:

Python 인스턴스 메소드, 클래스 메소드 및 클래스 메소드 정적 메소드에 대한 간략한 분석

  1. 类静态方法

静态方法定义在类这个空间(类命名空间)中,而函数则定义在程序所在的空间(全局命名空间)中。

静态方法没有类似 self、cls 这样的特殊参数,因此 Python 解释器不会对它包含的参数做任何类或对象的绑定。

静态方法需要使用@staticmethod修饰。

例:

class ass: @staticmethod def info(name, add): print(name, add)
로그인 후 복사

静态方法可以使用类名,类对象两种方式进行调用。

# 使用类名直接调用静态方法 ass.info("百度1", "www.baidu.com") # 使用类对象调用静态方法 clang = ass() clang.info("百度2", "www.baidu.com")
로그인 후 복사

运行结果:

Python 인스턴스 메소드, 클래스 메소드 및 클래스 메소드 정적 메소드에 대한 간략한 분석


三、总结

本文基于Python基础,介绍了实例方法、类方法和类方法静态方法,通过实际案例讲解了三种方法的不同用法,通过代码演示,运行效果图的展示,能够帮助读者更好的理解。

위 내용은 Python 인스턴스 메소드, 클래스 메소드 및 클래스 메소드 정적 메소드에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:Go语言进阶学习
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!