python3中的运算符

1. 算术运算符

/

python中两数相除得到的是float

a = 6
b = 4
print(a / b)
>>> 1.5

  • **

  • 开平方

    • x**0.5

    • 返回值是float

整除

  • //

  • 向下取整

    • print(-5 // 2)
      print(5 // 2)
      >>> -3
      >>> 2

取余

  • %

算术运算符在字符串中的使用

  • 加法

    • str + str

      • s1 = 'abc'
        s2 = 'ef'
        print(s1 + s2)
        >>> abcef
    • 数字跟str不能直接运算

  • 乘法

    • 字符串 * 数字 -->将字符串复制多个

      • s1 = 'abc'
        print(s1 * 2)
        >>> abcabc  
    • 字符串不能跟字符串相乘

  • 其他运算都不支持

2. 赋值运算符

1.右边的值赋给左边

1)a = b = c = 'dad'

a = b = c = 'dad'
print(a, b, c)
>>> dad dad dad

2)交换两个变量

x, y = y, x

x = 1
y = 2
x, y = y, x
print(x, y)
>>> 2  1

3) 拆包

a.注意事项

  1. 需要拆的数据的个数要与变量的数据个数一支

  2. 可以对元组,列表,字典进行拆包

  3. 对字典进行拆包得到的key值而不是value的值

b.用拆包的形式定义变量

a, b, c = 1, 2, 3   #变量个数要与数据个数保持一致
print(a, b, c)
>>> 1 2 3

c.对列表

List = [1, 2, 3]
a, b, c = List
print(a, b, c)
​
>>> 1 2 3

d.对元组

Tuple = (1, 2, 3)
a, b, c = Tuple
print(a, b, c)
​
>>> 1 2 3

e.对字典

Dict = {'key1': 1,
        'key2': 2}
a, b = Dict
print(a, b) #得到的是key
​
>>> key1 key2

4)元组的特殊定义

x = 'a', 'b', 'c'
print(x)
>>> ('a', 'b', 'c')

5)' * ' 表示可变长度

a, *b, c = 1, 2, 3, 4, 5, 6
print(a)
print(b)
print(c)
​
>>> 1
>>> [2, 3, 4, 5]
>>> 6
*a, b, c = 1, 2, 3, 4, 5, 6
print(a)
print(b)
print(c)
​
>>> [1, 2, 3, 4]
>>> 5
>>> 6
a, b, *c = 1, 2, 3, 4, 5, 6
print(a)
print(b)
print(c)
​
>>> 1
>>> 2 
>>> [3, 4, 5, 6]
  • 等号左边一定不能是常量或表达式

2.复合运算符

+=

-=

*=

/=

**=

x = 3
x **= 2
print(x)
>>> 9

//=

整除

x = 123
x //= 10
print(x)
>>> 12

%=

x = 123
x %= 10
print(x)
>>> 3

3. 比较运算符

1)常见比较运算符

>

在判断时可以写 1 < x < 3

<

=

>=

<=

!=

2)比较运算符在字符串中的使用

  1. 字符串之间比较大小,比较单个字符的ASCLL值的大小

    • 'abc' < 'b'

    • 'a' < 'b'

    • 'abc' < 'abd'

  2. 数字与字符串之间做 == 运算结果是False

    做 != 运算结果是 True

4. 逻辑运算符

1)常见逻辑运算符

a. 与 (and)

有 0 为 0 ,全 1 为 1

b. 或(or)

有 1 为 1,全 0 为 0

c. 非(not)

2)逻辑运算的短路问题

  • and连接多个部分时,判断到0结束

    4 > 3 and print('Hello World')
    4 < 3 and print('WY')
    >>> Hello World
    >>>
  • or 连接多个部分时,判断到1结束

    4 > 3 or print('Hello World')
    4 < 3 or print('WY')
    >>>
    >>> WY

3)逻辑运算的结果不一定是布尔值

  • and 取值时,取第一个为False的值,如果都为True ,取最后一个值

  • or 取值时,取第一个为True的值,如果都为False,取最后一个值

    print(3 and 5 and 0 and 'Hello')
    print(0  or [] or 'ada' or 'ok')
    >>> 0
    >>> ada

5. 位运算

1)按位与 &

转换为二进制,同为1则为1,否则为0

2)按位或 |

转换为二进制,有1则为1,否则为0

3)按位异或 ^

相同为0,不同为1

4)按位左移 <<

右边补0

5)按位右移 >>

左边补0

6)按位取反

0变1,1变0

6. 逻辑运算的优先级

not > and > or

猜你喜欢

转载自blog.csdn.net/AK47red/article/details/113173325