01 Python - 变量和运算符

1.变量

1. 定义变量
语法:
变量名 = 数据

说明:
变量名  -  程序员自己命名
          要求:1)标识符  2)不能是关键字
          规范:1)见名知义 2)满足PEP8的命名规范(所有的字母都小写,多个单词之间用下划线隔开)
               3)不使用系统提供的类型名、函数名和模块名
               
=      -  赋值符号,固定写法
数据    -  任何有结果的表达式,包括:独立数据、运算表达式(除了赋值运算)、函数调用表达式

2.使用变量
变量中保存的数据能做什么,变量就能做什么
使用变量的时候其实是在使用变量中保存的数据

3.修改变量中的数据(重新给变量赋值)
python中同一个变量可以保存不同类型的值
python交换两个变量的值: 变量1, 变量2 = 变量2, 变量1

2. 变量赋值的原理

1.定义变量和给变量赋值的原理:
变量 = 数据
1)先在堆中申请内存(申请多大看被被赋值的数据需要多大内存)
2)将数据保存在内存区域中
3)让变量和保存数据的内存进行关联(让变量保存数据对应的内存地址)

2.id函数
id(变量)  - 获取变量中关联的数据在内存中的地址
num = 10
print(id(num))

num = 20
print(id(num))    这里的两个num的内存地址不一样

3. 数学运算符

数学运算符:+(加),-(减),*(乘),/(除),%(取余、取模),//(整除),**(幂运算)
1)+(加),-(减),*(乘),/(除) 和数学中的加减乘除功能一模一样

% - 求余数 数字1 % 数字2  -> 求数字1除以数字2的余数
# 应用1: 取整数的个位数或者低几位数
# 练习: 获取变量 num 的个位数
num = 8679
print(num % 10)    # 9
print(num % 100)    # 79

# 应用2:判断一个数是否能够被另外一个数整除
# 练习:判断num的是否是偶数
num = 2898
print(num % 2)

// - 求商取商的整数部分(向下取整/向小取整)
print(5//2)    # 2
print(-5//2)   # -3
print(3.9//3)  # 1.0

# 应用:取定长数字的最高位
num = 367
print(num // 100)    # 3
print(num // 10)     # 36

4. 比较运算符

比较运算符(关系运算符):>, <, ==, >=, <=, !=
注意:1.所有比较运算的结果都是布尔值
     2.数字数据不能和字符串数据进行比较

print(10 > 5)    # True
print(10 < 5)    # False
print(10 <= 5)   # False
print(10 <= 10)  # True
print(10 == 10)  # True
print(10 != 5)   # True
print(10 != 10)  # False
python中支持比较运算符的连写来表示范围

5.逻辑运算符

and 的短路操作:
表达式1 and 表达式2 -> 如果表达式1的结果是False,表达式2不会执行

or 的短路操作
表达式1 or 表达式2  -> 如果表达式1的结果是True,表达式2不会执行

6.赋值运算符

赋值运算符: =、+=、-+、*=、/=、%=、//=、**=
	1.所有的赋值运算符都是用来给变量赋值
	2.所有的赋值运算符的左边都必须是变量  
	3.所有赋值运算符的右边都可以是任意有结果的表达式

7.运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
有括号先算括号里面的

8. 位运算

位运算的特点:效率高,内存消耗少
位运算运算符: &(按位与) |(按位或) ^(异或) ~(按位取反) <<(左移) >>(右移)
# 所有的位运算都是直接操作数据在内存中存储的补码

1.按位与运算
数字1 & 数字2 - 两个都是1 结果就是1 否则为0
# 应用: 可以高效的判断数字的奇偶性。让被判断的数字和1进行按位与运算,结果是0就说明是偶数,否则是奇数

2.按位或运算
数字1 | 数字2 - 只要有一个是1结果就是1,两个都是0结果才是0

3.异或
数字1 ^ 数字2 - 不同为1,相同为0

4.按位取反
0变1 , 1变0

5.<< >>
# 应用: 高效率,快速的乘2或者2的次方数
数字1 << 数字2 - 数字1 // 2** 数字2
数字2 >> 数字2 - 数字* 2**数字2
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值