python基本语法:变量、常量、表达式和运算符

一、变量、常量

  • 变量:值可以动态变化的量
  • 常量:值不会发生变化,如 π 、e

二、表达式和运算符

表达式:由变量常量运算符组成的式子称为表达式

运算符

  • 加减乘除 + - * /
print(2 + 3)  # 加
print(2 - 3)  # 减
print(2 * 3)  # 乘
print(2 / 3)  # 除
  • 整除和取余
    @整除 // 返回商
    @取余 % 返回余数
print(2 // 3)  # 整除
print(2 % 3)   # 取余

运行结果

  • 求幂
print(2 ** 3)
  • 赋值运算符
    @简单赋值运算符=
    @组合赋值运算符
'''
 +=    加法赋值运算符
 -=    减法赋值运算符
 *=    乘法赋值运算符
 /=    除法赋值运算符
 **=   平方赋值运算符
 //=   整除赋值运算符
 %=    取余运算符
'''
# 以加法为例
a = 1
a += 2
print(a)

这里写图片描述

  • 位运算符:对二进制进行运算
    & 按位与运算符:参与运算的两个值(先化为二进制),如果两个相应位都为1,则该位1,否则为0
    | 按位或运算符:参与运算的两个值,如果两个相应位只要有一个为1则都为1,否则为0
    ^ 按位异或运算符:参与运算的两个值,如果两个相应位有且只有一个为1则都为1,否则为0
    ~ 按位取反运算符
    左移运算符<< :将数据的二进制数左移x位
    右移运算符>> :将数据的二进制数右移x位
a = 5              # 0000 0101
b = 7              # 0000 0111
print(a & b)       # 0000 0101    5
print(a | b)       # 0000 0111    7
print(a ^ b)       # 0000 0010    2
print(~a)          # 0000 1010    -6
print(a << 2)      # 0000 0101    --->   0001 0100
print(a >> 2)      # 0000 0101    --->   0000 0001

这里写图片描述

  • 比较运算符
'''
 等于== :比较两个对象是否相等,相等返回True,不等返回False
 不等于!= :比较两个对象是否不等,不等返回True,相等返回False
 大于> :a>b 如果a大于b,返回True,否则返回False
 小于< :a<b 如果a小于于b,返回True,否则返回False
 大于等于>= :a>=b 如果a大于等于b,返回True,否则返回False
 小于等于<= :a<=b 如果a小于等于b,返回True,否则返回False
'''
a = 5
b = 7
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)

这里写图片描述

  • 逻辑运算符
'''
x与y 分别为可以返回Boolean的表达式或本身就是Boolean
and 逻辑与:x and y  只有x y 都为True,整体才为Ture,否则为False;x 为False,不会执行y
or  逻辑或:x or y   只要x y 有一个为True ,整体为Ture,否则为False;
                    x为True,不执行y;x 为False,才会执行y
not 逻辑非:将原来的状态取反,TrueFalseFalse变Ture
'''
  • 成员运算符
    in 如果能在指定范围找到值,返回True,否则返回False
    not in 如果不能在指定范围找到值,返回True,否则返回False
list = [1,2,3]
print(1 in list)      # True
print(4 not in list)  # False
  • 身份运算符
    is 判断两个标识符是否引用同一对象,如果引用同一对象,返回Ture,否则返回False
    not is 判断两个标识符是否引用同一对象,如果不是引用同一对象,返回Ture,否则返回False
a = [1,2,3]
b = [1,2,3]
print(id(a))
print(id(b))
print(a is b)

b = a
print(id(a))
print(id(b))
print(a is b)

这里写图片描述

注:这段代码涉及到深浅拷贝和赋值引用的问题,后续会总结

附:运算符优先级

这里写图片描述

猜你喜欢

转载自blog.csdn.net/sinat_26396077/article/details/80655646