什么是变量:变量是在程序中开辟空间存储数据用的
怎么声明变量:
1)语法:变量名 = 值
2)说明:变量名由程序员自己命名,要求是标识符但不能是关键字,遵守PEP8的命名规范,
变量、函数和属性应该使用-小写字母-来拼写,如果有多个单词就使用下划线进行连接;见名知义
“=”: 赋值符号,将右边的值赋给左边的变量
值:任何有结果的表达式,可以是具体的数据,赋值过的变量,也可以是运算表达式
变量必须先声明/赋值再使用
1)同时声明多个变量:变量名1 = 变量名2 = 变量名3
a = b = c = 100
2)同时声明多个变量,赋不同的值,注意变量的个数和赋值的个数要保持一致
声明变量和给变量赋值的原理(重要)
1).先在内存中开辟空间存储数据(内存空间的大小取决于数据的大小动态分配),然后
再将保存数据的内存空间的地址赋给变量
2). 用一个变量给另一个变量赋值的时候,实质是将该变量中的地址赋给另个一变量
逻辑运算符: and(逻辑与运算), or(逻辑或运算), not(逻辑非运算)
and
运算规则:两个都为True结果才是True
True and True -> True
True and False -> False
False and True -> False
False and False -> False
什么时候用:当希望多个条件同时满足的时候,就用and将多个条件连接。
or
运算规则:两个都为False结果为False,只要一个结果是True结果就是True
True and True -> True
True and False -> True
False and True -> True
False and False -> False
什么时候用:当希望多个条件只要有一个满足的时候,就用or将多个条件连接,相当于生活中的或者
not
运算规则:True变False,False变成True
not True -> False
not False -> True
什么时候用:对某个条件进行否定
年龄不在12-18岁:not 12 <= age <= 18
短路操作
逻辑与运算的短路操作:当and前面的表达式的值出现False的时候,程序不在执行and后面的表达式
逻辑或运算的短路操作:当or前面的表达式的值出现True的时候,程序不在执行or后面的表达式
赋值运算服:= , +=, -=, *=, /=, %=, //=, **=
不管是什么样的赋值运算符,最终的操作都是给变量赋值;所以赋值运算符的左边必须是变量
1)= :将右边的值赋给左边的变量
2)复合的赋值运算符:先将赋值符号左边的变量中的值取出来,然后进行指定的运算,最后将计算出来的值重新赋给左边的变量
位运算操作的是数字的补码的每一位;位运算因为是直接操作计算机存储空间的每一位,所以执行效率要比一般的运算要高
位运算:&(按位与运算),|(按位或运算),^(按位异或),~(按位取反), <<(按位左移),>>(按位右移)
例如:
a = 00111100
b = 00001101
按位与运算符&:参加运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
a & b = 00001100
按位或运算符|:只要对应的两个二进位有一个为1时,结果位就为1
a | b = 00111101
按位异或运算符:当两个对应的二进位相异时,结果为1(异或两次同一个数,返回本身)
a ^ b = 00110001
a ^ b ^ b = 00111100
按位取反运算符~:对数据的每个二进制位取反,即把1变为0,把0变为1
~a = 11000011
左移运算符:运算数的各二进制位全部左移若干位,由<<右边的数字指定移动的位数,高位丢弃,低位补0.
a << 2 = 11110000
右移运算符:运算数的各二进制位全部右移若干位,由>>右边的数字指定移动的位数.正数高位补0,负数高位补1.
a >> 2 = 00001111