Python 基本数据类型(Plus版)
该博客是对于 Python 中基本数据类型知识点的拓展和补充。
一、Number
1. 交互模式中的特殊操作
在交互模式中,最后被输出的表达式结果被赋值给变量_
,也就是说,_
代表了上一次的输出结果。此处, _
变量应被用户视为只读变量。
>>> tax = 12.5 / 100
>>> price = 100.5
>>> price * tax
12.5625
>>> price + _ # _表示12.5625
113.0625
>>> round(_,2) # _表示113.0625
113.06
实际情况中,也可以对于 _
赋值,比如 _ = 10
。但这样会导致之后调用 _
的时候全部变成了 10,除非 del_
。
2. 精度要求高的情况下,不要使用 round()
函数
这主要跟 round()
函数的**「四舍六入五看齐,奇进偶不进」**规则有关。从统计学的角度上来讲,如果大量数据无脑的采用四舍五入会造成统计结果偏大,而「奇进偶舍」可以将舍入误差降到最低。
规则一:四舍六入五看齐
- 要求保留位数的后一位
<=4
,则舍去3,如5.214保留小数点后两位,结果是5.21; - 要求保留位数的后一位
=5
,且该位数后面没有数字,则不进位,如5.215,结果为5.21; - 要求保留位数的最后一位
=5
,且该位数后面有数字,则进位,如5.2151,结果为5.22; - 要求保留位数的最后一位
>=6
,则进位。如5.216,结果为5.22。
版权声明:本文为CSDN博主「fly_Xiaoma」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38664232/article/details/89058196
>>> round(5.214,2)
5.21
>>> round(5.215,2)
5.21
>>> round(5.2150,2)
5.21
>>> round(5.2151,2)
5.22
>>> round(5.216,2)
5.22
规则二:奇进偶不进
若只保留整数部分,那么:
- 当个位为奇数,小数部分
>=0.5
入,其余为舍; - 当个位为偶数,小数部分
>0.5
入,其余为舍。
>>> round(10.49)
10
>>> round(10.50)
10
>>> round(10.51)
11
>>> round(11.50)
12
>>> round(11.49)
11
3. fractions 模块提供了分数类型的支持
4. decimal 模块提供了小数高精度计算的支持
二、String
1. 转义字符
转义字符 | 描述 |
---|---|
\ (在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。 |
\f | 换页 |
2. 运算符
运算符 | 描述 |
---|---|
r | 消除字符串转义意 |
3. 字符串格式化
>>>print("我叫%s,今年%d岁" % ('小明', 10))
我叫小明,今年10岁
占位符 | 含义 | 占位符 | 含义 |
---|---|---|---|
%s | 字符串 | %X | 十六进制整数大写 |
%d | 十进制整数 | %f | 浮点数 |
%u | 十进制整数(无符号) | %e | 浮点数,使用科学计数法 |
%o | 八进制整数 | %g | 浮点数,使用最低有效数位 |
%x | 十六进制整数 |
4. 三引号
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
>>> para_str = """这是一个多行字符串的实例,
... 多行字符串可以使用制表符( \t ),
... 也可以使用换行符( \n )。
... """
>>> print (para_str)
这是一个多行字符串的实例,
多行字符串可以使用制表符( ),
也可以使用换行符(
)。
三、List
1. 增
append()
函数用于在列表末尾添加新的对象。
list_demo = ["Youtube", "Twitter", "Mate", "Instagram"]
list_demo.append(2001)
print(list_demo)
2. 删
-
del
语句del list_demo[2]
-
remove(obj)
函数list_demo.remove("Youtube")
-
pop([index=-1])
函数list_demo.pop() list_demo.pop(1)
-
clear()
函数list_demo.clear()
3. 遍历
for x in list_demo : print(x)
4. 列表比较
列表比较需要引入 operator
模块的 eq
方法。
import operator
print(operator.eq(list1, list2))
四、Tuple
1. 删除
Tuple 不允许修改,使用 del
语句也只能删除掉整个 Tuple。
tuple_demo = ("Youtube", "Twitter", "Mate", "Instagram")
del tuple_demo
五、Set
1. 增
add(obj)
2. 删
remove(obj)
:若元素不存在,会发生错误。discard(obj)
:若元素不存在,不会发生错误。pop()
:随机删除一个元素。
六、Dictionary
1. 更新或添加
Python 的 Dictionary 中,更新或添加键值对,共享同一套语法。
dict_demo = {"name" : "jack", "age" : 21}
dict_demo["age"] = 20 # 更新
dict_demo["sex"] = "man" # 添加
2. 删除
-
del
语句del dict_demo["age"] del dict_demo
-
pop(key[,default])
函数:删除键值对,并返回 value。print(dict_demo.pop("name"))
-
clear()
函数dict_demo.clear()