Day03-总结

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是偶数

运算符的优先级
数学 > 比较 > 逻辑 > 赋值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 了解并熟悉快捷键 ctr + / - 快速的添加注释和取消注释ctr + s - 保存ctr + c ...
    llllllIllllll阅读 1,625评论 0 0
  • 一,变量 1.什么是变量 变量是在程序中开辟空间存储数据用的 2.怎么声明变量 1)语法:变量名 = 值2)说明:...
    oct___d38e9阅读 897评论 0 0
  • 一、变量 1.什么是变量 变量是在程序开辟空间存储数据用的 2.怎么声明变量 2.1语法: 变量名 = 值 2.2...
    oct___越来越2阅读 1,001评论 0 1
  • 1.回顾day02内容 。。。 2. py支持的运算符 数学运算符, 比较运算符, 赋值运算符, 逻辑运算符, (...
    BrayKing阅读 1,547评论 0 0
  • 运算符: 数学运算符、比较运算符、逻辑运算符、赋值运算、(位运算) 1. 数学运算符: +,-,,/,//,%,*...
    运算符阅读 2,087评论 0 0