Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Protected | Encapsulation
In-Depth Python OOP

bookProtected

The protected access modifier can be used in the global scope, but it is generally considered to be a bad practice. IDEs typically hide protected attributes and methods from outside the class, which can hinder autocomplete and code correction.

1234567891011121314151617
class SomeClass(): first = "Something" _attribute = "Protected" def _method(self): print("You should use protected inside the class") def info(self): print("INFO") print("first:", self.first) print("_attribute:", self._attribute) self._method() instance = SomeClass() print("Outside:", instance._attribute) # BAD PRACTICE instance.info() # It's OK
copy

You can use protected attributes and methods inside subclasses.

123456789
class User: _entity = "Internet User" class Admin(User): def print_entity(self): print(self._entity) admin = Admin() admin.print_entity()
copy

The protected access modifier allows you to define logic inside a class that can be extended to subclasses but should not be accessed directly from outside the class hierarchy.

Note

Protected attributes/methods in Python work similarly to regular attributes/methods, but by convention among developers, they are used for encapsulating data within a class and its subclasses.

question mark

How to define protected attribute?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 3

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Suggested prompts:

Ask me questions about this topic

Summarize this chapter

Show real-world examples

bookProtected

Swipe to show menu

The protected access modifier can be used in the global scope, but it is generally considered to be a bad practice. IDEs typically hide protected attributes and methods from outside the class, which can hinder autocomplete and code correction.

1234567891011121314151617
class SomeClass(): first = "Something" _attribute = "Protected" def _method(self): print("You should use protected inside the class") def info(self): print("INFO") print("first:", self.first) print("_attribute:", self._attribute) self._method() instance = SomeClass() print("Outside:", instance._attribute) # BAD PRACTICE instance.info() # It's OK
copy

You can use protected attributes and methods inside subclasses.

123456789
class User: _entity = "Internet User" class Admin(User): def print_entity(self): print(self._entity) admin = Admin() admin.print_entity()
copy

The protected access modifier allows you to define logic inside a class that can be extended to subclasses but should not be accessed directly from outside the class hierarchy.

Note

Protected attributes/methods in Python work similarly to regular attributes/methods, but by convention among developers, they are used for encapsulating data within a class and its subclasses.

question mark

How to define protected attribute?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 3
some-alt