찾다
백엔드 개발파이썬 튜토리얼Python 객체 지향 프로그래밍의 클래스와 인스턴스에 대한 간략한 설명(예제 포함)

이 글은 Python 프로그래밍의 클래스와 인스턴스에 대한 간단한 설명입니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 머리말

객체 지향 프로그래밍 OOP: 객체 지향 프로그래밍.
OOP는 객체를 프로그램의 기본 단위로 간주합니다. 객체에는 데이터와 데이터를 연산하는 기능이 포함됩니다. Python은 객체를 통해 메서드 호출을 구현하는 객체 지향 프로그래밍 언어입니다.

프로세스 지향 프로그래밍은 컴퓨터 프로그램을 일련의 명령 집합, 즉 일련의 기능이 순차적으로 실행되는 것으로 간주합니다. 프로그래밍을 단순화하기 위해 프로세스 중심 기능을 계속해서 하위 기능으로 분할합니다. 즉, 시스템의 복잡성을 줄이기 위해 큰 기능을 작은 기능으로 분할합니다.
객체 지향 프로그래밍은 컴퓨터 프로그램을 객체의 집합으로 간주하며 각 객체는 다른 객체로부터 메시지를 수신하고 이러한 메시지를 처리할 수 있습니다.

객체 지향 언어의 경우 중요한 개념은 클래스와 인스턴스입니다. 클래스는 추상 템플릿이고, 인스턴스는 클래스 템플릿을 기반으로 생성된 객체입니다.
파이썬에서는 모든 데이터 유형을 객체로 간주할 수 있으며, 물론 객체를 사용자 정의할 수도 있습니다. 사용자 정의 객체 데이터 유형은 객체지향의 클래스 개념으로, 객체는 클래스를 기반으로 생성됩니다.
세 가지 주요 기능은 캡슐화, 상속 및 다형성입니다.

2. 클래스

클래스는 추상 템플릿이자 데이터 구조입니다.

구문: ​​
class class_name: pass
class class_name(object): pass

설명:
class는 키워드 class입니다. 클래스 이름 class_name은 일반적으로 대문자로 시작됩니다.
객체는 클래스가 상속받은 클래스를 나타냅니다. 실제로 object는 모든 클래스가 상속하는 기본 클래스이며 일반적으로 명시적으로 작성되지 않습니다. (저는 주로 씁니다)

예를 들어 한 학급에 학생이 많다면 학생의 이름, 학번, 학년, 전공, 성적 등의 공통점이 많을 것입니다. 공통된 특성이 있으면 이를 Student 클래스로 추상화할 수 있습니다. 다음과 같습니다:

class Student(object):
    pass

위의 예에서는 먼저 pass를 사용하여 시연합니다. 이는 아무것도 하지 않음을 의미합니다.

3. 인스턴스

클래스를 통해 Student 인스턴스를 생성할 수 있습니다. 방법은 다음과 같습니다.

>>> bart = Student()        # 变量bart指向的是一个Student的实例 
>>> bart
<__main__.student> # 类object 实例的内存地址
>>> Student                 # 类
<class>     # 返回的是Student 类的属性 class</class></__main__.student>

클래스의 인스턴스에 속성을 바인딩할 수 있습니다.

속성은 개체의 데이터 또는 기능 요소입니다. 예를 들어, 학생 카테고리의 학생 이름, 학생 번호 및 기타 정보입니다.

"위치속성식별방식"을 통해 접속합니다.

Python은 동적 언어이므로 클래스를 기반으로 생성된 인스턴스를 속성에 임의로 바인딩할 수 있습니다. 속성을 인스턴스에 바인딩하는 방법은 인스턴스 변수를 통하거나 self 변수를 통하는 것입니다.

>>> bart.name = 'xlp'        # 动态给变量绑定属性
>>> bart.name
'xlp'

속성은 어떻게 바인딩되나요? __init__() 인스턴스 메서드.
인스턴스가 생성되면 Python은 __init__() 메서드가 구현되었는지 확인합니다. 이 메서드가 정의되지 않으면 특정 작업이 인스턴스에 적용되지 않습니다. 특별한 작업이 필요한 경우 메서드를 직접 사용자 정의해야 합니다. . 즉, __init()__는 기본값이든 사용자 정의이든 자동으로 호출됩니다.

__init__(self)

1. 이 메소드의 첫 번째 매개변수는 항상 self이며, self는 생성된 인스턴스 자체를 가리킵니다.

2. 이 메소드를 통해 속성은 self가 가리키는 인스턴스에 바인딩됩니다. 3. __init__() 메서드는 None을 반환합니다.

4 이 메서드에서는 기본 매개변수와 위치 매개변수를 설정할 수 있습니다. 인스턴스를 생성할 때 빈 매개변수를 전달할 수 없습니다. 메서드와 일치하는 매개변수를 전달해야 하지만 self는 전달할 필요가 없습니다. 기본 매개변수는 필요에 따라 전달됩니다.

세 번째 사항: 자동 생성 인스턴스 호출 후 인스턴스 객체가 반환되기 때문에 생성자 __init__()가 정의된 경우 어떤 객체도 반환해서는 안 됩니다. 그렇지 않으면 충돌이 발생할 수 있으며 인스턴스만 반환될 수 있습니다. None 이외의 객체를 반환하려고 하면 TypeError 오류가 보고됩니다.

Python 객체 지향 프로그래밍의 클래스와 인스턴스에 대한 간략한 설명(예제 포함)인스턴스 속성 보기: dir()

내장 함수 dir(class_name)을 통해 클래스의 속성을 볼 수 있습니다. 예를 들어 : dir(학생1). 인스턴스의 속성에 액세스할 수도 있습니다. 인쇄해서 직접 확인해 보세요~


위 내용은 Python 객체 지향 프로그래밍의 클래스와 인스턴스에 대한 간략한 설명(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault思否에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
파이썬 어레이에 어떤 데이터 유형을 저장할 수 있습니까?파이썬 어레이에 어떤 데이터 유형을 저장할 수 있습니까?Apr 27, 2025 am 12:11 AM

PythonlistsCanstoreAnyDatAtype, ArrayModuLearRaysStoreOneType 및 NUMPYARRAYSAREFORNUMERICALPUTATION.1) LISTSAREVERSATILEBUTLESSMEMORY-EFFICENT.2) ARRAYMODUERRAYRAYRAYSARRYSARESARESARESARESARESARESAREDOREDORY-UNFICEDONOUNEOUSDATA.3) NumpyArraysUraysOrcepperperperperperperperperperperperperperperperferperferperferferpercient

파이썬 어레이에 잘못된 데이터 유형의 값을 저장하려고하면 어떻게됩니까?파이썬 어레이에 잘못된 데이터 유형의 값을 저장하려고하면 어떻게됩니까?Apr 27, 2025 am 12:10 AM

whenyouattempttoreavalueofthewrongdatatypeinapythonaphonarray, thisiSdueTotheArrayModule의 stricttyPeenforcement, theAllElementStobeofthesAmetypecified bythetypecode.forperformancersassion, arraysaremoreficats the thraysaremoreficats thetheperfication the thraysaremorefications는

Python Standard Library의 일부는 무엇입니까? 목록 또는 배열은 무엇입니까?Python Standard Library의 일부는 무엇입니까? 목록 또는 배열은 무엇입니까?Apr 27, 2025 am 12:03 AM

Pythonlistsarepartoftsandardlardlibrary, whileraysarenot.listsarebuilt-in, 다재다능하고, 수집 할 수있는 반면, arraysarreprovidedByTearRaymoduledlesscommonlyusedDuetolimitedFunctionality.

스크립트가 잘못된 파이썬 버전으로 실행되는지 확인해야합니까?스크립트가 잘못된 파이썬 버전으로 실행되는지 확인해야합니까?Apr 27, 2025 am 12:01 AM

thescriptIsrunningwithHongpyThonversionDueCorRectDefaultTerpretersEttings.tofixThis : 1) checktheDefaultPyThonVersionUsingPyThon-VersionorPyThon3- version.2) usvirtual-ErondmentsBythePython.9-Mvenvmyenv, 활성화, 및 파괴

파이썬 어레이에서 수행 할 수있는 일반적인 작업은 무엇입니까?파이썬 어레이에서 수행 할 수있는 일반적인 작업은 무엇입니까?Apr 26, 2025 am 12:22 AM

PythonArraysSupportVariousOperations : 1) SlicingExtractsSubsets, 2) 추가/확장 어드먼트, 3) 삽입 값 삽입 ATSpecificPositions, 4) retingdeletesElements, 5) 분류/ReversingChangesOrder 및 6) ListsompectionScreateNewListSbasedOnsistin

어떤 유형의 응용 프로그램에서 Numpy Array가 일반적으로 사용됩니까?어떤 유형의 응용 프로그램에서 Numpy Array가 일반적으로 사용됩니까?Apr 26, 2025 am 12:13 AM

NumpyArraysareSentialplosplicationSefficationSefficientNumericalcomputationsanddatamanipulation. Theyarcrucialindatascience, MachineLearning, Physics, Engineering 및 Financeduetotheiribility에 대한 handlarge-scaledataefficivally. forexample, Infinancialanyaly

파이썬의 목록 위의 배열을 언제 사용 하시겠습니까?파이썬의 목록 위의 배열을 언제 사용 하시겠습니까?Apr 26, 2025 am 12:12 AM

UseanArray.ArrayOveralistInpyThonWhendealingwithhomogeneousData, Performance-CriticalCode, OrinterFacingwithCcode.1) HomogeneousData : ArraysSaveMemorywithtypepletement.2) Performance-CriticalCode : arraysofferbetterporcomanceFornumericalOperations.3) Interf

모든 목록 작업은 배열에 의해 지원됩니까? 왜 또는 왜 그렇지 않습니까?모든 목록 작업은 배열에 의해 지원됩니까? 왜 또는 왜 그렇지 않습니까?Apr 26, 2025 am 12:05 AM

아니요, NOTALLLISTOPERATIONARESUPPORTEDBYARRARES, andVICEVERSA.1) ArraySDONOTSUPPORTDYNAMICOPERATIONSLIKEPENDORINSERTWITHUTRESIGING, WHITHIMPACTSPERFORMANCE.2) ListSDONOTEECONSTANTTIMECOMPLEXITEFORDITITICCESSLIKEARRAYSDO.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

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

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음