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

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

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 변수와 정확히 동일한 방식으로 작동합니다. 


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

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

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

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것