我与Python的偶遇(第十篇)


活动地址:CSDN21天学习挑战赛

今天继续模块的学习和练习

模块


1,logging模块

通常可以进行配置,默认输出什么样级别的日志,尽可能少的输出日志,本人经历过写日志能把服务器写死的,所以不是无限制的使用。

  • 日志的级别(各类计算机语言通用):从高到低
    1. ERROR(错误)例如支付失败,需要把日志记录起来
    2. WARN(警告)系统出问题了,但是不影响使用,通常在try catch 时打印此日志
    3. INFO(通知) 一些简单的流程操作日志,例如每天10点运行一次,有没有正常运行可使用此级别。
    4. DEBUG(调试)实际运行时,不会输出该级别的日志,通常用在测试环境。
import logging

# 【记录器】初始化
logger = logging.getLogger("Log")
# 设置记录器对应日志级别
logger.setLevel(logging.INFO)

# 【屏幕处理器】
sh = logging.StreamHandler()
sh.setLevel(logging.INFO)

# 【格式化器 】
fmt = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
formatter = logging.Formatter(fmt)

# 【文件处理器】
fh = logging.FileHandler(filename="D:/abc.log", mode="a", encoding="UTF8")
fh.setLevel(logging.INFO)


# 将格式化器添加到处理器 
sh.setFormatter(formatter)
fh.setFormatter(formatter)

# 将处理器添加到记录器
logger.addHandler(sh)
logger.addHandler(fh)

logger.debug("我应该不会显示")

# 正常显示在控制台
logger.error("出现异常")

以上代码可以提取到一个方法里面去。

2,math模块

算是计算机通用的内置对象,基本上是计算机语言都有,包含基本的科学计算,但是精度需要注意。

  • 关于此类知识,不建议过深入的学习,遇到的时候百度吧,如果不是从事这块,你也记不住,是从事这块的你也忘不了。
  • ceil(小数) 向上(天花板)取整
  • floor(小数)向下(地板)取整
  • round(小数) 四舍五入计算法
  • fabs 取绝对值,返回值格式是浮点数(小数)
  • abs 取绝对值
  • fmod(x,y) 返回x除以y的余数,格式是浮点数(小数)
  • sqrt() 开方
  • decimal模块(没想到这个也有,这个是解决精度问题的)
    • 设置精度(设置几位有效位) decimal.getcontext().prec = 2
    • 设置小数位数 decimal.Decimal(1.556).quantize(decimal.Decimal("0.00"))
  • import decimal
    
    print(decimal.Decimal(1.556).quantize(decimal.Decimal("0.00")))
    # 1.56 四舍五入(设置小数位数)??

3,json模块

类似做一些序列化和反序列化操作,也简单的学几个方法。

  • dumps(obj) 对象转字符串
  • dumps(obj,fp)把对象写入json文件
  • loads(str) 字符串转对象
  • load(fp) 读取json文件
import json

student = {"name":"小红","age":15,"subject":["语文","数学","英语"]}

# json 字符串格式化输出
print(json.dumps(student, sort_keys=True, indent=4, separators=(',', ': ')))

# 将字符串转Python数据,其实就是字典类型,字符串格式不一定是这种,有转义符号比较常见
str = '{"name":"小红","age":15,"subject":["语文","数学","英语"]}'
print(json.loads(str))

提醒:在发布作品前请把不用的内容删掉(活动地址请保留)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值