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)加法操作补充
- 数字相加:
3+2
结果是5
- 字符串拼接:
"3"+"2"
结果是"32"
- 列表、元组等合并:
[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)乘法操作补充
- 数字相加:
3*2
结果是6
- 字符串拼接:
"sdf"*3
结果是"sdfsdfsdf"
- 列表、元组等合并:
[10,20,30]*3
结果是[10,20,30,10,20,30,10,20,30]
(2)⚠ 新手注意
- 与 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
解析:
- 列表合并直接使用
+
运算符 - 字符串拼接同理,注意变量顺序
任务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(左移3位即乘8)
📢 互动区
👉 遇到问题?在评论区:
- 描述问题(带代码截图更好)
- 分享学习心得
- 给文章提建议
⭐ 支持作者:点赞 | 收藏 | 关注
你的三连是我更新的最大动力!