Python call attribute by string

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    Attributes of a class are function objects that define corresponding methods of its instances. They are used to implement access controls of the classes.
    Attributes of a class can also be accessed using the following built-in methods and functions :

    1. getattr() – This function is used to access the attribute of object.
    2. hasattr() – This function is used to check if an attribute exist or not.
    3. setattr() – This function is used to set an attribute. If the attribute does not exist, then it would be created.
    4. delattr() – This function is used to delete an attribute. If you are accessing the attribute after deleting it raises error “class has no attribute”.

    The following methods are explained with the example given below :

    class emp: 

        name='Harsh'

        salary='25000'

        def show(self): 

            print (self.name) 

            print (self.salary) 

    e1 = emp() 

    print (getattr(e1,'name')) 

    print (hasattr(e1,'name')) 

    setattr(e1,'height',152

    print (getattr(e1,'height')) 

    delattr(emp,'salary'

    Output :

    Harsh
    True
    152

    Static methods : A static method is a method[member function] that don’t use argument self at all. To declare a static method, proceed it with the statement “@staticmethod”.

    class test: 

        @staticmethod

        def square(x): 

            test.result = x*

    t1=test() 

    t2 = test() 

    t1.square(2

    print (t1.result) 

    t2.square(3

    print (t2.result) 

    print (t1.result) 

    Output :

    4
    9
    9

    Accessing attributes and methods of one class in another class

    Accessing attributes and methods of one class in another class is done by passing the object of one class to another.
    Explained with the example given below :

    class ClassA(): 

        def __init__(self): 

            self.var1 = 1

            self.var2 = 2

        def methodA(self): 

            self.var1 = self.var1 + self.var2 

            return self.var1 

    class ClassB(ClassA): 

        def __init__(self, class_a): 

            self.var1 = class_a.var1 

            self.var2 = class_a.var2 

    object1 = ClassA() 

    summ = object1.methodA() 

    print (summ) 

    object2 = ClassB(object1) 

    print( object2.var1)

    print (object2.var2) 

    Output :

    3
    3
    2

    How do you access data from a string in Python?

    String Indexing Individual characters in a string can be accessed by specifying the string name followed by a number in square brackets ( [] ). String indexing in Python is zero-based: the first character in the string has index 0 , the next has index 1 , and so on.

    What is __ Getattr __ in Python?

    The __getattr__ function at the module level should accept one argument which is the name of an attribute and return the computed value or raise an AttributeError : def __getattr__(name: str) -> Any: ... If an attribute is not found on a module object through the normal lookup (i.e. object.

    How do you access the attributes of an object?

    Attributes of a class can also be accessed using the following built-in methods and functions : getattr() – This function is used to access the attribute of object. hasattr() – This function is used to check if an attribute exist or not. setattr() – This function is used to set an attribute.

    What are the attributes of string in Python?

    Like many other popular programming languages, strings in Python are arrays of bytes representing unicode characters. However, Python does not have a character data type, a single character is simply a string with a length of 1. Square brackets can be used to access elements of the string.