超详解——​深入理解Python中的位运算与常用内置函数/模块——基础篇

2024-06-12 1205阅读

超详解——​深入理解Python中的位运算与常用内置函数/模块——基础篇

目录

​编辑

1.位运算

2.常用内置函数/模块

math模块

random模块

decimal模块

常用内置函数

3.深入理解和应用

位运算的实际应用

1.权限管理

2.位图

3.图像处理

2.math模块的高级应用

统计计算

几何计算

总结


1.位运算

位运算是对整数在内存中的二进制表示进行操作的一种方法。在计算机中,数据是以二进制形式存储的,位运算可以直接操作这些二进制位,从而实现高效的数据处理。Python支持以下常见的位运算符:

  1. 按位与(&):两个二进制数对应位都为1时,结果的该位才为1。
  2. 按位或(|):两个二进制数对应位有一个为1,结果的该位就为1。
  3. 按位异或(^):两个二进制数对应位不同,结果的该位为1。
  4. 按位取反(~):将二进制数的每一位取反(0变1,1变0)。
  5. 左移():将二进制数的所有位向右移动指定的位数,左侧补0(对于无符号数)或补符号位(对于有符号数)。
    a = 60  # 二进制:0011 1100
    b = 13  # 二进制:0000 1101
    # 按位与
    result = a & b  # 结果:0000 1100 (12)
    print(result)  # 输出:12
    # 按位或
    result = a | b  # 结果:0011 1101 (61)
    print(result)  # 输出:61
    # 按位异或
    result = a ^ b  # 结果:0011 0001 (49)
    print(result)  # 输出:49
    # 按位取反
    result = ~a  # 结果:1100 0011 (-61),在Python中,负数用补码表示
    print(result)  # 输出:-61
    # 左移
    result = a > 2  # 结果:0000 1111 (15)
    print(result)  # 输出:15
    
  • 1.按位与(&)

    • 例子:a & b,即 60 & 13
    • 二进制表示:
      • 60:0011 1100
      • 13:0000 1101
    • 结果:0000 1100,即12
  • 2.按位或(|)

    • 例子:a | b,即 60 | 13
    • 二进制表示:
      • 60:0011 1100
      • 13:0000 1101
    • 结果:0011 1101,即61
  • 3.按位异或(^)

    • 例子:a ^ b,即 60 ^ 13
    • 二进制表示:
      • 60:0011 1100
      • 13:0000 1101
    • 结果:0011 0001,即49
  • 4.按位取反(~)

    • 例子:~a,即 ~60
    • 二进制表示:
      • 60:0011 1100
      • ~60:1100 0011(补码表示)
    • 结果:-61(Python使用补码表示负数)
  • 5.左移( 2,即 60 >> 2

  • 二进制表示:
    • 60:0011 1100
    • 右移2位:0000 1111
  • 结果:15

2.常用内置函数/模块

Python提供了丰富的内置函数和模块,方便进行各种计算和操作。以下是一些常用的内置函数和模块:

math模块

math模块提供了许多数学函数,如平方根、对数、三角函数等。

import math
print(math.sqrt(16))  # 4.0,计算平方根
print(math.log(8, 2))  # 3.0,以2为底的对数
print(math.sin(math.pi / 2))  # 1.0,计算正弦值

random模块

random模块用于生成随机数。

import random
print(random.randint(1, 10))  # 生成1到10之间的随机整数
print(random.random())  # 生成0到1之间的随机浮点数
print(random.choice(['a', 'b', 'c']))  # 从列表中随机选择一个元素

decimal模块

decimal模块提供对十进制浮点数的精确计算。

from decimal import Decimal
a = Decimal('0.1')
b = Decimal('0.2')
c = a + b
print(c)  # 0.3,精确的十进制计算

常用内置函数

Python的内置函数简化了许多基本操作,例如计算绝对值、最大值、最小值、和等。

print(abs(-5))  # 5,计算绝对值
print(max(1, 2, 3))  # 3,返回最大值
print(min(1, 2, 3))  # 1,返回最小值
print(sum([1, 2, 3]))  # 6,计算和

3.深入理解和应用

通过上面的例子,我们了解了Python中位运算的基本用法和一些常用内置函数/模块的使用。接下来,我们可以深入探讨一些应用场景和实际问题,进一步巩固这些知识。

位运算的实际应用

1.权限管理

  • 在系统权限管理中,常常使用位运算来表示和检查权限。每个权限可以用一个二进制位表示,多个权限可以通过按位或(|)组合在一起。
    READ = 0b0001
    WRITE = 0b0010
    EXECUTE = 0b0100
    permission = READ | WRITE
    def has_permission(perm, check):
        return perm & check == check
    print(has_permission(permission, READ))  # True
    print(has_permission(permission, EXECUTE))  # False
    

    2.位图

    位图(bitmap)是一种使用位来表示集合的数据结构,常用于高效的集合运算和压缩存储。

    bitmap = 0
    def add_to_bitmap(bitmap, value):
        return bitmap | (1 
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]