Python 基础语法详解(三)

Python 运算符

Python 算术运算符

①理论讲解:

下表假设变量: a=10,b=20:

请添加图片描述
②实操讲解:
#coding=utf-8
# __author__ = 帅小柏

a, b = 21, 10
print("a=", a, "b=", b)
print("a + b的值为:", a + b)
print("a - b的值为:", a - b)
print("a * b的值为:", a * b)
print("a / b的值为:", a / b)
print("a % b的值为:", a % b)
print("2**3的值为:", 2**3)
print("10//2的值为:", 10//2)
请添加图片描述

温馨小提示

  1. Python中除法结果向后精确一位;
    在这里插入图片描述
  2. 除(/)和取模(%)运算符经常一起使用,会有很多有趣的操作哦~

Python 比较运算符

(False 虚假的,假的;True 真实的,真的)

①理论讲解:

下表假设变量: a=10,b=20:

在这里插入图片描述

拓展:字符串之间的比较运算

  1. 大写字母 < 小写字母
  2. 数字: 1 < 2 < 3…
  3. 字母: a < b < c…
    (核心就是字母间按对应 ASCII 码大小进行比较;数字按大小进行比较)
②实操讲解:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

a = "1ab"
b = "1abc"
print(a < b)
在这里插入图片描述

Python 赋值运算符

在这里插入图片描述

Python 位运算符

①理论讲解:

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

在这里插入图片描述
②实操讲解:

实操一

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

a = 0011 1100

b = 0000 1101

运算结果
a&b0000 1100
ab
a^b0011 0001
~a1100 0011
a<<21111 0000
a>>20000 1111

实操二

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

def decInt2Bin(string_num):
    num = int(string_num)
    if (num < 0):
        num = abs(num) ^ 0xFF - 1
    result = bin(num)[2:]
    return result.zfill(8)

a = 60  # 60 = 0011 1100
b = 13  # 13 = 0000 1101
print('dec:a=', a, 'bin:a=', decInt2Bin(a))
print('dec:b=', b, 'bin:b=', decInt2Bin(b))
print('dec:a&b=', a & b, 'bin:a&b=', decInt2Bin(a & b))
print('dec:a|b=', a | b, 'bin:a|b=', decInt2Bin(a | b))
print('dec:a^b=', a ^ b, 'bin:a^b=', decInt2Bin(a ^ b))
print('dec:a<<2=', a << 2, 'bin:a<<2=', decInt2Bin(a << 2))
print('dec:a>>2=', a >> 2, 'bin:a>>2=', decInt2Bin(a >> 2))
print('dec:~a=', ~a, 'bin:~a=', decInt2Bin(~a))  # -61 = 1100 0011


Python 逻辑运算符

①理论讲解:
运算符描述
与(and)连接的两个条件,如果都满足,就返回 True,如果有一个不满足就返回 False
或(or)连接的两个条件,如果两个条件有一个满足,就返回 True
非(not)取反

注意:对于数值,Python 认为非 0 表示 True,0 表示 False!

②实操讲解:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

a, b = 10, 20

if (a and b):
    print("1 - 变量 a 和 b 都为 true")
else:
    print("1 - 变量 a 和 b 有一个不为 true")

if (a or b):
    print("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("2 - 变量 a 和 b 都不为 true")

# 修改变量 a 的值
a = 0
if (a and b):
    print("3 - 变量 a 和 b 都为 true")
else:
    print("3 - 变量 a 和 b 有一个不为 true")

if (a or b):
    print("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("4 - 变量 a 和 b 都不为 true")

if not (a and b):
    print("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
    print("5 - 变量 a 和 b 都为 true")


Python 成员运算符

①理论讲解:

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

在这里插入图片描述
②实操讲解:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

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

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

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

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


Python 身份运算符

①理论讲解:

身份运算符用于比较两个对象的存储单元是否引用自一个对象

在这里插入图片描述

知识点补给站

身份运算符是通过判断内存地址(即 id)是否相等来进行比较的~

②实操讲解:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

a, b = 20, 20

print("a is b:", a is b)
print("id(a) == id(b):", id(a) == id(b))
b = 30
print("a is b:", a is b)
print("a is not b:", a is not b)
在这里插入图片描述

不过上面这个实例一出,可能有些有其它语言底子的同学会有所疑问—为什么变量 a 和变量 b 我们是单独赋予的值,但是它俩的 id 一样呢!

这里就涉及到了 Python 内存池这一知识点,此处我就先简单讲解一下,让大家好解决上述这个疑问:

a = 1
b = 1
id(a)       输出为:1402582080
id(b)       输出为:1402582080

结论:Python 中有个自带的内存池,数值比较小的值已经在这个内存池中定义好了,那么我们创建的时候,就直接指向了内存池当中的这个内存空间。

拓展—is 与 == 区别

is 用于判断两个变量引用对象是否为同一个,== 用于判断引用变量的值是否相等。

【可能,我是说可能啊,有些许小伙伴不是很能理解下面这几行代码,后面我会出一篇专门讲解关于 Python 深浅复制的文章,莫着急~】

>>> a = [1, 2, 3] 
>>> b = a 
>>> b is a 
True 
>>> b == a 
True 
>>> b = a[:] 
>>> b is a 
False 
>>> b == a 
True

Python 运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:(一元加号和减号就是俗称的正负号~)

在这里插入图片描述

注意事项

  1. 相同等级的运算顺序为从左到右
  2. 可以使用括号改变运算顺序
  3. 三大逻辑运算符分优先级:not > and > or
  4. 整数除整数,运算结果为小数(重要知识点,需牢牢记住!)

欢迎通过点击关注下公众号【帅小柏】,加入我们的 Python 大家庭,共同学习进步(非诚勿扰)。

加入我们,一起学习 Python,互相学习,共同进步。
  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅小柏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值