写点什么

软件测试丨 Python 学习笔记之内置库科学计算、日期与时间处理

作者:测试人
  • 2023-05-18
    北京
  • 本文字数:1595 字

    阅读完需:约 5 分钟

本文为霍格沃兹测试开发学社学员笔记分享

原文链接:https://ceshiren.com/t/topic/24563

Python 内置库 - 科学计算

了解 math 函数

math 函数,python 提供的内置数学类函数库,包含了很多数学公式。 比如幂函数运算,三角函数,高等函数运算等。

math 函数操作

  • 数字常数

  • 数论与表示函数

  • 幂对数函数

  • 三角对数函数

  • 高等特殊函数

数字常量

数论与表示函数


幂函数与对数函数


三角函数


高等特殊函数


实战练习

  • 常量

  • 数论与表示函数(ceil, floor)

  • 幂函数与对数函数 (pow(), sqrt())

实例

天天向上的力量

一年 365 天,以第 1 天的能力值为基数,记为 1.0, 当努力学习时,能力值相比前一天提高 1%, 当没有学习时能力值相比前一天下降 1%。 (每天努力和每天放任,一年下来的能力值相差多少呢? )

import math
# print(math.pi)# print(math.e)# print(math.inf)# print(-math.inf)# print(math.nan)
# # 向上取整 >4.3 最小的整数 5# print(math.ceil(4.3))# # 向上取整 >-4.3 最小的整数 -4# print(math.ceil(-4.3))# # 向上取整 >-0.1 最小的整数 0# print(math.ceil(-0.1))
# # 向下取整 <4.3 最大的整数 4# print(math.floor(4.3))## # 向下取整 <-4.3 最大的整数 -5# print(math.floor(-4.3))
# print(math.pow(2, 10))# print(math.sqrt(16))print(math.pow((1.0 + 0.01), 365))print(math.pow((1.0 - 0.01), 365))
复制代码

Python 日期与时间处理

目录

  • 获取当前日期/获取特定时间

  • datetime 与 timestamp 时间戳互转

  • datetime 与 str 互转

  • 实战练习

工作中应用

  • 作为日志信息的内容输出

  • 计算某个功能的执行时间

  • 用日期命名一个日志文件的名称

  • 生成随机数(时间是不会重复的)

python 中处理时间的模块

  • time

  • datetime

  • calendar

常见的时间表示形式

  • 时间戳

  • 格式化的时间字符串

datetime 常用的类

  • datetime (from datetime import datetime) 时间日期相关

  • timedelta (from datetime import timedelta) 计算两个时间的时间差

  • timezone (from datetime import timezone) 时区相关

练习 1 - 获取当前日期和时间

import datetimenow = datetime.datetime.now()
复制代码

练习 2 - 字符串与时间互转

s="2021-09-27 06:47:06"# 将字符串 转换为datetime实例s1=datetime.datetime.strptime(s,'%Y-%m-%d %H:%M:%S')
# 时间转成字符串now = datetime.datetime.now()result = now.strftime('%a, %b %d %H:%M')
# 参考链接:https://docs.python.org/3/library/datetime.html?highlight=strftime
复制代码

练习 3 - 时间戳 与时间互转

import datetimemtimestamp = 1632725226.129461# 将时间戳转成时间 s = datetime.datetime.fromtimestamp(mtimestamp)# 将时间转成时间戳print(s.timestamp())
复制代码


import datetime# 当前日期时间# nowtime = datetime.datetime.now()# print(nowtime)# print(nowtime.day)# print(nowtime.month)# print(nowtime.year)# # 转成时间戳# print(nowtime.timestamp())## print(datetime.datetime(2021, 10, 10))
# s = "2021-09-27 06:47:06"# # 将字符串 转换为datetime实例# s1 = datetime.datetime.strptime(s, '%Y-%m-%d %H:%M:%S')# print(s1)# print(type(s1))# # 时间转成字符串# result = s1.strftime('%a %b %d %H:%M')# print(result)mtimestamp = 1632725226.129461# 时间戳-> 时间s = datetime.datetime.fromtimestamp(mtimestamp)print(s)# 将时间->时间戳print(s.timestamp())
复制代码

实例

写一段代码,生成一个以时间命名的日志文件。 并向日志文件中写入日志数据。

import datetime# 时间格式now = datetime.datetime.now()# 转成字符串c_time = now.strftime("%Y%m%d_%H%M%S")print(c_time)
log_name = c_time+'.log'with open(log_name, 'w+',encoding='utf-8') as f : # datetime [level] line: 13 this is a log message message = f"{now} [info] line: 14 this is a log message" f.write(message)
复制代码


发布于: 1 小时前阅读数: 2
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试丨Python学习笔记之内置库科学计算、日期与时间处理_Python_测试人_InfoQ写作社区