Home >Backend Development >Python Tutorial >How Does Python Handle Variable Declaration and Assignment?
Python Variable Declaration
Understanding Python Variable Assignment
Contrary to traditional programming languages, Python does not explicitly declare variables. Instead, it relies on assignment, where a name on the left-hand side refers to the evaluation result on the right-hand side. This process is known as naming.
Defining Class Attributes
Everything declared within a class block, including functions (methods) and other names, becomes attributes of the class. For example, in the following class:
<code class="python">class Example: data = 42 def method(self): pass</code>
data and method are both attributes of the class Example.
Creating Objects and Initializing Attributes
When an object is created as an instance of a class, its attributes are initially set to the class's values. To initialize instance-specific values, use the init method, which is automatically called during object creation. For instance:
<code class="python">class Example: name = "Ignored" def __init__(self, name): self.name = name x = Example("Bob")</code>
Here, the name attribute of the x object is initialized with the value "Bob".
Object Initialization vs Variable Declaration
Note that init serves for object initialization, not variable declaration. In Python, variables do not have types associated with them, and names can refer to objects of any type.
Mutability and Assignment
In Python, strings are immutable, meaning they cannot be modified. If you assign a new value to a string, a new string object is created. On the other hand, lists are mutable, allowing their contents to be modified. This distinction affects how class attributes are used.
For instance, if a class has a list attribute, modifying it through an instance will affect all instances. However, modifying a string attribute through an instance will not affect other instances.
The above is the detailed content of How Does Python Handle Variable Declaration and Assignment?. For more information, please follow other related articles on the PHP Chinese website!