ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

Understanding the Role of self in Python Class Initialization

What exactly happens when i don't use self key while initialising a variable like m1 inside a class

python

oop

Автор: vlogize

Загружено: 2025-05-17

Просмотров: 0

Описание: Discover why omitting the `self` keyword during variable initialization impacts local and class variable accessibility in Python OOP.
---
This video is based on the question https://stackoverflow.com/q/72690836/ asked by the user 'arin' ( https://stackoverflow.com/u/15962528/ ) and on the answer https://stackoverflow.com/a/72690861/ provided by the user 'The Thonnu' ( https://stackoverflow.com/u/18746959/ ) at 'Stack Overflow' website. Thanks to these great users and Stackexchange community for their contributions.

Visit these links for original content and any more details, such as alternate solutions, latest updates/developments on topic, comments, revision history etc. For example, the original title of the Question was: What exactly happens when i don't use "self" key while initialising a variable like m1 inside a class method. m1 is local,object or class variable?

Also, Content (except music) licensed under CC BY-SA https://meta.stackexchange.com/help/l...
The original Question post is licensed under the 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ) license, and the original Answer post is licensed under the 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ) license.

If anything seems off to you, please feel free to write me at vlogize [AT] gmail [DOT] com.
---
Understanding the Role of self in Python Class Initialization

When starting with Object-Oriented Programming (OOP) in Python, many beginners often stumble upon the concept of the self keyword and its implications for initializing variables within a class. This article addresses a common question that arises during this learning process: What happens when you don't use self while initializing a variable inside a class method, and how does it affect the variable's scope?

The Problem Explained

Let’s examine a simple example using a Student class that initializes two variables. Here's the code in question:

[[See Video to Reveal this Text or Code Snippet]]

When executing this code, you may encounter an error message like:

[[See Video to Reveal this Text or Code Snippet]]

This error suggests that the variable m1 is not recognized as an attribute of the Student class. To understand why this happens, we need to delve into how variable initialization works in Python classes.

Understanding self and Variable Scope

What is self?

In Python, self refers to the instance of the object itself. It is used to access variables and methods of the class instance. When you define an attribute using self, you are ensuring that the variable belongs to the specific instance of the class, rather than being just a local variable.

Impact of Not Using self

When you initialize a variable without self, like this:

[[See Video to Reveal this Text or Code Snippet]]

You are merely creating a local variable m1 within the _init_ method. This variable is temporary and cannot be accessed outside of the method. Hence, once the method execution ends, the local variable is destroyed, and consequently, it can't be referenced later. This means that:

Local Scope: m1 is confined within the _init_ method and cannot be accessed afterwards.

No Attribute Creation: Since you didn't use self, there's no attribute created in the Student instances for m1 or m2.

Correct Way to Initialize Variables

To ensure that variables can be accessed later using the class instances, you should utilize self when assigning them. For example:

[[See Video to Reveal this Text or Code Snippet]]

Why Use self?

Instance Attributes: By using self, the m1 and m2 become instance attributes, meaning they are tied to the individual object you create (like s1 and s2).

Accessibility: You can access these attributes using the dot notation, such as s1.m1 or s2.m2, without encountering errors.

Conclusion

Understanding the difference between local and instance attributes is crucial when working with classes in Python. Always remember to use self when initializing variables if you want to retain access to them after the constructor method finishes. This simple practice helps avoid common errors and improves your proficiency in Python's OOP concepts. By mastering these fundamentals, you can build more complex and effective Python applications.

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Understanding the Role of self in Python Class Initialization

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

Class Methods, Static Methods, & Instance Methods EXPLAINED in Python

Class Methods, Static Methods, & Instance Methods EXPLAINED in Python

What is Scope in Python??

What is Scope in Python??

Уроки Python с нуля / #17 – Основы ООП. Создание класса и объекта

Уроки Python с нуля / #17 – Основы ООП. Создание класса и объекта

OOPs Interview Questions | Object-Oriented Programming Interview Questions And Answers | Intellipaat

OOPs Interview Questions | Object-Oriented Programming Interview Questions And Answers | Intellipaat

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

Basic and simple introduction to F# (functional programming)

Basic and simple introduction to F# (functional programming)

Static vs Non-Static Variables and Methods In Java - Full Simple Tutorial

Static vs Non-Static Variables and Methods In Java - Full Simple Tutorial

4 Hours Chopin for Studying, Concentration & Relaxation

4 Hours Chopin for Studying, Concentration & Relaxation

SUPER() in Python explained! 🔴

SUPER() in Python explained! 🔴

UML class diagrams

UML class diagrams

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]