Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

self in python

"""

Before potentially reading along I highly suggest you master how to
use parameters and arguments in python because if you haven't this can
get confusing. Otherwise read along:

The self argument is most frequently used in the __init__ function.

The __init__ function is a constructor function meaning that it 
constructs objects in a class.

This is part of the object oriented programming (OOP) branch.

In this example ill be creating a person with values of name, gender and
age.

What 'self' essentailly is, is the class, so when referring to 'self'
you are refering to values in a class.

So 'self.age = age' is just adding a variable in the
class which has the same value as 'age'.

"""

# Creating the class
class Person:
  # Creating the constructor method
  def __init__(self, name, age, gender):
    # defining variables
    self.name = name
    self.age = age
    self.gender = male

# Creating Objects 
Person1 = Person("Isabella", 27, "female")
Person2 = Person("Mikkel", 29, "male")

# Creating a list of people:
People = [ Person1, Person2 ]

"""

You can now use the list of people to well.. list people and their
details.

You could make a table of people by making the array 2 dimensional
which can eventually lead to a database, 
but this isn't a post to get into that.

"""
"""

Thats essentially how to use constructors, you're creating an object
relative to topic per se. More examples / usages:

"""

class Person:
  def __init__(self, name, age, gender):
    # The 3 arguments can only be used within this function
    # So you must attach it to the class using 'self'
    self.name = name
    self.age = age
    self.gender = gender
  
  def Function(self):
    # To be able to use it all around the class.
    print(self.name)
    print(self.age)

P = Person("Jeff", 27, "male")

P.Function()
# Output:
# >>> Jeff
# >>> 27

#Or

print(P.name)
print(P.age)
# Output:
# >>> Jeff
# >>> 27


"""

So overall this comes to show that self.something is the exact same as
a varible but rather than a global variable or a variable within a
function scope, it's instead a class variable.

So when doing 'self.something' logically you can think of it as:
'class.something'

And thats it. To see a better way of coding the code above you can
carry on reading but although it's not necessary to know.



A better way of calling a class is to use the __call__ method.

This creates an inbuilt constant function within the class that can be
called, rather than creating a function as above.

"""

class Person:
  
  def __init__(self, name, age, gender):
    self.name=name
    self.age=age
    self.gender=gender
   
  def __call__(self):
    print(self.name)
    print(self.age)

# Creating the object
P = Person("Jeff", 27, "male")

# Calling the call function:
P()
# Output:
# >>> Jeff
# >>> 27

# This makes everything much neater and compact.

# Have a wonderful day :)
Comment

what is self in python

self is used to refer to the specific object that is calling that function
Comment

why to use self in python

By using the “self” keyword we can access the attributes 
and methods of the class in python.
It binds the attributes with the given arguments.
self is parameter in function and user can use another parameter 
name in place of it.
But it is advisable to use self because,
it increase the readability of code.
Comment

self in python

class Class(parentClass):
    def __init__(self,arg):
        self.arg = arg
        
    def function(self):
        print(arg)
Comment

self python

class A(object):

    @staticmethod
    def stat_meth():
        print("Look no self was passed")
>>> a = A()
>>> a.stat_meth()
Look no self was passed
Comment

self._ in python

def thing_counter(self, thing):
    length_of_thing = len(thing)
    return length_of_thing
  
  
def thing_counter(self, thing):
    self._length_of_thing = len(thing)
    return self._length_of_thing
Comment

PREVIOUS NEXT
Code Example
Python :: reverse the string in python 
Python :: char in python 
Python :: numpy arange number of elements 
Python :: python create nested dictionary 
Python :: df.rename(index=str, columns={"A": "a", "C": "c"}) what does index=str means 
Python :: python class variables 
Python :: while loop in python for do you want to continue 
Python :: python instagram bot 
Python :: how to run multiple python files one after another 
Python :: python function return function 
Python :: how to slice string in python 
Python :: tkinter filedialog 
Python :: user passes test django 
Python :: how to make a calcukatir 
Python :: python code for twitter scraping using tweepy 
Python :: python return double quotes instead of single 
Python :: python array drop item 
Python :: set index pandas 
Python :: how to generate two random numbers in python 
Python :: how to move an item from one list to another python 
Python :: TypeError: can only concatenate str (not "method") to str 
Python :: from django.urls import path 
Python :: python iterate over instances of class 
Python :: opencv write video 
Python :: expand figure matplotlib 
Python :: analyse des fleurs du mal la vision du baudelaire 
Python :: whole loop in python 
Python :: keylogger to exe 
Python :: taggablemanager serializer django 
Shell :: lumen run command 
ADD CONTENT
Topic
Content
Source link
Name
6+6 =