[Self-Learning Trace] Python 基本数据类型(Plus版)

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() 函数的**「四舍六入五看齐,奇进偶不进」**规则有关。从统计学的角度上来讲,如果大量数据无脑的采用四舍五入会造成统计结果偏大,而「奇进偶舍」可以将舍入误差降到最低。

规则一:四舍六入五看齐

  1. 要求保留位数的后一位 <=4,则舍去3,如5.214保留小数点后两位,结果是5.21;
  2. 要求保留位数的后一位 =5,且该位数后面没有数字,则不进位,如5.215,结果为5.21;
  3. 要求保留位数的最后一位 =5,且该位数后面有数字,则进位,如5.2151,结果为5.22;
  4. 要求保留位数的最后一位 >=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

规则二:奇进偶不进

若只保留整数部分,那么:

  1. 当个位为奇数,小数部分 >=0.5 入,其余为舍;
  2. 当个位为偶数,小数部分 >0.5 入,其余为舍。
>>> round(10.49)
10
>>> round(10.50)
10
>>> round(10.51)
11
>>> round(11.50)
12
>>> round(11.49)
11

3. fractions 模块提供了分数类型的支持

fractions 模块介绍

4. decimal 模块提供了小数高精度计算的支持

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()
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值