给女朋友的 Python 教程——变量

date
Apr 26, 2024
slug
A-Python-tutorial-for-girlfriend-005-variable
status
Published
tags
Python
summary
type
Post
给每一条河每一座山取一个温暖的名字
在上一节中,我们看到的是一目了然的数据,比如'string', 1000, 3.14 ,这些字符串或者数字都是字面值表示的常量。在实际的编程中,我们需要给类似这些字面值的对象一个名字,这就引入了「变量」。
Python 通过赋值语句,将变量名称绑定到特定值或这些值的表达式,最简单的赋值语句就是通过 = ,将变量名与值或表达式的值连接起来,这个变量名就是一个变量,比如:
这里 s 就是一个变量,它的值是 'Assign this string to varible s'

标签与盒子

简单的理解,可以将值看成一个装着它的值的盒子,将「变量」视为盒子的一个标签:
将 Asics 盒子赋值给变量 x
将 Asics 盒子赋值给变量 x
这时,你对 x 的操作也可以看作是对这个盒子的操作,当然你也可以将 x 分配给其他的盒子,这时候 x 就改换门庭,和原来的盒子没有关系了:
现在 x 是另一个盒子了
现在 x 是另一个盒子了

赋值语句

在 Python 中,你通过 = ,将变量与值连接起来,这就是赋值语句,我们就可以愉快的来使用变量了:
这里的 r, pi 都是变量,利用变量的运算 pi * r * r 计算半径为 r 的圆面积,如果半径变成 15 呢?那就通过赋值语句将 r15 联系起来,将变量 areapi * r * r 联系起来:
既然将「变量」视为标签,同现实中一样,一个盒子可以有多个标签,一个值可以有多个变量名,下面的 x, y, z 的值是一样的,Python 将它们指向了同一个地方:
x, y, z 指向了同一个字符串
x, y, z 指向了同一个字符串
 

增强赋值语句

与上述普通赋值语句不同,增强赋值语句将 +, -, * , / 等二元运算和赋值语句合为一体,将运算和赋值放在一起:
可以看到,i += 11 类似 i = i + 11 (当然,它们是不一样的,但是现在就这么理解)。
赋值操作符和增强赋值操作符如下表:
操作符
描述
语法
=
将表达式右侧的值赋给左侧的操作数
x = y + z
+=
加和赋值:将右侧操作数与左侧操作数相加,然后赋给左侧操作数
a += b
-=
减去并赋值:从左操作数中减去右操作数,然后赋给左操作数:如果两个操作数相等,则为真
a -= b
*=
乘以并赋值:将右操作数乘以左操作数,然后赋给左操作数
a *= b
/=
除以并赋值:将左操作数除以右操作数,然后赋给左操作数
a /= b
%=
取模并赋值:使用左右操作数取模,并将结果赋给左操作数
a %= b
//=
除法(地板除)并赋值:将左操作数除以右操作数,然后将值(地板除法)赋给左操作数
a //= b
**=
幂运算并赋值:使用操作数计算指数(幂),并将值赋给左操作数
a **= b
&=
对操作数执行位与操作,并将值赋给左操作数
a &= b
|=
对操作数执行位或操作,并将值赋给左操作数
a |= b
^=
对操作数执行位异或操作,并将值赋给左操作数
a ^= b
>>=
对操作数执行位右移操作,并将值赋给左操作数
a >>= b
<<=
对操作数执行位左移操作,并将值赋给左操作数
a <<= b

变量命名规则

哪些名字可以做变量?给变量的名字有一些基本的规则,违反这些规则会出现错误:
  1. 变量名可以由大小写字母 A 至 Z、下划线 _ 、数字 0 至 9、
  1. 不能以数字开头只能以字母或_开头
  1. 变量名区分大小写,比如 Namename 是两个不同的变量
  1. 变量名不能是关键字
比如,关键字if, 数字开头的3x 无法作为变量名,会引起 SyntaxError 语法错误,而_3x 可以作为变量名:
变量中,单独的下划线 _ 有着特殊的含义,它代表着上一个计算的结果:
 

© chao 2021 - 2025