Featured Post

Python: Built-in Functions vs. For & If Loops – 5 Programs Explained

Image
Python’s built-in functions make coding fast and efficient. But understanding how they work under the hood is crucial to mastering Python. This post shows five Python tasks, each implemented in two ways: Using built-in functions Using for loops and if statements ✅ 1. Sum of a List ✅ Using Built-in Function: numbers = [ 10 , 20 , 30 , 40 ] total = sum (numbers) print ( "Sum:" , total) 🔁 Using For Loop: numbers = [ 10 , 20 , 30 , 40 ] total = 0 for num in numbers: total += num print ( "Sum:" , total) ✅ 2. Find Maximum Value ✅ Using Built-in Function: values = [ 3 , 18 , 7 , 24 , 11 ] maximum = max (values) print ( "Max:" , maximum) 🔁 Using For and If: values = [ 3 , 18 , 7 , 24 , 11 ] maximum = values[ 0 ] for val in values: if val > maximum: maximum = val print ( "Max:" , maximum) ✅ 3. Count Vowels in a String ✅ Using Built-ins: text = "hello world" vowel_count = sum ( 1 for ch in text if ch i...

3 Exclusive Access Modifiers in Python

Here are three access modifiers in Python - Public, Protect, and Private. Access modifiers control the access to a variable/or method. 

You may have a question that does python supports access modifiers? The answer is yes.

In general, all the variables/or methods are public. Which means accessible to other classes. The private and protect access modifiers will have some rules. And the notation for protect and private are different. The single underscore is for protected and the double underscore is for private. Here is how to find Python list frequent items.

Differences between Public, Protect and Private


Here's Why You Need Access Modifiers in Python



Public access modifier

Public variables are accessible outside the class. So in the output, the variables are displayed.

class My_employee:

    def __init__(self, my_name, my_age):
        self.my_name = my_name  #public
        self.my_age = my_age   # public


my_emp = My_employee('Raj',34)
print(my_emp.my_name)
print(my_emp.my_age)

my_emp.my_name = 'Rohan'
print(my_emp.my_name)

Output

Raj
34
Rohan

** Process exited - Return Code: 0 **
Press Enter to exit terminal

Protect access modifier

Method of protection can be accessible within the class and subclass. From child class, you can access it. However, you cannot access it from outside the class. 

class parent:
    def __init__(self):
        pass
    def _test1(self):  # protected
        print("I am in Parent")

class child(parent):
    def __init(self):
        pass
    def test2(self):  
        print("I am in child class")

obj1=child()
obj1._test1()


Output

I am in Parent

** Process exited - Return Code: 0 **
Press Enter to exit terminal

Private access modifier

Below, you will find an error in the output. It is because the method in the parent is private, and the child class tried to access it. The bottom line is only the parent class can access it - not possible even by the subclass, also outside the class.  

class parent:
    def __init__(self):
        pass
    def __test1(self):  #provate
        print("I am in Parent")

class child(parent):
    def __init(self):
        pass
    def test2(self):   
        print("I am in child class")

obj1=child()
obj1.__test1()

Output

Traceback (most recent call last):
  File "main.py", line 14, in <module>
    obj1.__test1()
AttributeError: 'child' object has no attribute '__test1'


** Process exited - Return Code: 1 **
Press Enter to exit terminal

We are restricting the access to methods and variables resulting in prevention of data from direct modification. So, the process of data binding is called encapsulation. It is one of the fundamental concepts in object-oriented programming (OOP).

Comments

Popular posts from this blog

SQL Query: 3 Methods for Calculating Cumulative SUM

5 SQL Queries That Popularly Used in Data Analysis

Big Data: Top Cloud Computing Interview Questions (1 of 4)