当前位置: 首页 > news >正文

16、Python运算符全解析:位运算实战、字符串拼接与列表合并技巧

适合人群:零基础自学者 | 编程小白快速入门
阅读时长:约5分钟

文章目录

  • 一、问题:Python的位运算符?
    • 1、例子1:位运算符例子
    • 2、答案:
      • (1)位运算符
  • 二、问题:Python的加法操作补充?
    • 1、例子1:字符串拼接、列表合并
    • 2、答案:
      • (1)加法操作补充
  • 三、问题:Python的乘法操作补充?
    • 1、例子1:字符串重复、列表扩展
    • 2、答案:
      • (1)乘法操作补充
      • (2)⚠ 新手注意
  • 四、动手试一试
    • 任务1:字符串拼接与列表合并
    • 任务2:重复生成与位移验证

一、问题:Python的位运算符?

1、例子1:位运算符例子

a = 0b11001  # 25 → 二进制11001
b = 0b01000  # 8 → 二进制01000
print(bin(a | b))  # 输出:0b11001 → 25(按位或保留所有1)
print(bin(a&b))  #与
print(bin(a^b))  #异或
print(3<<2)   #左移1位相当于乘以2.左移两位相当于:3*4
print(20>>1)  #右移移位相当于除以2

2、答案:

(1)位运算符

位运算符:按位运算符是把数字看作二进制来进行计算的。在实际开发中很少用到,了解即可。

Python支持以下位运算符(实际开发中常用于硬件交互或性能优化场景):

运算符描述
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则0
|按位或运算符:只要对应的二个二进位有一个为1时,结果为就为1.
^按位异或运算符:当两对应的二进制位相异时,结果为1
~按位取反运算符:对数据的每个二进制取反,既把1变为0,把0变为1,~x类似于-x-1
<<左移动运算符:运算数的每个二进位全部左移若干位,由”<<”右边的数据指定移动的位数,高 位丢弃,低位补0
>>右移动运算符:把”>>”左边运算数的每个二进制位全部右移若干位,”>>”右边的数指定移动 的位数

二、问题:Python的加法操作补充?

1、例子1:字符串拼接、列表合并

# 字符串拼接:姓名组合系统
first_name = "张"  
last_name = "小明"  
full_name = first_name + last_name  
print(f"您的全名是:{full_name}")  # 输出:张小明  # 列表合并:购物清单合并
fruits = ["苹果", "香蕉"]  
veggies = ["胡萝卜", "土豆"]  
shopping_list = fruits + veggies  
print("完整购物清单:", shopping_list)  
# 输出:['苹果', '香蕉', '胡萝卜', '土豆']  

2、答案:

(1)加法操作补充

  1. 数字相加:3+2 结果是 5
  2. 字符串拼接:"3"+"2" 结果是 "32"
  3. 列表、元组等合并:[10,20,30]+[5,10,100] 结果是 [10,20,30,5,10,100]

三、问题:Python的乘法操作补充?

1、例子1:字符串重复、列表扩展

# 字符串重复:生成分割线
divider = "-" * 20  
print(divider)  # 输出:--------------------  # 列表扩展:班级座位表生成
base_seats = ["张三", "李四"]  
full_seats = base_seats * 3  
print("座位表:", full_seats)  
# 输出:['张三', '李四', '张三', '李四', '张三', '李四']  

2、答案:

(1)乘法操作补充

  1. 数字相加:3*2结果是 6
  2. 字符串拼接:"sdf"*3结果是 "sdfsdfsdf"
  3. 列表、元组等合并:[10,20,30]*3 结果是 [10,20,30,10,20,30,10,20,30]

(2)⚠ 新手注意

  1. 与 C 和 Java 不同,Python 不支持自增(++)和自减(--)运算符。

四、动手试一试

任务1:字符串拼接与列表合并

# 补全代码实现以下功能  
# 合并两个用户名单  
class1 = ["李明", "王芳"]  
class2 = ["赵强", "张磊"]  
all_students = ______  # 补全加法操作  
print(f"合并后的学生名单:{all_students}")  
# 目标输出:['李明', '王芳', '赵强', '张磊']  # 拼接问候语  
greeting = "你好,"  
name = "张三"  
full_greeting = ______  # 补全加法操作  
print(full_greeting)  # 目标输出:你好,张三  

参考答案:

all_students = class1 + class2  
full_greeting = greeting + name  

解析

  1. 列表合并直接使用 + 运算符
  2. 字符串拼接同理,注意变量顺序

任务2:重复生成与位移验证

# 生成3遍警告标语  
warning = "⚠️ 高温预警!"  
alert = ______  # 补全乘法操作  
print(alert)  # 目标输出:⚠️ 高温预警!⚠️ 高温预警!⚠️ 高温预警!  # 用左移运算符实现数字24的快速计算(补全代码)  
num = 3  
result = num ______ 3  # 3左移3位(等价于3*8)  
print(f"计算结果:{result}")  # 目标输出:24  

参考答案:

alert = warning * 3  
result = num << 3  

关键点

  1. 字符串重复直接使用 * 运算符
  2. 左移运算符 << 左移1位等价乘以2(左移3位即乘8)

📢 互动区
👉 遇到问题?在评论区:

  1. 描述问题(带代码截图更好)
  2. 分享学习心得
  3. 给文章提建议

支持作者:点赞 | 收藏 | 关注
你的三连是我更新的最大动力!


http://www.xdnf.cn/news/579421.html

相关文章:

  • 如何在电脑上登录多个抖音账号?多开不同IP技巧分解
  • 【Redis】AOF日志
  • 8天Python从入门到精通【itheima】-26~28
  • CondaEnvException: The specified prefix appears to be a top level directory
  • 图论算法精解(Java 实现):从基础到高频面试题
  • 单链表C语言实现
  • Web项目流程总结
  • 第七章:数据存储策略与状态恢复机制实录
  • Bently Nevada 3500/61 非隔离I/O模块 (133819-02)
  • 一命通关单调栈
  • 工业轴承故障检测技术现状:中国智造的突破与挑战
  • 微信小程序自行diy选择器有效果图
  • 第20天-python生成word文档
  • 《MQTT 从 0 到 1:原理、实战与面试指南全解》
  • PostgreSQL相比Oracle有哪些优势?
  • 一朵由钢片织成的云 ——超“限”的结构
  • 精通Python:使用Pandas进行数据处理与分析
  • PortgreSQL常用操作
  • AI应用电商篇汇总(持续补充)
  • 让蜂鸣器报警并退出
  • 判断一个元素是否在可视区域
  • 嵌入式学习的第二十五天-系统编程-标准I0与文件IO
  • Agentic Loop与MCP:大模型能力扩展技术解析
  • 06 接口自动化-框架封装思想建立之httprunner框架(下)
  • 算法--js--电话号码的字母组合
  • Manus与DeepSeek 的区别
  • 从0开始学linux韦东山教程第四章问题小结(2)
  • Java异步编程利器:CompletableFuture 深度解析与实战
  • 【C++ Primer 学习札记】函数传参问题
  • 轻量级高性能Rust HTTP服务器库Hyperlane,助力现代网络服务开发