>백엔드 개발 >파이썬 튜토리얼 >파이썬에서 클래스를 정의할 수 있나요?

파이썬에서 클래스를 정의할 수 있나요?

silencement
silencement원래의
2019-06-29 15:03:271850검색

파이썬에서 클래스를 정의할 수 있나요?

수업이란 무엇인가요?

은 동일한 속성과 메서드를 가진 개체 컬렉션을 설명하는 데 사용됩니다. 컬렉션의 모든 개체에 공통적인 속성과 메서드를 정의합니다. 객체는 클래스의 인스턴스입니다.

방법은 무엇인가요?

클래스의 함수는 메소드입니다.

클래스를 어떻게 정의하나요?

클래스 정의 구문 형식은 다음과 같습니다.

class ClassName:
    <statement-1>
    .
    .
    .
    <statement-N>

클래스를 정의하려면 클래스 키워드를 사용하세요. 클래스 명명 규칙은 각 단어의 첫 글자를 대문자로 표기해야 한다는 것입니다.

Class 객체

Class 객체는 속성 참조와 인스턴스화라는 두 가지 작업을 지원합니다.

속성 참조는 Python의 모든 속성 참조와 동일한 표준 구문(obj.name)을 사용합니다.

클래스 객체가 생성된 후에는 클래스 네임스페이스의 모든 이름이 유효한 속성 이름이 됩니다. 따라서 클래스 정의가 다음과 같다면:

class MyClass:    """一个简单的类实例"""
    i = 12345
    def f(self):        return &#39;hello world&#39;
 # 实例化类x = MyClass()
 # 访问类的属性和方法print("MyClass 类的属性 i 为:", x.i)print("MyClass 类的方法 f 输出为:", x.f())

위에서는 새 클래스 인스턴스를 생성하고 객체를 로컬 변수 x에 할당합니다. x는 빈 객체입니다.

위 프로그램 실행의 출력 결과는 다음과 같습니다.

MyClass 类的属性 i 为: 12345
MyClass 类的方法 f 输出为: hello world

클래스에는 다음과 같이 클래스가 인스턴스화될 때 자동으로 호출되는 __init__()라는 특수 메서드(생성자)가 있습니다.

def __init__(self):
    self.data = []

클래스가 정의됩니다. __init__() 메서드를 사용하면 클래스의 인스턴스화 작업이 자동으로 __init__() 메서드를 호출합니다. MyClass 클래스가 다음과 같이 인스턴스화되면 해당 __init__() 메서드가 호출됩니다.

x = MyClass()

물론 __init__() 메서드는 매개변수를 가질 수 있으며 매개변수는 __init__()를 통해 클래스의 인스턴스화 작업에 전달됩니다. . 예:

class Complex:
    def __init__(self, realpart, imagpart):
        self.r = realpart
        self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 输出结果:3.0 -4.5

위 내용은 파이썬에서 클래스를 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.