首页 > Python基础教程 阅读:53

Python变量及其使用

< 上一页Python注释 Python变量命名规则下一页 >

无论使用什么语言编程,总要处理数据,处理数据就需要使用变量来保存数据。

形象地看,变量就像一个个小容器,用于“盛装”程序中的数据。常量同样也用于“盛装”程序中的数据。常量与变量的区别是:常量一旦保存某个数据之后,该数据就不能发生改变;但变量保存的数据则可以多次发生改变,只要程序对变量重新赋值即可。

Python 使用等号(=)作为赋值运算符,例如 a = 20 就是一条赋值语句,这条语句用于将 20 装入变量 a 中,这个过程就被称为赋值,即将 20 赋值给变量 a。

Python 是弱类型语言,弱类型语言有两个典型特征:
  1. 变量无须声明即可直接赋值:对一个不存在的变量赋值就相当于定义了一个新变量。
  2. 变量的数据类型可以动态改变:同一个变量可以一会儿被赋值为整数值,一会儿被赋值为字符串。

Python 是弱类型语言

对于没有编程基础的读者,可以先不编写真正的 Python 程序,而是先打开 Python 的交互式解释器,在这个交互式解释器中“试验” Python。

下面先在 Python 解释器中输入如下内容:

>>> a = 5
>>>

上面代码没有生成任何输出,只是向交互式解释器中存入了一个变量 a,该变量 a 的值为 5。

如果我们想看到某个变量的值,可以直接在交互式解释器中输入该变量。例如,此处想看到变量 a 的值,可以直接输入 a。

>> a
5
>>

从上面的交互式过程可以看到,交互式解释器输出变量 a 的值:5。

接下来,如果改变变量 a 的值,只要将新的值赋给(装入)变量 a 即可,新赋的值会覆盖原来的值。例如:

a = 'Hello , Charlie'
>>>

此时变量 a 的值就不再是 5 了,而是字符串“Hello , Charlie”,a 的类型也变成了字符串。下面再次输入 a ,让交互式解释器显示a的值:

>> a
'Hello , Charlie'

如果想查看此时 a 的类型,可以使用 Python 的 type() 函数。

形象地说,函数就相当于一个有魔法的“黑盒子”,你可以向这个“黑盒子“提供”一些数据,这个“黑盒子”会对这些数据进行处理,这种处理包括转换和输出结果。比如 print() 也是一个函数,它的作用就是输出传入的数据。此处 type() 函数的作用则用于输出传入数据的类型。

在交互式解释器中输入:

>>> type(a)
<class 'str'>
>>>

此时可以看到 a 的类型是 str。

将上面的交互过程转换成真正的 Python 程序,只要将交互式过程中输入的每行代码放在一个文件中,并使用 print() 函数来输出变量(在交互式解释器中只要输入变量名,交互式解释器就会输出变量的值;但在 Python 程序中则必须使用 print() 函数来输出变量),将该文件保存为以 .py 结尾的源文件即可。

上面的交互过程对应的程序如下:
#定义一个数值类型变量
a = 5
print(a)
#重新将字符串赋值给a变量
a = 'Hello , Charlie'
print(a)
print(type(a))
运行上面的程序,没有任何问题,可以看到如下输出结果:

5
Hello , Charlie
<type 'str'>

使用 print 函数输出变量

前面使用 print() 函数时都只输出了一个变量,但实际上 print() 函数完全可以同时输出多个变量,而且它具有更多丰富的功能。

print() 函数的详细语法格式如下:

print (value,...,sep='',end='n',file=sys.stdout,flush=False)

从上面的语法格式可以看出,value 参数可以接受任意多个变量或值,因此 print() 函数完全可以输出多个值。例如如下代码:
user_name = 'Charlie'
user_age = 8
#同时输出多个变量和字符串
print("读者名",user_name,"年龄:",user_age)
运行上面代码,可以看到如下输出结果:

读者名:Charlie 年龄:8

从输出结果来看,使用 print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量,如果读者希望改变默认的分隔符,可通过 sep 参数进行设置。例如输出语句:

#同时输出多个变量和字符串,指定分隔符
print("读者名:" ,user_name,"年龄:",user_age,sep='|')

运行上面代码,可以看到如下输出结果:

读者名:|Charlie|年龄:|8

在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“n”,这个“n”就代表了换行。如果希望 print() 函数输出之后不会换行,则重设 end 参数即可,例如如下代码:
#设置end 参数,指定输出之后不再换行
print(40,'t',end="")
print(5O,'t',end="")
print(60,'t',end="")
上面三条 print() 语句会执行三次输出,但由于它们都指定了 end="",因此每条 print() 语句的输出都不会换行,依然位于同一行。运行上面代码,可以看到如下输出结果:

40    50    60

file 参数指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中,例如如下代码:
f = open("poem.txt","w")#打开文件以便写入
print('沧海月明珠有泪',file=f)
print('蓝回日暖玉生烟',file=f)
f.close()
上面程序中的 open() 函数用于打开一个文件,教程后续章节还会详细介绍关于文件操作的内容。

print() 函数的 flush 参数用于控制输出缓存,该参数一般保持为 False 即可,这样可以获得较好的性能。
< 上一页Python注释 Python变量命名规则下一页 >