1.常用快捷键
CTR + / - 添加取消注释
CTR + S - 保存
CTR + C/V - 复制/粘贴
CTR + A - 全选
CTR + X - 剪切
CTR + Z - 撤销
CTR + SHIFT + Z - 反撤销
按住SHIFT点鼠标 - 开始位置和结束位置选中
按住ALT点鼠标 - 出现多个光标
灰色波浪号格式问题可以点灯泡第一个自动修复
进制转化汇总
转十进制:累积求和
转其它进制:十进制转二进制: 辗转相除
二进制转八进制: 每三位看做整体,转八进制
二进制转十六进制:四位看做整体,转十六进制
2.变量
1.什么是变量
变量是在程序中开辟空间存储用的
2. 声明变量
1)语法:
变量名 = 值
2)说明:
变量名 - 程序员自己命名
(要求)是标识符,不能是关键字
(规范)遵守PEP8命名规范 - 所有字母必须小写,单词之间下划线隔开
见名知意 - 看见变量名大概知道变量中存储的什么数据
= - 赋值符号,将右边的值赋给左边的变量
值 - 任何有结果的表达式,可以是具体的数据,也可以是赋值过的变量,也可以是运算表达式
3)同时声明多个变量,赋相同的值(变量1=变量2=..........=值)
a = b = c = d = 100
4)同时声明多个变量,赋不同的值(变量1,变量2=值1,值2)
name, age, gender = '小明', 18, '女'
注意:变量个数和值保持一致
4)声明变量和给变量赋值的原理
先在内存中开辟空间存储数据(内存大小由数据的大小动态分配),然后再将保存数据的内存空间的地址赋给变量
num3 = 100
print(type(num3))
print(id(num3)) # 获取变量中数据在内存中地址
用一个变量给另一个变量赋值的时候,实质是将变量中的地址赋给新的变量
num = 100 # 将数字100存储到num中,使用num的时候就会使用num中存储的数据
num = 222 # 同一个变量可以存储不同的值
print(num) # 使用时必须先声明/赋值
证明过程
num1 = 10
print(id(num1))
num1 = 100
print(id(num1))
num2 = 10
print(id(num2))
运算符:数学运算符、比较运算符、逻辑运算符、位运算、赋值运算符
3.逻辑运算符:and(逻辑与运算), or(逻辑或运算), not(逻辑非运算)
所有的逻辑运算符的运算对象是布尔,结果也是布尔
1) and
a.运算规则: 两个都为True结果才是True,只要一个是False结果就是False
True and True -> True
True and False -> False
False and True -> False
False and False -> False
b.什么时候用:当希望多个条件同时满足的时候,就用and将多个条件连接。
2) or
a.逻辑规则:两个都为False结果才是False,只要一个是True结果结果就是True
True or True -> True
True or False -> True
False or True -> True
False or False -> False
b.什么时候用:当希望多个条件只要有一个满足的时候,就用or将多个条件连接。
3) not
a.运算规则:True变False, False变True
not True -> False
not False -> True
b.什么时候使用:对某个条件进行否定
年龄不再12~18: not 12 < age < 18
4) 短路操作
逻辑与运算的短路操作:当and前面的表达式的值是False的时候,程序不会执行and后面的表达式
逻辑或运算的短路操作:当or前面的表达式的值是True的时候,程序不会执行or后面的表达式
print('是否能拿奖学金:', 35 > 30 and 90 > 80)
练习1:
1)判断一个数是否能够被2或者5整除
2)判断一个数是否能够同时被2或者5整除
3)判断一个数是否是3或者7倍数,并且末尾不是3
num = input('请输入一个人数:')
num = int(num)
print('1题结果:', num % 2 == 0 or num % 5 == 0)
print('2题结果:', num % 2 == 0 and num % 5 == 0)
print('3题结果:', num % 3 == 0 or num % 7 == 0 and num % 10 != 3)
4.赋值运算符:=,+=,-=,/=,%=,//=,**=
不管是什么样的赋值运算符,最终的操作都是给变量赋值;赋值符号左边必须是变量
1)=:将右边的值赋给左边的变量
2)符合运算符:先将赋值符号左边变量中的值取出来,然后进行指定的运算,最后将运算结果再赋值给左边
a += 1 -> a = a + 1
注意:赋值运算左边必须是已经赋值过的变量
位运算操作的是数字的补码的每一位;位运算因为是直接操作计算机存储空间的每一位,所以执行效率要比一般的运算高很多
5.位运算:&(按位与运算),|(按位或运算),^(按位异或),~(按位取反),<<(左移),>>(右移)
1) 数字1 & 数字2 -> 两个数字补码上相同位置上的数,如果都是1结果就是1,有一个0就是0
print(10 & 20) # 0
10的原码:00001010
20的原码:00010100
10 & 20 -> 00000000
2)数字1 | 数字2 -> 两个数字补码上相同位置上的数,如果有1结果就是1,全部是0才是0
print(-2 | -3)
-2的原码:10000010 -> 反:11111101 -> 补: 11111110
-3的原码:10000011 -> 反:11111100 -> 补: 11111111
结果的补码:11111111 -> 反:11111110 -> 原码:10000001
3)~ 数字2 -> 将数字补码上每一位的值由0变成1,1变成0
print(~ 10)
4)数字1 ^ 数字2 -> 两个数字补码上相同位置的数,相同为1,不同为0
一个数异或同一个数两次,结果就是这个数本身
5) 数字1 << 位数N -> 让数字的补码整体左移N位,低位用0补充 ->乘2的N次方
数字2 >> 位数N -> 让数字的补码整体右移N位,正数高位用0补充,负数用1补充 ->整除2的N次方
print(~10)
10原反补:00001010 -> 结果补码:11110101 -> 反码:11110100 -> 原:10001011
应用:1.乘2次方或整除2的次方
2.判断数的奇偶数 偶数二进制最后一位是0,&1如果是0是奇数,是1是偶数
运算符的优先级
数学 > 比较 > 逻辑 > 赋值