파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

Python으로 클래스를 작성할 때 종종 용어를 접할 수 있습니다. 'self.'초보자가 Python 프로그래밍 언어의 객체 지향 기능을 더 깊이 파고들 때 이해해야 하는 중요한 개념입니다.

매개 self변수는 클래스의 현재 인스턴스를 나타냅니다. 이를 사용하여 해당 클래스에 속하는 특성 및 메서드에 액세스할 수 있습니다.

self이 Python 자습서에��는 변수가 Python 클래스에서 중추적인 역할을 하는 방법을 살펴봅니다 . 또한 self.

목차

파이썬에서 자기 이해하기

파이썬은 클래스와 객체에 크게 의존하는 객체 지향 프로그래밍(OOP) 언어입니다. 따라서 self매개변수를 살펴보기 전에 먼저 객체 지향 프로그래밍이 무엇인지 이해해야 합니다.

Python의 객체 지향 프로그래밍

파이썬에서 자기란 무엇인가: 실제 사례분필 쓰기 – OOP, 객체 지향 프로그래밍 " data-medium-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg" data- large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" 디코딩="async" 로딩="게으른" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="파이썬에서 자아란 무엇인가?" class="wp-image-206807" width=" 709" height="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w, https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" 크기="(최대 너비: 709px) 100vw, 709px">

객체 지향 프로그래밍은 프로그래머가 클래스와 객체를 사용하여 실제 개념과 관계를 모델링하는 데 도움이 됩니다. 그 결과 더 구조화되고 재사용 가능하며 확장 가능한 코드가 생성됩니다.

클래스를 미리 정의된 속성 및 메서드가 있는 개체를 만들기 위한 템플릿으로 생각하십시오. 또한 객체는 속성에 대한 자체 값을 저장하고 클래스 함수에 액세스할 수 있는 클래스의 인스턴스입니다.

이 두 개념은 많은 Python 응용 프로그램 에서 중요한 빌딩 블록입니다 . Python Faker Library로 데이터를 쉽게 생성하는 방법에 대한 이 비디오에서 작업 중인 클래스와 개체를 모두 볼 수 있습니다.

Python Self의 역할

Self Python에서 클래스의 인스턴스에 대한 참조입니다. 자체 범위 내에서 클래스의 특성 및 메서드에 액세스하고 수정할 수 있습니다.

self 다음은 Python에서 사용에 대한 몇 가지 핵심 사항입니다 .

  • SelfPython 구문에서 예약된 키워드가 아닙니다 . 다른 이름을 사용하여 클래스 인스턴스를 식별할 수 있지만 selfPython 프로그래머가 가장 널리 사용하고 허용하는 규칙입니다.
  • Self클래스의 현재 인스턴스를 참조하기 위해 인스턴스 메소드의 첫 번째 매개변수로 사용됩니다.
  • 를 사용하여 self인스턴스 속성과 로컬 변수를 구별하여 코드를 더 읽기 쉽고 버그가 적게 만들 수 있습니다.
  • 인스턴스 메서드를 호출할 때 Python은 자동으로 인스턴스를 첫 번째 매개 변수로 전달합니다.
  • 클래스의 생성자 및 기타 모든 후속 함수 생성자에서 self매개 변수를 선언해야 합니다 . __init__() 그렇게 하지 않으면 프로그램에서 typeerror.

    아래에서 이 오류의 예를 볼 수 있습니다.

class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given

참고:self Python 3에서 제공하는 정적 메서드 기능을 사용하여 함수에서 매개 변수를 사용하여 우회할 수 있습니다 . 이에 대해서는 이후 섹션에서 자세히 살펴보겠습니다.

자기 작업

파이썬에서 자기란 무엇인가: 실제 사례

사용 방법을 배우는 것은 self 파이썬에서 클래스를 구축하는 데 매우 중요합니다. self 이 섹션 전체에서 클래스 및 개체로 작업할 때 다양한 시나리오에서 사용하는 방법을 배웁니다 .

'__init__()'로 객체 초기화하기

파이썬에서 자기란 무엇인가: 실제 사례

클래스의 새 인스턴스를 만들 때 __init__() 개체의 특성을 초기화하기 위해 메서드가 호출됩니다. 메서드 __init__() 는 클래스 생성자이며 매개 self 변수를 첫 번째 인수로 사용합니다.

매개 self변수는 이 메소드 내에서 인스턴스 속성을 지정된 인수와 연관시키는 데 사용됩니다.

예를 들면 다음과 같습니다.

class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)

이 예제에서 메서드는 개체 초기화 중에 매개 변수로 , 및 를 사용합니다 . 이 매개변수는 클래스 인스턴스를 참조하므로 작성 중인 특정 객체에 대한 및 속성을 설정할 수 있습니다 . init selfnameageself nameage

메서드에서 Self 사용

클래스에서 인스턴스 메서드를 정의할 때 self 첫 번째 매개변수로 포함해야 합니다. 이렇게 하면 클래스 내의 인스턴스 특성 및 기타 메서드에 액세스할 수 있습니다.

이전 예제를 확장해 보겠습니다.

class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()

이 예에서 메서드는 첫 번째 매개변수로 를 introduce()포함합니다 . self이를 통해 개체의 이름 및 나이 속성에 액세스하고 개인화된 소개를 만들 수 있습니다.

코드에서 메서드를 호출할 때 매개 변수를 명시적으로 전달할 필요가 없습니다 self . Python이 자동으로 처리합니다.

이러한 지침을 따르고 Pythonself 의 목적을 이해함으로써 초보자는 클래스 및 개체를 효과적으로 사용할 수 있습니다. 이를 통해 읽기 쉽고 유지 관리하기 쉬운 잘 구성된 코드를 만들 수 있습니다.

일반적인 자체 사용 사례

파이썬에서 자기란 무엇인가: 실제 사례

Python 코드에서 키워드를 사용할 수 있는 방법에는 여러 가지가 있습니다 . 이러한 사용 사례를 이해하면 프로그램에서 효과적으로 활용할 수 있습니다 . self self

그들 중 일부를 살펴 보겠습니다.

클래스 속성에 접근하기

의 주요 용도 중 하나는 self클래스 내의 인스턴스 속성에 액세스하는 것입니다. 인스턴스 속성은 클래스에서 생성된 객체에 고유하며 객체의 데이터를 저장합니다.

를 사용하면 self클래스 메서드 내에서 이러한 특성을 조작하거나 액세스할 수 있습니다. 예를 살펴보겠습니다.

class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)

self 이 예제에서는 메서드 내에서 Dog 개체의 이름 특성에 액세스하는 데 사용했습니다 display_name .

클래스 메서드 호출

의 또 다른 일반적인 사용 사례는 self인스턴스 메서드 내에서 다른 클래스 메서드를 호출하는 것입니다. 이를 통해 코드를 재사용하고 복잡성을 줄이며 가독성을 높일 수 있습니다.

self특정 인스턴스에 대해 올바른 메서드가 호출되도록 보장하므로 다른 메서드를 참조할 때 사용하는 것이 중요합니다 . 다음 예를 고려하십시오.

class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)

위의 예에서는 메서드 내에서 메서드를 self호출하는 데 사용합니다 . 이를 통해 한 번의 호출로 새의 종과 색상을 표시할 수 있습니다.show_speciesshow_info

self마지막으로 인스턴스 속성에 액세스하고 클래스 메소드를 호출할 때 사용하는 것을 잊지 마십시오 . 이러한 사용 사례를 이해하면 보다 효율적이고 체계적인 Python 코드를 작성할 수 있습니다.

모범 사례

파이썬에서 자기란 무엇인가: 실제 사례

작업할 때 self,코드의 문제와 버그를 방지하기 위해 따라야 하는 몇 가지 규칙이 있습니다. 다음은 그 중 일부입니다.

셀프 사용처

인스턴스 메소드를 정의할 때 항상 self매개변수를 첫 번째 매개변수로 사용하십시오. 이를 통해 개체의 인스턴스 특성에 액세스 및 수정하고 클래스 내에서 다른 인스턴스 메서드를 호출할 수 있습니다.

Python에서 객체 인스턴스로 작업할 때 사용하는 것이 중요합니다 self. 이를 사용하면 일관된 동작을 보장하고 적절한 개체 캡슐화가 가능합니다.

예를 들어 다음 클래스를 고려하십시오.

class MyClass: def __init__(self, my_var): self.my_var = my_var

여기서 self 매개변수는 객체 인스턴스의 속성을 __init__ 초기화하는 메서드 에서 사용됩니다. my_var 이렇게 하면 인스턴스별 특성이 됩니다. my_var

결과적으로 클래스의 다른 메서드에서 자체 참조를 사용하여 액세스하고 수정할 수 있습니다.

자신의 명명 규칙

는 Python에서 인스턴스에 사용되는 일반적인 이름 이지만 self기술적으로는 원하는 이름을 사용할 수 있습니다. 그러나 보다 광범위한 Python 커뮤니티와의 명확성과 일관성을 위해 self를 계속 사용하는 것이 좋습니다.

다른 이름을 사용하면 특히 Python 라이브러리의 표준 명명 규칙에 익숙한 경우 코드를 읽고 작업하는 사람들에게 혼란을 줄 수 있습니다.

셀프를 사용하지 말아야 할 곳

우리는 이미 self매개변수가 개체 인스턴스에 대한 액세스를 제공한다는 것을 알고 있습니다. 그러나 경우에 따라 클래스의 일부 함수는 개체 인스턴스에 대한 액세스가 필요하지 않을 수 있습니다.

이 시나리오에서는 self 매개변수가 필요하지 않습니다. 따라서 Python은 self 매개 변수를 우회하기 위한 정적 메서드 기능을 제공합니다.

예를 들면 다음과 같습니다.

class Car: @staticmethod def print_car(): print('Vroom Vroom')

위의 예에서 함수 데코레이터는 메서드의 매개 변수 요구 사항을 @staticmethod재정의합니다 . self이렇게 하면 전달된 개체 인스턴스가 없더라도 함수가 계속 실행됩니다.

결론

파이썬에서 자기란 무엇인가: 실제 사례

요약하면 Python의 self 매개변수는 클래스의 인스턴스를 참조하고 속성과 메서드에 액세스할 수 있도록 합니다. Python 개발자로서 self의 목적과 클래스 및 개체에서의 용도를 이해하는 것이 중요합니다.

코드에서 self를 일관되게 사용하면 가독성과 유지 관리가 향상되어 작업의 전반적인 품질이 향상됩니다.

또한 Python에서 자주 사용되는 용어를 볼 수 있지만 "self"예약된 Python 키워드는 아닙니다. 이는 예약어인 Javascript 및 Java 와 같은 프로그래밍 언어와 다릅니다."this"

원하는 대로 클래스 메서드의 첫 번째 매개변수 이름을 지정할 수 있습니다. " self" 는 선호되는 규칙일 뿐입니다.

self는 Python의 키워드입니까? 

Python 프로그래머들 사이에 항상 맴도는 질문이 있습니다. self는 실제로 Python의 키워드입니까? 

self가 키워드로 간주되는 C++와 같은 다른 프로그래밍 언어와 달리 Python에서는 프로그래머가 따르는 경향이 있습니다. 기본적으로 메소드 정의의 매개변수입니다. 하지만 본인 대신 다른 또는 나 

이해를 돕기 위해 예를 들어보겠습니다. 

class myClass:   def show(another):   print("self 대신 another이 사용됩니다.")  

이 코드를 Python 클래스 자체 생성자의 코드와 비교해 보면 여기서는 다른 이름을 사용했음을 알 수 있습니다. 자신의 장소. 이제 이 클래스의 객체를 생성하고 출력을 살펴보겠습니다. 

객체 = myClass()   object.show()

self 변수 대신 다른 이름을 사용해도 프로그램이 작동하는 것을 볼 수 있습니다. 이는 self 변수와 정확히 동일한 방식으로 작동합니다. 


SharePoint의 계산된 열 | 개요

SharePoint의 계산된 열 | 개요

SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.

Power Apps에서 변수 만들기: 컬렉션 작업

Power Apps에서 변수 만들기: 컬렉션 작업

컬렉션 변수를 사용하여 Power Apps에서 변수 만드는 방법 및 유용한 팁에 대해 알아보세요.

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거가 수행할 수 있는 작업과 Microsoft Power Automate의 예를 사용하여 이를 사용하는 방법을 알아보고 이해하십시오!

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름 및 용도에 대해 자세히 알아보세요. 다양한 작업 및 시나리오에 사용할 수 있는 다양한 유형의 흐름에 대해 설명합니다.

흐름에서 Power Automate 종료 작업 제어

흐름에서 Power Automate 종료 작업 제어

조건이 충족되지 않는 경우 흐름에서 작업을 종료하는 Power Automate 종료 작업 컨트롤을 올바르게 사용하는 방법을 알아봅니다.

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 실행 기능에 대해 자세히 알아보고 자신의 앱에서 바로 웹사이트, 전화, 이메일 및 기타 앱과 같은 기타 서비스를 실행하십시오.

Power Automate의 HTTP 요청 – 소개

Power Automate의 HTTP 요청 – 소개

타사 애플리케이션 통합과 관련하여 Power Automate의 HTTP 요청이 작동하는 방식을 배우고 이해합니다.

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop에서 Send Mouse Click을 사용하는 방법을 알아보고 이것이 어떤 이점을 제공하고 흐름 성능을 개선하는지 알아보십시오.

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수의 작동 방식, 다양한 종류, 각 변수가 앱에 기여할 수 있는 사항을 알아보세요.

Power Automate에서 실행할 데스크톱 흐름 예약

Power Automate에서 실행할 데스크톱 흐름 예약

이 자습서에서는 Power Automate를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.