Python 变量

Python 变量

在本教程中,您将了解Python中的变量是什么以及如何使用它们。

属于不同数据类型的数据项存储在计算机的内存中。计算机的内存位置具有一个数字或地址,在内部以二进制形式表示。数据也以二进制形式存储,因为计算机工作的原则是二进制表示。在下面的图表中,字符串 May 和数字 18 显示为存储在内存位置中的内容。

Python 变量

如果您了解汇编语言,您将会将这些数据项和内存地址转换为机器语言指令。然而,这对每个人来说都不容易。诸如Python解释器之类的语言翻译器执行这种类型的转换。它将对象存储在随机选择的内存位置中。Python的内置 id() 函数返回对象存储的地址。

>>> "May"
>>> id("May")
2167264641264
>>> 18
18
>>> id(18)
140714055169352

一旦数据存储在内存中,就应该重复访问以执行某个过程。显然,根据其ID提取数据是繁琐的。像Python这样的高级语言使得可以给予适当的别名或标签来引用内存位置。

在上述示例中,让我们将五月的位置标记为month,将存储18的位置标记为age。Python使用赋值运算符(=)将对象与标签绑定。

>>> month="May"
>>> age=18

数据对象(May)和它的名字(月份)具有相同的id()。18和年龄的id()也是相同的。

>>> id(month)
2167264641264
>>> id(age)
140714055169352

标签是一个标识符。通常被称为变量。Python变量是一个符号名称,是一个引用或指向一个对象的指针。

Python变量 – 命名规则

变量的名称是用户指定的,并且遵循标识符形成规则。

  • Python变量的名称应以字母(小写或大写)或下划线(_)开头。可以跟随一个以上的字母数字字符或下划线。

  • 不允许使用任何关键字作为Python变量,因为关键字具有预定义的含义。

  • 在Python中,变量的名称是大小写敏感的。所以,age和Age不能互换使用。

  • 应选择具有助记作用的变量名称,以表示其目的。它不应该太短,但也不应该太长。

如果变量的名称包含多个单词,我们应该使用以下命名模式 –

  • 驼峰式命名法 - 第一个字母小写,但后续每个单词的第一个字母大写。例如:kmPerHour,pricePerLitre

  • 帕斯卡命名法 - 每个单词的第一个字母大写。例如:KmPerHour,PricePerLitre

  • 蛇形命名法 - 使用单个下划线(_)字符来分隔单词。例如:km_per_hour,price_per_litre

一旦使用变量来标识数据对象,就可以重复使用它而不需要其id()值。在这里,我们有一个矩形的高度和宽度的变量。我们可以使用这些变量计算面积和周长。

>>> width=10
>>> height=20
>>> area=width*height
>>> area
200
>>> perimeter=2*(width+height)
>>> perimeter
60

使用变量在编写脚本或程序时特别有优势。以下脚本也使用了上述变量。

#! /usr/bin/python3.11
width = 10
height = 20
area = width*height
perimeter = 2*(width+height)
print ("Area = ", area)
print ("Perimeter = ", perimeter)

将上面的脚本保存为.py扩展名,并在命令行中执行。结果将如下:

Area = 200
Perimeter = 60

Python变量 – 赋值语句

在像C/C++和Java这样的语言中,需要在赋值之前声明变量和变量类型。在Python中,不需要提前声明变量。

Python使用=符号作为赋值运算符。变量标识符的名称出现在=符号的左侧。对其右侧的表达式进行评估,并将值赋给变量。以下是赋值语句的示例:

>>> counter = 10
>>> counter = 10 # integer assignment
>>> price = 25.50 # float assignment
>>> city = "Hyderabad" # String assignment
>>> subjects = ["Physics", "Maths", "English"] # List assignment
>>> mark_list = {"Rohit":50, "Kiran":60, "Lata":70} # dictionary
assignment

Python的内建 print() 函数会显示一个或多个变量的值。

>>> print (counter, price, city)
10 25.5 Hyderabad
>>> print (subjects)
['Physics', 'Maths', 'English']
>>> print (mark_list)
{'Rohit': 50, 'Kiran': 60, 'Lata': 70}

等号右边的任何表达式的值都会赋给等号左边的变量。

>>> x = 5
>>> y = 10
>>> z = x+y

然而,=运算符的左侧表达式和右侧变量是不允许的。

>>> x = 5
>>> y = 10
>>> x+y=z
   File "<stdin>", line 1
   x+y=z
   ^^^
SyntaxError: cannot assign to expression here. Maybe you meant '=='
instead of '='?

虽然在数学中z=x+y和x+y=z是等价的,但在这里不是这样的。这是因为=是一个方程符号,而在Python中它是一个赋值操作符。

Python变量 – 多重赋值

在Python中,你可以在同一语句中初始化多个变量。在下面的情况中,三个变量有相同的值。

>>> a=10
>>> b=10
>>> c=10

而不是分开的任务,你可以在一个单一的任务语句中完成,如下所示 –

>>> a=b=c=10
>>> print (a,b,c)
10 10 10

在以下案例中,我们有三个具有不同值的变量。

>>> a=10
>>> b=20
>>> c=30

这些单独的赋值语句可以合并在一起。在等号操作符的左侧给出逗号分隔的变量名称,并在等号操作符的右侧给出逗号分隔的值。

>>> a,b,c = 10,20,30
>>> print (a,b,c)
10 20 30

在Python中,变量的概念与C/C++中有所不同。

在C/C++中,一个变量是一个命名的内存位置。如果a=10且b=10,那么它们是两个不同的内存位置。假设它们的内存地址分别是100和200。

Python 变量

如果将不同的值赋给“a”-比如50,10,地址为100的值将被覆盖。

Python 变量

Python变量指的是对象,而不是内存位置。一个对象只在内存中存储一次。多个变量实际上是对同一个对象的多个标签。

Python 变量

语句a=50在内存的其他位置上创建一个新的 int 对象50,仍然保留了由“b”引用的对象10。

Python 变量

此外,如果你将b赋予其他值,对象10将保持未被引用。

Python 变量

Python的垃圾回收机制释放了任何未引用对象占用的内存。

Python的身份运算符 is 在两个操作数具有相同的id()值时返回True。

>>> a=b=10
>>> a is b
True
>>> id(a), id(b)
(140731955278920, 140731955278920)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程