变量及运算符
一、变量
(一)什么是变量
变量,英文叫做 Variable。变量就是在程序运行时,记录数据用的
从形式上看,每个变量都拥有独一无二的名字,例如 a=1
a为变量,1 为值。
从底层看:程序中的数据都要放在内存条内,变量就是这块内存的名字。
(二)变量命名
遵守 Python 标识符命名规则:
- 标识符的第一个字符不能是数字
- 标识符不能和 Python 关键字相同
- 标识符中的字母是严格区分大小写的
- 下划线开头的标识符有特殊含义,除非特定场景需要,应避免使用以下划线开头的标识符
- 避免使用汉字作为标识符
(三)变量赋值概述
变量的赋值指的是将数据放入变量的过程。
变量无须声明数据类型就可以直接赋值,对一个不存在的变量赋值就相当于创建(定义)了一个新变量,换句话说 Pyhton 创建变量就必须赋值。
是弱类型语言,无需提前声明数据类型
(四)基本赋值格式
num = 20 # 将数字100赋值给变量num
案例:小明 考试 60 分, 小李 70 分,小王 80 分,问他们与平均分相差多少?
average = (60 + 70 + 80) / 3
print(60-average)
print(70-average)
print(80-average)
(五)其它赋值方式
- 同时给多个变量赋同一个值
a = b =c = 5
- 同时给多个变量赋不同的值
a, b, c = 1, 2, 3
案列:变量交换
a = 10,b = 20,现在请进行变量交换,使得a = 20, b = 10。
a,b = b, a
(六)获取变量在内存中的 id 标识
a = 10
print(id(a))
a = 20
print(id(a))
变量被重新赋值之后,内存地址将会发生变化。
(七)练习题
a = 30, b = a ,那么b=?
如果 a = 50,b = ?
二、运算符
常用运算符:
- 算术运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 运算符优先级
(一)算术运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +8 | 8 |
- | 负号 | -8 | -8 |
+ | 加 | 8+9 | 17 |
- | 减 | 8-2 | 6 |
* | 乘 | 8 * 2 | 16 |
/ | 除 | 8 / 2 | 4 |
% | 取模 | 8 % 3 | 2 |
// | 整除 | 8 // 3 | 2 |
+ | 字符串相加 | “x” + "y" | "xy" |
** | 指数 | 2**3 | 8 |
(二)赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 将一个表达式的值赋值给一个左值 | c=a+b,将a+b的值赋值给c |
+= | 相加后再赋值 | c+=a等于c=c+a |
-= | 相减后再赋值 | c-=a等于c=c-a |
*= | 相乘后再赋值 | c=a等于c=ca |
/= | 相除后再赋值 | c/=a等于c=c/a |
%= | 求余后再赋值 | c%=a等于c=c%a |
//= | 整除后再赋值 | c//=a等于c=c//a |
(三)关系运算符
运算符 | 运算 | 案列 | 结果 |
---|---|---|---|
== | 相等于 | 5==3 | false |
!= | 不等于 | 5!=3 | true |
< | 小于 | 5<3 | false |
> | 大于 | 5>3 | true |
<= | 小于等于 | 5<=3 | false |
>= | 大于等于 | 5>=3 | true |
(四)逻辑运算符
运算符 | 说明 | 实例 |
---|---|---|
and | 逻辑与运算符。如果两边都为true结果为true,否则为false. | A and B 为 false |
or | 逻辑或运算符。如果两边操作数有一个为true,则为true,否则为false | A or B 为 true |
not | 逻辑非运算符。如果条件为true,则则为false,否则为true | !(A and B) 为 true |
(五)运算符优先级
运算符 | 说明 |
---|---|
() | 括号 |
** | 指数 |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
<= < > >= == | 关系运算符 |
not and or | 逻辑运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
括号内优先级最高;其次指数运算 ** 最高;比较运算符高于逻辑运算符就好
# ==和>符号的优先级高于or,所以先计算6==7和3>2,结果分别为False和True,最后False or True,则最终运算结果为True
>>> 6==7 or 3 > 2
True
# 赋值系列运算符的优先级最低,比or还要低
>>> x = 0 or 1
>>> x
1
# 练习 8 and 7 == 6 --> 8 and False --> True
>>> 2**3 and 6-6 + 7==6
False
作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。