![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python cookbook学习笔记 第三章
百无一用生
这个作者很懒,什么都没留下…
展开
-
python cookbook 学习笔记 第三章 数字日期和时间(1) 数字的四舍五入
数字的四舍五入问题:对浮点数执行指定精度的舍入运算解决方案:对于简单的舍入运算,使用内置的round(value, ndigits)函数即可。比如:round(1.23, 1) # 1.2round(1.27, 1) # 1.3传给round()函数的 ndigits 参数可以是负数,这种情况下,舍入运算会作用在十位、百位、千 位等上面。比如:a = 16...转载 2018-11-20 22:43:12 · 124 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(15) 字符串转换为日期
字符串转换为日期问题:将字符串格式的输入,转换为 datetime 对象,以便执行非字符串操作。解决方案:使用 Python 的标准模块 datetime 可以很容易解决这个问题:from datetime import datetimetext = "2018-11-24"z = datetime.now()print(z)y = datetime.str...转载 2018-11-24 23:22:33 · 125 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(14) 计算当前月份的日期范围
计算当前月份的日期范围问题:代码需要在当前月份中循环每一天,找到一个计算日期范围的高效方法解决方案:在这样的日期循环需要事先构建一个包含有日期的列表。可以先计算出开始日期和结束日期,然 后在步进的时候使用 datetime.timedelta() 对象递增这个变量即可。下面是一个接受任意 datetime 对象并返回一个由当前月份开始日和下个月开始日期组成的元 组对象。...转载 2018-11-24 23:18:36 · 111 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(13) 计算最后一个周五的日期
计算最后一个周五的日期问题:需要查找星期中某一天出现的日期,比如星期五。解决方案:Python 的datetime 模块中有工具函数和类可以执行这样的计算,下面是一个通用的解决 方案:from datetime import datetime, timedeltaweekdays = ["Monday", "Tuesday", "Wednesday", ..转载 2018-11-24 23:12:50 · 206 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(9) 大型数据运算
大型数据运算-问题:需要在大数据集(比如数组或网络)上面执行计算。解决方案:涉及到数组的重量级运算,可以使用 Numpy 库。Numpy 的一个主要特征是他会给 Python 提 供一个数组对象,相比标准的 Python 列表更适合用来做数学运算。下面展示标准列表和 Numpy 数组之间的差别:x = [1, 2, 3, 4]y = [5, 6, 7, 8]prin...转载 2018-11-22 20:53:49 · 143 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(8) 分数运算
分数运算问题:涉及到分数计算的问题解决方案:fractions 模块可以用来执行包含分数的数学运算。比如:from fractions import Fractiona = Fraction(5, 4)b = Fraction(7, 16)print(a + b) # 27/16print(a*b) # 35/64c = a*bprint(c.nu...转载 2018-11-22 20:47:28 · 142 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(7) 无穷大和NaN
无穷大和NaN问题:创建或测试正无穷、负无穷或NaN(非数字)的浮点数。解决方案:Python 并没有特殊的语法来表示这些特殊的浮点值,但是可以用 float() 来创建它们。比 如:a = float("inf")b = float("-inf")c = float("nan")print(a) # infprint(b) # -infprint(c) ...转载 2018-11-22 20:41:41 · 125 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(6) 复数的数学运算
复数的数学运算问题:需要使用复数空间,或者需要使用复数来执行计算解决方案:复数可以使用函数 complex(real, imag) 或者带有 j 的浮点数来指定。比如:a = complex(2, 4) # (2+4j)b = 3 - 5jprint(a) # (2+4j)print(b) # (3-5j)对应的实部、虚部和共轭复数可以忍容易的获取。像...转载 2018-11-22 20:37:09 · 202 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(12)基本的日期和时间转换
基本的日期与时间转换问题:需要执行简单的时间转换,比如天到秒,小时到分钟等的转换。解决方案:执行不同时间单位的转换和计算,使用 datetime 模块。比如,为了表示一个时间段,可以创 建一个 timedelta 实例:from datetime import timedeltaa = timedelta(days= 2, hours= 6)b = timedelt...转载 2018-11-24 00:03:16 · 108 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(11)随机选择
随机选择问题:想从一个序列中随机抽取若干元素,或者想生成几个随机数。解决方案:random 模块有大量的函数用来产生随机数和随机选择元素。比如,想从改一个序列中随机的抽 取一个元素,可以使用 random.choice():import randomvalues = [1, 2, 3, 4, 5, 6]x = random.choice(values)print...转载 2018-11-23 23:58:21 · 95 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(10) 矩阵与线性代数运算
矩阵与线性代数运算问题:需要执行矩阵和线性代数运算,比如矩阵乘法、寻找行列式、求解线性方程组等。解决方案:Numpy 库有一个矩阵对象可以用来解决这个问题。矩阵类似于数组对象,但是遵循线性代数的计算规则。下面的例子展示了矩阵的一些基本特性:import numpy as npm = np.matrix([[1, -2, 3], [0, ...转载 2018-11-23 23:52:47 · 95 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(5) 字节到大整数的打包和解包
字节到大整数的打包和解包问题有一个字节字符串,需要将他解压成一个整数,或者将一个大整数转换为一个字节字符串。解决方案:假设需要处理一个128位长的16个元素的字节字符串。比如:data = b'\x00\x124V\x00x\x90\xab\x00\xcd\xef\x01\x00#\x004'为了将 bytes 解析为整数,使用int.from_bytes() 方法...转载 2018-11-21 22:29:19 · 129 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(4) 二八十六进制整数
二八十六进制整数问题:转换或者输出二进制、八进制、十六进制表示的整数解决方案:将整数转换为二进制、八进制、十六进制的字符串,可以使用 bin() oct() hex() 函数:x = 1234print(bin(x)) # 0b10011010010print(oct(x)) # 0o2322print(hex(x)) # 0x4d2如果不想输出0...转载 2018-11-21 22:22:43 · 107 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(3) 数字的格式化输出
数字的格式化输出问题:需要降数字格式化后输出,并控制数字的位数、对齐、千位分隔符和其他的细节。解决方案:格式化输出单个数字的时候,可以使用内置的 format() 函数,比如:x = 1234.56789print(format(x, "0.2f")) # 1234.57实现10个字符位置上的左、右、居中对齐print(format(x, ">10....转载 2018-11-20 22:52:27 · 132 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(2) 执行精确的浮点数运算
执行精确的浮点数运算问题:需要对浮点数进行精确的计算,不希望有任何小误差的出现。解决方案:浮点数的一个普遍问题是不能精确的表示十进制数。并且即使是最简单的数学运算也会产生小 的误差,比如:a = 4.2b = 2.1print(a + b) #6.300000000000001print(a + b == 6.3) # False这些错误是由于底层 CPU 和...转载 2018-11-20 22:48:33 · 109 阅读 · 0 评论 -
python cookbook 学习笔记 第三章 数字日期和时间(16) 结合时区的日期操作
结合时区的日期操作问题:想知道某个时区的当地时间是几点解决方案:对几乎所有涉及到时区的问题,都应该使用 pytz 模块,这个包提供了Olson 时区数据库,它 是时区信息的标准,很多语言和朝族系统里都可以找到。pytz 模块一个主要用途是将 datetime 库创建的简单日期对象本地化。比如:from datetime import datetime, timedelt...转载 2018-11-24 23:26:29 · 116 阅读 · 0 评论