0-3 Python 运算符和数据类型
提示:Python 随堂笔记
0-3 Python 运算符和数据类型
算术运算符
小贴士:
- / 计算结果是 浮点数 ,即使两个数都是整数,结果也是浮点数
- // 与 % 都是 向下取整
- 如果想同时得到 商 和 余数 ,可以用 divmod() 这个方法。该方法的返回值是 tuple(x//y, x%y)
浮点数精度会出现如下问题:
>>> In [1]: print(5.4-3)
>>> 2.4000000000000004
那么如何解决呢?
from decimal import Decimal
num = Decimal('5.4') - Decimal('3')
print(num)
#运行结果
2.4
也就是说,解决浮点数精度的问题,我们可以导入decimal库解决~
导入模块
import decimal
# 导入decimal模块
from decimal import Decimal
# 从decimal模块导入Decimal类
比较运算符
小贴士:
int 不能 直接与 str 比较
python3 中 不支持 <> 号,如:2<>3
== 与 != 符号 不能分开 写成 = =
str 与 str 之间比较的是 ASCII,并且 逐个比较
连续比较,如:a>b>c 可拆解为 a>b and b>c
赋值运算符
小贴士:
赋值:是将等号右边赋值给等号左边
python 不支持 a++ 、a-- 语法
+= 等符号 不能分开 写成 + =
逻辑运算符
懒惰原则:
In [1]: print(10 and 20)
20
In [2]: print(10 or 20)
10
位运算符
# 栗子:当
a = 60,b=13
# 取二进制
a = 0011 1100
b = 0000 1101
------------------
a & b = 0000 1100
a | b = 0011 1101
a ^ b = 0011 0001
成员运算符
身份运算符
小贴士:
注意:is 与 == 的区别
is 用于判断两个变量的引用是否为同一个内存地址 (可使用 id() 查看)
== 用于判断两个变量的值是否相等
三目运算符
python 中的三目运算符表示方法:
True_statements if expression else False_statements
例如:
a = 1,b = 2
实现,当 a+b>3 执行 a+b,否则执行 b-a
解答:
a=1,b=2
num = a+b if a+b>3 else b-a
print(num)
输出:1
运算符优先级
下表列出了从 最高到最低优先级 的 所有运算符。优先级高的运算符优先 计算或处理,同级别 的按从 左往右 的顺序计算(赋值运算符 除外,它 是按从 右往左 的顺序)
课堂作业
作业1:
原题答案:
代码:
fmy = ["bob","tony","Lisa","Steven"]
amy = 'amy'
yes = 'amy 在逻辑大家庭'
on = 'amy不在...好难过'
print(yes) if amy in fmy else print(on)
amy怎么能不在呢?
代码:
fmy = ["bob","tony","Lisa","Steven","amy"]
amy = 'amy'
yes = 'amy 在逻辑大家庭'
on = 'amy不在...好难过'
print(yes) if amy in fmy else print(on)
作业2:
答案:
比较原则:字符串比较
从第一个字符串开始比较,比较的是字符对应的ASCII码大小,如果两年字符串字符相同,但是一个字符串的字符多,则多的大。
In [6]: 'ax'<'xa'
Out[6]: True
作业3
答案:
print('if执行了!')
逻辑或 有一个为True
即为True
字符串’yes
'均为True
所以执行print('if执行了!')
作业4
is比较的是id值相同不相同,而==仅比较值
对于值大小在-5~256之间的变量,python因为有内存池缓存机制,会对该值分配内存,而不是变量,所以只要是该值的变量都指向同一个内存,即id相同
作业5
代码:
a = input('输入框a')
b = input('输入框b')
print(int(a) / int(b)) if int(a) and int(b) != 0 else print(int(a) * int(b))
作业6
如果文章对你有帮助,记得一键三连哦~
原创不易 感谢支持 未经允许禁止转载!
Pycharm专业版下载:https://pan.baidu.com/s/1kGqR5lUOFJLySXFd0zVs_Q 提取码:8888
博主的QQ:1617184046
博主的官网:瞄一眼~
转载:https://blog.csdn.net/weixin_45561522/article/details/111396460