每日总结--2019.7.24

快捷键

ctr+/ ~添加注释和取消需在一行的开头
ctr+s ~保存
ctr+c 复制 ctr+V 粘贴
ctr+ a 全选
ctr+X 剪切
ctr+z 撤销
ctr+shift+z 反撤销
按住shift 再点击鼠标 选中部分
按住Alt/option 再点击鼠标 让界面出现多个光标

转十进制 累计求和

0b10101=24+2+2^0=21
0o12=18^1+28^0=10

2进制转16 进制


image.png

10 进制转 2 进制 辗转取余


image.png

2 进制转10 进制
image.png

2进制转8进制:将三位2进制转换成1位的8进制

image.png

8 进制转2进制

image.png

变量

"""
1.什么是变量
变量可在程序开辟空间储存数据

2.怎么声明变量
1)语法:
变量名 = 值

2)变量名:程序员自己命名
要求 是标识符,不能是关键字
规范 遵守PEP8命名规范

          a.变量名中所有字母都小写若由多个单词组成,
            单词之间用下划线隔开。

          b.见名知意,看见变量名大概知道变量中存的
            是什么数据。

= 赋值符号,将右边的值赋给左边的变量
值 任何有结果的表达式,可以是具体的数据,
也可以是赋值的变量也可以是运算表达试

num = 200
print(num)
变量内的值是以最后一次为准,变量的值可以改变,
同一个变量可以赋多个值,变量许先申明/赋值在使用

变量

2.同时声明多个变量,赋相同的值:变量名1 = 变量名2 = 变量名3...= 值

a = b = c = 10
print(a,b,c)

3.同时声明多个变量,赋不同的值:变量名1,变量名,2,...=值

注意:变量的个数要和值的个数保持一致

name,age,gender = '小米',18,'女'
print(name,age,gender)

4.声明变量和给变量赋值原理

先在内存中开辟空间存储数据(内存空间大小都有数据大小动态分配),
然后再将保留数据内存空间的地址赋给变量。
当一个变量给另一个变量赋值时,赋的是地址给新变量。
num = 100
print(type(num))
print(id(num)) #获取变量中数据在内存中的地址

list1= [1,2,3,4,5,]
list2 =list1
list1.append(10)
print(list1)
print(list2)

运算符

运算符:数学运算符,比较运算符,逻辑运算符,位运算,赋值运算符。

3.逻辑运算符;:and(逻辑与运算),or(逻辑或运算),not(逻辑非运算)

所有的逻辑运算符的运算对象是布尔,结果也是布尔
1)and;两个都为true结果才是true,只要有一个是false结果就是false
true and true >>true
true and false >>false
false and false >>false

什么时候用:当希望多个条件同时满足的时候,就用and将多个条件连接,
and相当于生活中的并且。

2)or
运算规则: 两个都为false结果才是false,只要有一个true结果就是true

什么时候用:当希望多个条件只要有一个满足的时候,就用or将多个条件连接。

3)not
运算规则:true变false ,false变true
什么时候使用,对某个 条件进行否定
age > 18
not age > 18
年龄不再2--18岁:not 12<= age <=18.

4)短路操作
逻辑与运算的短路操作:当and前面的表达值是FALSE的时候,程序
不会再去执行后面的表达式。
逻辑运算的短路操作:当or前面的表达式值是true时,程序不会在执行or后面的表达

用一个变量保存学生的变量,一个变量保存学生的操评分;
写一个条件来判断学生是否能拿奖学金。
a.奖学金条件:绩点不低于3.5,操评至少90分。
grade = 4
score = 88
条件1 grade >=3.5 条件2 score >=90
print('是否能拿奖学金: ',grade >=3.5 and score >= 90)
练习: 1 判断一个数是否能够被2 或者被5整除
num = 8
print(num%2==0 or num%5==0)
2 判断一个数是否能够被2 和5同时整除
print(num%2==0 and num%5==0)
print(num%10==0)
3 判断一个数是否能够被3 或者被7整除,并且末尾不是3.
print((num%3==0 or num%7==0) and (num%10!=3))

4,赋值运算符:=,+=,-=,=,/=,%=,//=,*=.

不管是什么样的赋值运算符,最终的操作都是给变量赋值,
所以左边必须是变量。
1)=:右边的值赋给左边的变量
2)复合的赋值运算符:先将赋值符号左边变量中的值取出来,然后进行
指定的运算,最后将运算结果在重新赋给左边的变量。
注意:复合的赋值运算符的左边必须是已经赋值过的变量

位运算

位运算操作的是数字的补码的每一位;因为是直接操作计算机存储空间的每一位,
所以执行效率高

5.位运算的运算符:
&(按位与运算),|(按位或运算),^(按位异或),~(按位取反),
<<左移, >>右移

1)数字&数字2 -> 两个数字补码上相同位置上的数,
如果都是1结果就是1,
如果有一个结果是0就是0.

1&1-> 1
1&0 huo 0&1 huo 0&0 -> 0
110&001 ->000
011&11100111 ->00000011
10的原码:00001010
20的原码:00010100
10&20:000000

2)按位或运算

数字1 | 数字2 ->两个数字补码上相同位置的数,
如果都是0结果就取0.
1 | 1 ->1
1 | 0 ->1
0 | 0->0

3)按位取反

~ 数字-> 将数字补码上的每一位值由0变成1,1变成0

4)按位异或

数字1^数字2 -> 相同结果为0 不同结果为1
特点 :一个数对另一个数异或两次结果会还原成原数

1^1->0
1^0->1
0^1->1
0^0->0

5)<< 左移 >>右移

数字< 让数字的补码整体左移N位,低位用0补充。
规律:数字乘以2的n次方 左移一位乘以2 左移二位乘以2的2次方
(2*N)

数字>>N -> 让数字的补码整体右移N位,高位补0,负数高位补1
规律:数字整除2的N次方
//(2**N)

print(10<<1)

应用 :1,乘2的次方或者整除2的次方的操作 (<<,>>)
2,二进制的最低位判断奇偶怎么取最低位
数字&1 == 0 则偶数,
数字&1 == 1 则奇数.

运算符的优先级,数字>比较>逻辑>赋值
** ,*, /, //, % , +, —。
如果有括号,则先算扩号里

你可能感兴趣的:(每日总结--2019.7.24)