class Dog(object): # 定义class def __init__(self, name): # 构造函数,构造方法 == 初始化方法 self.name = name # d.name = name 类的属性 / 成员变量 def say_hi(self): # 类的方法 print("Hello, I am a dog. My name is", self.name) def eat(self, food): print("%s is eating %s." % (self.name, food)) d = Dog("xiaohei") # Dog(d,"xiaohei") d == self # d 实例化的对象即实例,类中的self相当于实例 d.say_hi() # d.say_hai(d) d.eat('beaf')
첫 번째 메서드 __init__() 메서드는 이 클래스의 인스턴스가 생성될 때 클래스의 생성자 또는 초기화 메서드라고 하는 특수 메서드입니다.
self는 클래스의 인스턴스를 나타냅니다. 호출할 때 해당 매개변수를 전달할 필요는 없지만 클래스의 메서드를 정의할 때 self가 필요합니다.
클래스 메서드와 일반 함수 사이에는 단 하나의 특별한 차이점이 있습니다. 규칙에 따라 추가 첫 번째 매개변수 이름이 있어야 합니다. 이름은 self입니다. .
class Dog(object): def prt(self): print(self) print(self.__class__) d = Dog() print(d) print("-------------") d.prt() #输出 <__main__.Dog object at 0x000001DDBD10C5F8> ------------- <__main__.Dog object at 0x000001DDBD10C5F8> <class '__main__.Dog'>
self는 클래스의 인스턴스를 나타내고 현재 객체의 주소를 나타내고 self.class는 클래스를 가리키는 것을 실행 결과에서 명확하게 알 수 있습니다.
new 키워드는 일반적으로 다른 프로그래밍 언어에서 클래스를 인스턴스화하는 데 사용되지만 Python에는 이러한 키워드가 없습니다. 클래스 인스턴스화는 함수 호출과 유사합니다.
# 创建一个Dog类的对象 d = Dog("xiaohei")
인스턴스화된 개체라고도 합니다. 인스턴스
점(.)을 사용하여 개체의 속성에 액세스할 수 있습니다
# 通过 d.方法 来访问属性 d.eat('beaf') #输出 xiaohei is eating beaf.
위 내용은 클래스 인스턴스화 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!