文章目录
位运算符(了解)
按位运算符是把数字看作是二进制来进行计算的。 下表中变量 a
为 60,b
为 13,二进制格式如下:
python
a = 0011 1100 # 60的二进制
b = 0000 1101 # 13的二进制
a & b = 0000 1100
a | b = 0011 1101
a ^ b = 0011 0001
~a = 1100 0011
位运算 | 描述 | 示例 |
---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释:0000 1100 |
| | 按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1 | `(a |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释:0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 | (~a) 输出结果 -61 ,二进制解释:1100 0011,在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0 |
a << 2 输出结果 240 ,二进制解释:1111 0000 |
>> | 右移动运算符:把 >> 左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 |
a >> 2 输出结果 15 ,二进制解释:0000 1111 |
练习
以下练习难度较高,只需要能看懂代码即可,不要求写出。
使用位运算,获取到十六进制颜色 0xF0384E
的RGB值,以十进制形式打印输出。
运算符优先级
当多种运算符做混合运算时,就会涉及到先运算哪个,后运算哪个问题。以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
练习
python
print(True or False and True)
print(False or not False)
print(True or True and False)
a = 2
print(a ** 3 > 5 and a + 2 > 3 or a * 4 + 8 == 16 and not a == True and -a < 0)
总结:
在以后的实际开发中,如果有多种运算符进行混合运算时,强烈建议使用小括号来手动的控制运算符的优先级!
python
b = True or True and False # bad
c = True or (True and False) # good
进阶案例
【Python】Python 实现猜单词游戏------挑战你的智力和运气!
【python】Python tkinter库实现重量单位转换器的GUI程序
【python】使用Selenium获取(2023博客之星)的参赛文章
【python】使用Selenium和Chrome WebDriver来获取 【腾讯云 Cloud Studio 实战训练营】中的文章信息
使用腾讯云 Cloud studio 实现调度百度AI实现文字识别
【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片
【玩转Python系列】【小白必看】使用Python爬取双色球历史数据并可视化分析
【玩转python系列】【小白必看】使用Python爬虫技术获取代理IP并保存到文件中
【小白必看】Python图片合成示例之使用PIL库实现多张图片按行列合成
【小白必看】Python爬虫实战之批量下载女神图片并保存到本地
【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码
【小白必看】使用Python批量下载英雄联盟皮肤图片的技术实现
【小白必看】轻松获取王者荣耀英雄皮肤图片的Python爬虫程序
【小白必看】Python爬虫实战:获取阴阳师网站图片并自动保存
小白实战100案例: 完整简单的双色球彩票中奖判断程序,适合小白入门
使用 geopandas 和 shapely(.shp) 进行地理空间数据处理和可视化
爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】
爬虫入门指南(6):反爬虫与高级技巧:IP代理、User-Agent伪装、Cookie绕过登录验证及验证码识别工具
爬虫入门指南(5): 分布式爬虫与并发控制 【提高爬取效率与请求合理性控制的实现方法】
爬虫入门指南(4): 使用Selenium和API爬取动态网页的最佳方法
爬虫入门指南(3):Python网络请求及常见反爬虫策略应对方法
深度学习模型在图像识别中的应用:CIFAR-10数据集实践与准确率分析
MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
使用Python和Selenium自动化爬取 #【端午特别征文】 探索技术极致,未来因你出"粽" # 的投稿文章
Python多线程与多进程教程:全面解析、代码案例与优化技巧
Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识