• 032 基本运算符


    当我们眼前飘过一只生物后,我们会立即获得这个生物的信息,种类、性别、身高、三维,当我们获取这些信息的同时,我们还会马上对这些信息做一些逻辑处理,如这个生物种类是老虎的时候,我们会跑开;这个生物是人,性别为女,但是身高只有一米三时,我们可能会不自觉地靠近?

    算术运算符

    算术运算符就是我们从小学就开始抓起的加减乘除,这里我就不多介绍,如果认为有问题的同学,可以抽空回到小学联系你小学班主任,让他给你补补课。

    print(1 + 2)
    
    3
    
    x = 10
    y = 20
    res = x + y
    print(res)
    
    30
    
    # /有零有整除,得到一个浮点型
    print(10 / 3)
    
    3.3333333333333335
    
    # 地板除,只取整数部分
    print(10 // 3)
    print(10 // 4)
    
    3
    2
    
    # %:取余
    print(10 % 3)
    
    1
    
    # **,幂
    print(10**3)
    
    1000
    

    029-基本运算符-算术运算符.jpg?x-oss-process=style/watermark

    比较运算符

    此处直接贴图了,以下假设变量a为10,变量b为20。

    029-基本运算符-比较运算符.jpg?x-oss-process=style/watermark

    pwd = '123'
    print(pwd != '123')
    print(pwd == '123')
    
    False
    True
    
    l1 = [1, 'a', 3]
    l2 = [3]
    print(l1 < l2)  # False
    
    True
    
    try:
        l3 = [1, 3]
        print(l1 < l3)  # 报错,列表比较大小仅限于同一位置的对应的值是相同的类型
    except Exception as e:
        print(e)
    
    name 'l1' is not defined
    

    赋值运算符

    此处直接贴图了,以下假设变量a为10,变量b为20。

    029-基本运算符-赋值运算符.jpg?x-oss-process=style/watermark

    age = 19
    age = age + 1
    print(age)
    
    20
    
    age = 19
    age += 1
    print(age)
    
    20
    
    age = 19
    age *= 10
    print(age)
    
    190
    

    逻辑运算符

    此处直接贴图了,以下假设变量a为10,变量b为20。

    029-基本运算符-逻辑运算符.jpg?x-oss-process=style/watermark

    # 从左到右的方式找到逻辑运算符,找到逻辑运算符的左边,左边成立,再去找到逻辑运算符的右边
    print(3 > 3 and 1 > 2 or 2 > 1)  # False
    
    True
    

    身份运算符

    身份运算符用于比较两个对象的存储单元。

    029-基本运算符-身份运算符.jpg?x-oss-process=style/watermark

    is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中), ==用于判断引用变量的值是否相等。

    x = 257
    y = x
    z = 257
    

    print(f'x is y:{x is y}')
    print(f'x == y:{x == y}')

    print(f'x is z:{x is z}')
    print(f'x == z:{x == z}')

    x is y:True
    x == y:True
    x is z:False
    x == z:True
    

    位运算符

    按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

    下表中变量 a 为 60,b 为 13,二进制格式如下:

    a = 0011 1100
    

    b = 0000 1101


    a&b = 0000 1100

    a|b = 0011 1101

    a^b = 0011 0001

    ~a = 1100 0011

    032-基本运算符-位运算符.jpg?x-oss-process=style/watermark

    a = 60  # 60 = 0011 1100
    b = 13  # 13 = 0000 1101
    c = 0
    

    c = a & b
    # 12 = 0000 1100
    print("1 - c 的值为:", c)

    1 - c 的值为: 12
    
    c = a | b
    # 61 = 0011 1101
    print("2 - c 的值为:", c)
    
    2 - c 的值为: 61
    
    c = a ^ b
    # 49 = 0011 0001
    print("3 - c 的值为:", c)
    
    3 - c 的值为: 49
    
    c = ~a
    # -61 = 1100 0011
    print("4 - c 的值为:", c)
    
    4 - c 的值为: -61
    
    c = a << 2
    # 240 = 1111 0000
    print("5 - c 的值为:", c)
    
    5 - c 的值为: 240
    
    c = a >> 2
    # 15 = 0000 1111
    print("6 - c 的值为:", c)
    
    6 - c 的值为: 15
    

    成员运算符

    除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

    032-基本运算符-成员运算符.jpg?x-oss-process=style/watermark

    a = 10
    b = 20
    list = [1, 2, 3, 4, 5]
    

    if (a in list):
    print("1 - 变量 a 在给定的列表中 list 中")
    else:
    print("1 - 变量 a 不在给定的列表中 list 中")

    1 - 变量 a 不在给定的列表中 list
    if (b not in list):
        print("2 - 变量 b 不在给定的列表中 list 中")
    else:
        print("2 - 变量 b 在给定的列表中 list 中")
    
    2 - 变量 b 不在给定的列表中 list
    # 修改变量 a 的值
    a = 2
    if (a in list):
        print("3 - 变量 a 在给定的列表中 list 中")
    else:
        print("3 - 变量 a 不在给定的列表中 list 中")
    
    3 - 变量 a 在给定的列表中 list

    Python运算符优先级

    python运算符的优先级相当于数学中的先算乘除再算加减,但是这很愚蠢,优先级高的你括号括起来就行了...

    029-基本运算符-python运算符优先级.jpg?x-oss-process=style/watermark
    以下实例演示了Python所有运算符优先级的操作:

    a = 20
    b = 10
    c = 15
    d = 5
    e = 0
    

    e = (a + b) * c / d #( 30 * 15 ) / 5
    print("(a + b) * c / d 运算结果为:", e)

    (a + b) * c / d 运算结果为: 90.0
    
    e = ((a + b) * c) / d     # (30 * 15 ) / 5
    print("((a + b) * c) / d 运算结果为:",  e)
    
    ((a + b) * c) / d 运算结果为: 90.0
    
    e = (a + b) * (c / d);    # (30) * (15/5)
    print("(a + b) * (c / d) 运算结果为:",  e)
    
    (a + b) * (c / d) 运算结果为: 90.0
    
    e = a + (b * c) / d;      #  20 + (150/5)
    print("a + (b * c) / d 运算结果为:",  e)
    
    a + (b * c) / d 运算结果为: 50.0
  • 相关阅读:
    ConcurrentDictionary内部机制粗解
    c# class struct区别
    virtualbox安装增强功能时【未能加载虚拟光盘】
    【C++】 友元函数friend
    C++命名空间(namespace)(转载)
    C++中memset()用法
    C++ 虚函数和纯虚函数的区别
    C++中栈和堆上建立对象的区别(转载)
    c++继承
    C++构造函数和析构函数
  • 原文地址:https://www.cnblogs.com/abdm-989/p/11451280.html
Copyright © 2020-2023  润新知