Object Oriented Programming in Python | Set 2 (Data Hiding and Object Printing) Last Updated : 07 Jun, 2022 Comments Improve Suggest changes Like Article Like Report Prerequisite: Object-Oriented Programming in Python | Set 1 (Class, Object and Members) Data hiding In Python, we use double underscore (Or __) before the attributes name and those attributes will not be directly visible outside. Python class MyClass: # Hidden member of MyClass __hiddenVariable = 0 # A member method that changes # __hiddenVariable def add(self, increment): self.__hiddenVariable += increment print (self.__hiddenVariable) # Driver code myObject = MyClass() myObject.add(2) myObject.add(5) # This line causes error print (myObject.__hiddenVariable) Output : 2 7 Traceback (most recent call last): File "filename.py", line 13, in print (myObject.__hiddenVariable) AttributeError: MyClass instance has no attribute '__hiddenVariable' In the above program, we tried to access a hidden variable outside the class using an object and it threw an exception.We can access the value of a hidden attribute by a tricky syntax: Python # A Python program to demonstrate that hidden # members can be accessed outside a class class MyClass: # Hidden member of MyClass __hiddenVariable = 10 # Driver code myObject = MyClass() print(myObject._MyClass__hiddenVariable) Output : 10 Private methods are accessible outside their class, just not easily accessible. Nothing in Python is truly private; internally, the names of private methods and attributes are mangled and unmangled on the fly to make them seem inaccessible by their given names [See this for source ]. Printing Objects Printing objects give us information about objects we are working with. In C++, we can do this by adding a friend ostream& operator << (ostream&, const Foobar&) method for the class. In Java, we use toString() method.In python, this can be achieved by using __repr__ or __str__ methods. Python class Test: def __init__(self, a, b): self.a = a self.b = b def __repr__(self): return "Test a:%s b:%s" % (self.a, self.b) def __str__(self): return "From str method of Test: a is %s," \ "b is %s" % (self.a, self.b) # Driver Code t = Test(1234, 5678) print(t) # This calls __str__() print([t]) # This calls __repr__() Output : From str method of Test: a is 1234,b is 5678 [Test a:1234 b:5678] Important Points about Printing: If no __str__ method is defined, print t (or print str(t)) uses __repr__. Python class Test: def __init__(self, a, b): self.a = a self.b = b def __repr__(self): return "Test a:%s b:%s" % (self.a, self.b) # Driver Code t = Test(1234, 5678) print(t) Output : Test a:1234 b:5678If no __repr__ method is defined then the default is used. Python class Test: def __init__(self, a, b): self.a = a self.b = b # Driver Code t = Test(1234, 5678) print(t) Output : <__main__.Test instance at 0x7fa079da6710> Comment More infoAdvertise with us Next Article Object Oriented Programming in Python | Set 2 (Data Hiding and Object Printing) kartik Follow Improve Article Tags : Python Computer Science Fundamentals Practice Tags : python Similar Reads Python Tutorial | Learn Python Programming Language Python Tutorial â Python is one of the most popular programming languages. Itâs simple to use, packed with features and supported by a wide range of libraries and frameworks. Its clean syntax makes it beginner-friendly.Python is:A high-level language, used in web development, data science, automatio 10 min read Python Interview Questions and Answers Python is the most used language in top companies such as Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify and many more because of its simplicity and powerful libraries. To crack their Online Assessment and Interview Rounds as a Python developer, we need to master important Pyth 15+ min read Python OOPs Concepts Object Oriented Programming is a fundamental concept in Python, empowering developers to build modular, maintainable, and scalable applications. By understanding the core OOP principles (classes, objects, inheritance, encapsulation, polymorphism, and abstraction), programmers can leverage the full p 11 min read Types of Network Topology Network topology refers to the arrangement of different elements like nodes, links, or devices in a computer network. Common types of network topology include bus, star, ring, mesh, and tree topologies, each with its advantages and disadvantages. In this article, we will discuss different types of n 12 min read Python Projects - Beginner to Advanced Python is one of the most popular programming languages due to its simplicity, versatility, and supportive community. Whether youâre a beginner eager to learn the basics or an experienced programmer looking to challenge your skills, there are countless Python projects to help you grow.Hereâs a list 10 min read Python Exercise with Practice Questions and Solutions Python Exercise for Beginner: Practice makes perfect in everything, and this is especially true when learning Python. If you're a beginner, regularly practicing Python exercises will build your confidence and sharpen your skills. To help you improve, try these Python exercises with solutions to test 9 min read Java Exception Handling Exception handling in Java allows developers to manage runtime errors effectively by using mechanisms like try-catch block, finally block, throwing Exceptions, Custom Exception handling, etc. An Exception is an unwanted or unexpected event that occurs during the execution of a program, i.e., at runt 10 min read Python Programs Practice with Python program examples is always a good choice to scale up your logical understanding and programming skills and this article will provide you with the best sets of Python code examples.The below Python section contains a wide collection of Python programming examples. These Python co 11 min read Enumerate() in Python enumerate() function adds a counter to each item in a list or other iterable. It turns the iterable into something we can loop through, where each item comes with its number (starting from 0 by default). We can also turn it into a list of (number, item) pairs using list().Let's look at a simple exam 3 min read Python Data Types Python Data types are the classification or categorization of data items. It represents the kind of value that tells what operations can be performed on a particular data. Since everything is an object in Python programming, Python data types are classes and variables are instances (objects) of thes 9 min read Like