关注 鹿韭 每天学习新知识!
AI | 古典舞 | 个人成长 让我们一起终身学习
鹿韭的第 10 篇原创
哈喽,大家好呀!这里是鹿韭的生活录,我是鹿韭。一个从事AI行业5年,喜欢古典舞和分享生活感悟的98年女生。
在这里,鹿韭将从0到1的,和大家一起走进ai。希望鹿韭分享的AI系列文章,能够帮助大家构建出完整的AI知识体系。
很高兴能在给大家分享知识的同时,提升自我。接下来跟着鹿韭,一起走进python数据基本运算的奇妙世界。
在python编程中,运算符是我们进行数据处理的必要工具。无论是数字计算、字符串拼接,还是数据结构的使用,我们都需要借助运算符来实现。
python中的运算符,主要分为以下七类:算数运算符、赋值运算符、比较运算符、逻辑运算符、身份运算符、成员运算符、位运算符。
下面我们将逐个对其进行详细讲解,并附上简单代码示例。
+ 加法
- 减法
* 乘法
/ 除法:结果为浮点数
// 整除:除的结果去掉小数部分
% 求余
** 幂运算
练习:写一个美元、人民币转换器。1美元=6.86人民币,在终端中获取美元,将其换算成人民币输出。
USD = int(input("请输入美元金额:"))CNY = USD * 6.86print("转换成人民币为:", CNY)
运行结果:请输入美元金额:34转换成人民币为: 233.24
赋值运算符:在算数运算符的基础上增加了对变量自身赋值的功能。 把计算结果存到变量里,简化代码。
= 赋值
+= 加后再赋值
-= 减后再赋值
*= 乘后再赋值
/= 除后再赋值
//= 整除后赋值
%= 求余后赋值
**= 幂运算后赋值
a += b # 相当于 a = a+ b
a -= b # 相当于 a = a- b
...
练习:写一个恋爱好感度模拟器。用 Python 增强运算符 (+=, -=) 来谈恋爱。
"""=== 恋爱好感度模拟器 ==="""love_point = int(input("请输入TA 对你的初始好感度:"))# 1. 主动发消息love_point += 10print("✅ 你主动发了早安,好感度 +10")# 2. 送了一杯奶茶love_point += 20print("✅ 请 TA 喝奶茶,好感度 +20")# 3. 记住了 TA 的生日love_point += 30print("✅ 记住了 TA 的生日,好感度 +30")# 4. 打游戏忽略了消息love_point -= 15print("❌ 打游戏没回消息,好感度 -15")# 5. 深情告白love_point += 50print("✅ 深情告白,好感度 +50")print("-" * 20)print(f"最终好感度:{love_point}")
比较运算符:比较数字的大小、相等关系,字符的相等关系。比较运算符返回的结果就两种,True或False。常用于 if选择语句、while循环语句中,做条件判断。
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
练习:接着上面写的恋爱好感度模拟器。用 Python 比较运算符,来判断对方的满意程度吧~
# 获得的最终好感度love_point = int(input("请输入TA 对你的最终好感度:"))# 判断结果if love_point >= 80: print("🎉 恭喜!TA 已经爱上你了!")elif love_point >= 50: print("😊 有戏!继续加油!")else: print("😢 革命尚未成功,同志仍需努力!")
逻辑运算符:用于做真假判断。总共就3个,and(与)、or(或)、not(非)。
练习:古代对接头暗号,a说:“天龙盖地铺”,b说:“小鸡炖蘑菇”。任何一方对不上都格杀勿论。
# 暗号对接a = input("请说出暗号上半句:")b = input("请说出暗号下半句:")# 核对暗号是否正确if a == "天龙盖地铺"and b == "小鸡炖蘑菇": print("验证通过")else: print("格杀勿论")
结果输出:请说出暗号上半句:天龙盖地铺请说出暗号下半句:你好格杀勿论
练习:出去购物,可以选择带手机或者带现金,两者带一个就可以去购物了。
# 出门购物携带物品a = input("带手机没(回答带或没带):")b = input("带现金没(回答带或没带):")# 核对暗号是否正确if a == "带了"or b == "带了": print("走了,逛街去")else: print("啥都不带,逛个毛线的街")
结果输出:带手机没(回答带或没带):带了带现金没(回答带或没带):没带走了,逛街去
练习:比较两个数数值的大小,并将结果取反。
a = 10b = 20print(a > b) # a比b小,结果为falseprint(not a > b) # 将false取反,结果为ture
身份运算符:用于比较是不是同一个对象(比较两个变量指向内容等内存地址是否一致)。两个关键字:
注意
is 和 == 有区别:
== :比较值是否相等。
is :比较内存地址是否一样(是不是同一内存地址)。
Python存在数据缓存的情况(数据共用同一内存地址)如下:
短整数,Python对短整数做了缓存。
字符串(某些情况下),短字符串或相同的字符串常量可能会做缓存,用"+","*"拼接生成的字符串不一定缓存。
None、布尔值(Ture、False)都属于单实例对象,所有的None、Ture、False都指向同一地址。
除此外的,像容器(列表、字典、元组等)即使内容相同也不复用,会创建新的对象。
判断是否是None时永远用is去做判断。
练习:
# Python存在数据缓存的情况a = "hello world"b = "hello" + " world"print(a is b) # True # Python不存在数据缓存的情况c = [1, 2, 3]d = [1, 2, 3]print(c is d) # False
▲ 图片来源于网络
成员运算符:判断某个元素是否在容器里(字符串、列表、元组、字典、集合等)。两个关键字:
练习:
"""常用场景示例 --内容超标,等学了容器的内容再回看这部分"""# 1、字符串(判断子串)s = "hello world"print("world" in s) # Trueprint("python"not in s) # True# 2、列表 / 元组lst = [10, 20, 30]print(20 in lst) # Trueprint(50not in lst) # True# 3、字典(默认判断键key)d = {"name": "Alice", "age": 20}print("name" in d) # Trueprint(20 in d) # False(20是值,不是键)# 想判断值:print(20 in d.values()) # True# 4、集合s = {1, 2, 3}print(2 in s) # True
▲ 图片来源于网络
位运算符:把整数转成二进制,一位一位对应计算。Python 位运算只针对:整数(int),直接操作整数在内存里的二进制位。
& 按位与 都1才1
| 按位或 有1就1
^ 按位异或 相同0,不同1
~ 按位取反 全部翻转
<< 左移 乘2
>> 右移 除2
练习:
a = 6 # 二进制:0110b = 3 # 二进制:0011# 1、按位与 &# 规则:对应位都为 1,结果才是 1print(a & b) # 结果为 0010 ,转为十进制即为 2# 2、.按位或 |# 规则:对应位有一个 1,就是 1print(6 | 3) # 结果为 0111 ,转为十进制即为 7# 3. 按位异或 ^# 规则:相同为 0,不同为 1print(6 ^ 3) # 结果为 0101 ,转为十进制即为5# 计算过程:# 0110# ^ 0011# -------# 0101 → 5# 4. 按位取反 ~# 规则:0变1,1变0,Python 是补码,结果是负数print(~6) # 结果为 0101 ,转为十进制即为-7# 5. 左移 <<# 规则:整体左移,右边补 0,等价 ×2print(6 << 1) # 左移1位,0110 << 1 → 1100,转为十进制即为12# 6. 右移 >># 规则:整体右移,左边补符号位,等价 ÷2 取整print(6 >> 1) # 右移1位,0110 >> 1 → 0011 ,转为十进制即为3
算术运算符
** (最高)、 * / % // 、 + -
位运算符
~ 、 << >> 、 & 、 ^ 、 |
比较运算符
== != > < >= <=
身份运算符
is is not
成员运算符
in not in
逻辑运算符
not → and → or
赋值运算符
= += -= *= 等(最低)
python数据基本运算虽然简单,但也是所有复杂代码的基础。记住这些运算符及其用法,后续学习循环、函数等会轻松很多。
希望本期分享,能帮你更好的掌握python的数据运算技巧,本次分享就到这里啦,我们下期见~
28岁开启我的自媒体人生,在这里我将分享技术、生活!
作者:鹿韭
图源:网络
点亮【赞和转发】祝你好运且发财,喜欢我,记得来朋友圈找我。