Python基础:常用系统模块

目录

      • 模块的导入
        • 方法一
        • 方法二
      • math 模块
        • 数学常量
        • 绝对值和平方根函数
        • 幂函数和对数函数
        • 取整和求余函数
        • 弧度角度转换函数
        • 三角函数和反三角函数
      • cmath模块
        • 复数特有函数
          • phase(x)函数
          • polar()函数和rect()函数
      • random模块
        • seed(x) 函数
        • 随机挑选和排序choice(seq)、sample(seq,k)、shuffle(seq)
          • choice(seq)函数:
          • sample(seq,k)函数:
          • shuffle(seq)函数
        • 生成随机数
          • random()函数
          • uniform(a,b)函数
          • randrange(a,b,c)函数
          • randint(a,b) 函数
      • time模块
        • time()函数
        • localtime([secs])
        • asctime([tupletime])
        • ctime([secs])
        • strftime(日期格式)
          • 时间日期格式化符号
      • calendar:日历
        • setfirstweekday(weekday)
        • firstweekday()
        • isleap(year)
        • leapdays(a,b)
        • calendar(year)
        • month(year,month)
        • monthcalendar(year,month)
        • monthrang(year,month)

Python 的标准库包含许多模块,每个模块定义了很多有用的函数,这些函数称为系统函数

模块的导入

方法一

格式:import 模块名

该语句将模块中定义的函数代码复制到自己的程序中,然后就可以访问改模块中的任何函数,方式是 模块名.函数名

例:

import math
print(math.sqrt(2)) # 输出1.4142135623730951

方法二

from 模块名 import 函数名

从模块中导入指定函数,调用模块中函数时,不需要加上模块名。导入多个模块时用逗号分隔,导入全部模块时函数名用 * 代替

from math import sqrt,pow
print(sqrt(2)) # 输出1.4142135623730951
print(pow(2,3)) # 输出8.0

math 模块

功能:处理数学相关运算,其中定义的常用数学常量和函数如下

数学常量

符号 意义
e 返回常数e(自然对数的底)
pi 返回圆周率π
import math
print(math.e)
print(math.pi)
# 输出
# 2.718281828459045
# 3.141592653589793

绝对值和平方根函数

函数名 功能
fabs(x) 返回x的绝对值(浮点型)
sqrt(x) 返回x的平方根(x>0) 返回值浮点型
import math
print(math.fabs(-6))  # 输出 6.0
print(math.sqrt(9))   # 输出 3.0

幂函数和对数函数

函数名 功能
pow(x,y) 返回x的y次幂(浮点型)
exp(x) 返回e(自然对数的底)的x次幂
log(x[,base]) 返回x的自然对数,base为可选参数修改对数的底,默认为e
log10(x) 返回x的常用对数(浮点型)
import math
print(math.pow(2,3))
print(math.exp(2))
print(math.log(math.e))
print(math.log(10,10))
print(math.log10(10))
# 输出:
# 8.0
# 7.38905609893065
# 1.0
# 1.0
# 1.0

取整和求余函数

函数名 功能
ceil(x) 对x向上取整
floor(x) 对x向下取整
fmod(x,y) 返回x/y的余数(浮点型)
import math
print(math.ceil(4.4))  #输出5
print(math.floor(4.4)) #输出4
print(math.fmod(8,4))  #输出0.0

弧度角度转换函数

函数名 功能
degress(x) 将弧度转换为角度
import math
print(math.degrees(math.pi)) 输出180.0

三角函数和反三角函数

函数名 功能
sin(x) 返回x的正弦值(x为弧度)
cos(x) 返回x的余弦值(x为弧度)
tan(x) 返回x的正切值(x为弧度)
asin(x) 返回x的反正弦值(返回值为弧度)
acos(x) 返回x的反余弦值(返回值为弧度)
atan(x) 返回x的反正切值(返回值为弧度)
import math
print(math.sin(math.pi / 2)) # 输出1.0
print(math.cos(math.pi / 2)) # 输出6.123233995736766e-17 相当于 0
print(math.tan(math.pi / 4)) # 输出0.9999999999999999 相当于 1

print(math.asin(1))# 输出1.5707963267948966
print(math.acos(-1))# 输出3.141592653589793
print(math.atan(1))# 输出0.7853981633974483

cmath模块

cmath模块函数与math模块函数基本一致。只是math模块支持对实数运算进行支持,cmath模块对复数运算进行支持

import cmath
print(cmath.pi)
print(cmath.sqrt(-1))
print(cmath.sin(1))
print(cmath.log10(100))
print(cmath.exp(100+10j))
# 输出
# 3.141592653589793
# 1j
# (0.8414709848078965+0j)
# (2+0j)
# (-2.255522560520288e+43-1.4623924736915717e+43j)

复数特有函数

phase(x)函数
  • 功能:返回复数x的幅角
  • 示例
from cmath import phase
print(phase(1+1j)) #输出0.7853981633974483
polar()函数和rect()函数

polar()函数

  • 功能:将复数的笛卡尔坐标转换为极坐标表示,输出一个二元组(r,p),r复数的模,即abs(x),p为幅角,即p=phase(x),

rect(r,p)函数

  • 将复数的极坐标表示转换为笛卡尔坐标表示,
  • 输出r * cos( p )+r *sin( p )*1 j

示例:

from cmath import polar,rect
n = 3 + 4j
r,p = polar(n)
print(r,p)
print(rect(r,p))
# 输出5
# .0 0.9272952180016122
# (3.0000000000000004+3.9999999999999996j)

random模块

seed(x) 函数

  • 设置随机数生成器种子,通常在调用其他随机模块之前调用此函数
  • 相同的种子,每次调用随机函数生成的随机数是相同的。默认将系统时间作为种子值

随机挑选和排序choice(seq)、sample(seq,k)、shuffle(seq)

choice(seq)函数:
  • 功能:从序列(列表,字符串,元组)中随机挑选一个元素
sample(seq,k)函数:
  • 功能:从序列中随机挑选k个元素
shuffle(seq)函数

功能: 将序列的所有元素随机排序

from random import *
n = list(range(0,10))  #range()函数 生成一个可迭代对象,list()函数生成一个列表
print(choice(n))
print(sample(n,5))
print(n)
shuffle(n) #该函数反回值 None
print(n)
# 输出:
# 9
# [2, 7, 5, 8, 6]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# [0, 9, 4, 5, 8, 2, 3, 7, 6, 1]

生成随机数

生成的随机数符合均匀分布,意味着某个范围内的数字出现的概率相等

random()函数
  • 功能:随机生成一个[0,1) 范围的实数
uniform(a,b)函数
  • 功能:随机生成一个[a,b] 范围的实数
randrange(a,b,c)函数
  • 功能:随机生成一个[a,b)范围内以c递增的整数,省略c时,默认为1,省略a时初值为0。
randint(a,b) 函数
  • 功能:随机生成一个[a,b]范围内的整数
import random
i = 1
# random.seed(1)  随机数种子相同,产生的随机是每次都一样
while i <= 2:
    n = random.random()
    print(n)
    i += 1
# 其他就不演示了

i = 1
while i <= 10:
    n = int(random.random()*10) + 2 # 产生一个[2,12)的整数,所以其他可以随机函数感觉作用不打
    print(n)
    i += 1

time模块

time()函数

  • 功能:返回当前时间的时间戳,时间戳是从Epoch 1970年1月1日00:00:00 UTC开始经过的秒数

localtime([secs])

  • 功能:接收Epoch开始的秒数,并返回一个时间元组。时间元组包含9个元素
from time import *
print(localtime())
# 输出:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=20, tm_hour=23, tm_min=15, tm_sec=49, tm_wday=6, tm_yday=264, tm_isdst=0)

asctime([tupletime])

  • 功能:接收一个时间元组,返回一个日期字符串。时间元组省略时,返回当前系统日期和时间
import time
print(time.asctime())
print(time.asctime(time.localtime(time.time())))

# 输出:
# Fri Oct  9 22:27:52 2020
# Fri Oct  9 22:27:52 2020

ctime([secs])

  • 功能:类似于asctime(localtime([secs])),不带参数时与asctime()功能相同
from time import ctime
print(ctime())
# 输出:Fri Oct  9 22:33:16 2020

strftime(日期格式)

  • 功能: 按指定的日期格式返回当前日期
import time
print(time.strftime('%Y-%m-%d %H:%M:%S'))
# 输出2020-10-09 22:38:00
时间日期格式化符号
符号 意义
%y(小写) 表示两位数的年份(00~~99)
%Y(大写) 表示四位数的年份(000~~9999)
%m(小写) 表示月份(01~~12)
%d(小写) 表示月份中的某一天(0~~31)
%H(大写) 表示24小时制(0~~23)
%I(大写) 表示12小时制(01~~12)
%M(大写) 表示分钟(00~~59)
%S(大写) 表示秒(00~~59)

calendar:日历

默认情况下,日历把星期一作为一周的第一天,星期日作为最后一天。

setfirstweekday(weekday)

  • 功能:设置每个日期的开始工作日代码,星期代码是0~6,星期一代表0

firstweekday()

  • 功能:返回当前设置的每个星期开始工作日。默认为0,代表星期一

isleap(year)

  • 功能:如果指定的年分是闰年返回True,否则返回False

leapdays(a,b)

  • 功能:返回在[a,b)范围内的闰年数

calendar(year)

  • 功能:返回指定年份的日历。
import calendar
cal = calendar.calendar(2020)
print(cal)
# 输出:                                  2020
# 
#       January                   February                   March
# Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
#        1  2  3  4  5                      1  2                         1
#  6  7  8  9 10 11 12       3  4  5  6  7  8  9       2  3  4  5  6  7  8
# 13 14 15 16 17 18 19      10 11 12 13 14 15 16       9 10 11 12 13 14 15
# 20 21 22 23 24 25 26      17 18 19 20 21 22 23      16 17 18 19 20 21 22
# 27 28 29 30 31            24 25 26 27 28 29         23 24 25 26 27 28 29
#                                                     30 31
# 
#        April                      May                       June
# Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
#        1  2  3  4  5                   1  2  3       1  2  3  4  5  6  7
#  6  7  8  9 10 11 12       4  5  6  7  8  9 10       8  9 10 11 12 13 14
# 13 14 15 16 17 18 19      11 12 13 14 15 16 17      15 16 17 18 19 20 21
# 20 21 22 23 24 25 26      18 19 20 21 22 23 24      22 23 24 25 26 27 28
# 27 28 29 30               25 26 27 28 29 30 31      29 30
# 
#         July                     August                  September
# Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
#        1  2  3  4  5                      1  2          1  2  3  4  5  6
#  6  7  8  9 10 11 12       3  4  5  6  7  8  9       7  8  9 10 11 12 13
# 13 14 15 16 17 18 19      10 11 12 13 14 15 16      14 15 16 17 18 19 20
# 20 21 22 23 24 25 26      17 18 19 20 21 22 23      21 22 23 24 25 26 27
# 27 28 29 30 31            24 25 26 27 28 29 30      28 29 30
#                           31
# 
#       October                   November                  December
# Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
#           1  2  3  4                         1          1  2  3  4  5  6
#  5  6  7  8  9 10 11       2  3  4  5  6  7  8       7  8  9 10 11 12 13
# 12 13 14 15 16 17 18       9 10 11 12 13 14 15      14 15 16 17 18 19 20
# 19 20 21 22 23 24 25      16 17 18 19 20 21 22      21 22 23 24 25 26 27
# 26 27 28 29 30 31         23 24 25 26 27 28 29      28 29 30 31
#                           30

month(year,month)

  • 功能:返回指定年份的日历

monthcalendar(year,month)

  • 功能:返回一个整数列表,每个子列表表示一个星期(从星期一到星期日)

monthrang(year,month)

  • 功能:返回两个整数,第一个代表指定年和月的第一天是星期几。第二个代表所指月份的天数。
from calendar import *

cal = month(2020,1)
print(cal)

cal = monthcalendar(2020,1)
print(cal)

print(monthrange(2020,1))
# 输出:   January 2020
# Mo Tu We Th Fr Sa Su
#        1  2  3  4  5
#  6  7  8  9 10 11 12
# 13 14 15 16 17 18 19
# 20 21 22 23 24 25 26
# 27 28 29 30 31
# 
# [[0, 0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26], [27, 28, 29, 30, 31, 0, 0]]
# (2, 31)

你可能感兴趣的:(Python)