库的导入

1.在python中,无论是标准库、第三方库还是自定义库,在使用之前都需要导入。
2.若导入的位置在代码的开始,它的作用域在全局;若是在某个函数中导入3.当库名过长时,可以使用关键字as定义一个别名。
4.一般按照标准库、扩展库、自定义库的顺序进行导入。

导入库的三种方式

(1)import 库名 【as 别名】

>>> import math
>>> math.gcd(56, 64)     #注意:必须以“模块名.对象名”的形式进行访问。
8                        #计算最大公约数

(2)from 库名 import 对象名【as 别名】

>>> from random import sample     #sample,在指定范围内选择不重复元素
>>> sample(range(100), 10)        #不需要使用库名作为前缀,减少查询次数,提高访问速度
[98, 68, 95, 85, 5, 65, 51, 9, 30, 49]

(3) from 库名 import*
简单粗暴,一次导入库中所有对象,但一般不推荐

>>> from math import *        #不需要使用库名作为前缀
>>> sin(3)                    #求正弦值
0.1411200080598672
>>> pi                        #常数π
3.141592653589793
>>> e                         #常数e
2.718281828459045
>>> radians(180)              #将角度转化为弧度
3.141592653589793
>>> log2(8)                   #计算以2为底8的对数
3.0

Python标准库

Python标准库是随Python安装包一起发布的,用户不需要单独下载,可以随时使用。

turtle库

turtle库:进行图形的基本绘制,下面是一些基本常用函数
(1) setup(width, height, startx, starty):四个参数分别为画布的长、宽, 画布窗口在屏幕的水平起始位置和垂直位置。
(2) penup():没有参数,提起画笔后移动画笔不再绘制图形
(3) pendown():没有参数,放下画笔后移动画笔可以绘制图形
(4)pensize(width):设置画笔宽度,无参时返回当前画笔宽度
(5) pencolor(color):设置画笔颜色,无参时返回当前画笔颜色
(6) color():设置画笔和填充颜色
(7) fillcolor():设置填充颜色
(8) begin_fill():填充颜色之前调用
(9) end_fill():填充颜色之后调用,表示填充颜色结束
(10) fiiling():返回填充的状态,True表示已填充,False表示未填充
(11) clear():清空当前窗口,但是不改变当前画笔的位置
(12) reset():清空当前窗口,并把所有状态重置为默认值
(13) screensize(width, height, bg):设置画布的宽、高、背景颜色
(14) hideturtle():隐藏画笔的turtle形状
(15) showturtle():显示画笔的turtle形状
(16) isvisible():如果turtule可见,返回True
(17) write():输出中文标签,可选的参数有align(left, right, center),font(字体,字号,字形)
(18) forward(distance):把画笔沿当前方向前进distance距离
(19) backward(distance):把画笔沿当前相反的方向后退distance距离
(20) right(angle):向右旋转angle角度
(21) left(angle):向左旋转angle角度
(22) goto(x, y):把当前坐标移动到坐标(x, y)处
(23)seth(to_angle):将画笔朝向某个角度值,该角度是绝对方向角度值
(24)home():设置当前画笔位置为原点,方向朝东

#绘制一个蓝色的五角星
from turtle import*
screensize(500, 500, "green")
color("blue")
pensize(2)
penup()
begin_fill()
for i in range(0, 5):
    forward(200)
    right(144)
end_fill()

random库

(1)random函数:用来产生【0.0, 1.0)内的随机数

>>> from random import random
>>> random()
0.5127336399098061

(2)randint(a, b):随机生成[a, b]之间的一个整数

>>> from random import randint
>>> randint(1, 10)
5

(3)uniform(a, b):随机生成[a, b]之间的一个小数

>>> from random import uniform
>>> uniform(21, 30)
27.442466683502822

(4)randrange(start, stop, step)生成一个在【start, stop】之间且以step为步长的随机整数

>>> from random import randrange
>>> randrange(1, 49, 3)
22

(5)getrandbits(k):生成一个二进制长度为k位的随机整数

>>> from random import getrandbits
>>> getrandbits(8)
186

(6)choice(seq):从序列类型中随机返回一个函数

>>> from random import choice
>>> choice([1, 4, 6, 9, 12])
12
>>> choice("hello world")
'l'

(7)shuffle(seq):把序列中的元素随机排列并返回

>>> from random import shuffle
>>> a = [1, 5, 9, 16, 23, 45, 66]
>>> shuffle(a)
>>> a
[16, 23, 66, 9, 5, 1, 45]

(8)sample(pop, k):在pop类型中随机选取k个元素并以列表的形式返回

>>> from random import sample
>>> sample('hello world', 5)
['d', 'o', 'e', 'r', 'l']

time库

采用的是格林尼治时间从1970年01月01日00分00秒到现在的总秒数。大致有三个功能:时间处理、时间格式化、程序计时。

时间处理

(1)time():获取当前时间戳

>>> from time import time
>>> time()
1643076798.6631756

(2)gmtiime():将时间戳转换为对应的struct_time对象,当参数为空时,默认获取当前的时间戳

>>> gmtime(1643076798.6631756)
>
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=25, tm_hour=2, tm_min=13, tm_sec=18, tm_wday=1, tm_yday=25, tm_isdst=0)

struct_time对象的元素构成

属性


tm_year

年份,整数

tm_mon

月份【1,12】

tm_mday

日期【1,31】

tm_hour

小时【0,23】

tm_min

分钟【0,59】

tm_sec

秒【0,59】

tm_wday

星期【0,6】,0表示星期一

tm_yday

该年第几天【1,366】

tm_isdst

是否为夏令时,0表示否,1表示是,-1表示未知

(3)ctime:以可读方式返回时间戳表示的时间,若参数为空则默认为当前时间

>>> from time import ctime
>>> ctime()
'Tue Jan 25 10:52:09 2022'

时间格式化

(1)mktime():将当地时间格式化

>>> from time import localtime
>>> from time import mktime
>>> t = localtime()
>>> mktime(t)
1643080219.0

(2)strftime()

>>> from time import strftime
>>> from time import localtime
>>> t = localtime()
>>> strftime("%Y-%m-%d %H:%M:%S", t)
'2022-01-25 11:18:48'

strftime()格式化控制符

格式化控制符

描述

%a

星期几的缩写名称Mon~Sun

%A

星期几的全称Monday~Sunday

%b

月名缩写Jan~Dec

%B

月名的全称January~December

%c

语言环境的适当日期和时间表示

:%d

日期01~31

%H

24小时制的小时数00~23

%I

12小时制的小时数01~12

%j

一年中的一天

%m

月份01~12

%M

分钟数00~59

%p

上/下午 AM/PM

%S

秒数00~59

%U

一年中的星期数(00~53),星期天为星期的开始

%w

星期(0~6),星期天为星期的开始

%W

一年中的星期数(00~53),星期一为星期的开始

%x

本地相应日期表示

%X

本地相应时间表示

%y

两位数的年份0~99

%Y

4位数的年份0001~9999

%Z

当前时区的名称

%%

%本身

程序计时

perf_counter

from time import perf_counter
start = perf_counter()   #开始计时
def yinshufenjie(n):
    a = []
    y = n
    for i in range(2, n+1):
        while y:
            if y%i == 0:
                a.append(i)
                y = y/i
            else:
                break
    print(n,'=','*'.join(map(str,a)))
yinshufenjie(89832530)   #中间选取了一段因数分解的代码
end = perf_counter()  #结束计时
a = end - start
print(a)
输出:
89832530 = 2*5*8983253
7.622213200083934

第三方库

第三方库需要安装之后才能使用。第三方库有三种安装方式:pip工具安装,自定义安装,文件安装。

第三方库的安装

pip工具安装

在命令行中使用pip -h命令可以查看pip常用子命令

ironpython 引用c库 python库的引用_ironpython 引用c库

pip install 第三方库名:此命令可以下载第三方库并自动安装到系统中

pip list:此命令可以查看安装了哪些第三方库

pip download:此命令可以下载第三方库,但并不是自动安装。

自定义安装

按照第三方库提供的步骤和方法安装。第三方库都有主页用于维护库的代码和文档。

文件安装

有的第三方库无法通过pip工具下载,这时需要到相应网站下载。

常用的第三方库

PyInstaller库

可以在Windows、Linux、Mac Os X等操作系统下把Python源文件打包变成可运行的可执行文件。(通过打包,Python在没有安装Python程序的环境中也可以运行)
(1)pyinstaller Python源程序文件名

执行完毕后,源文件所在目录会生成build和dist两个文件夹,build文件夹用来存储临 时文件,可以安全删除;dist文件夹中存放的是与源文件同名的打包后的程序。目录中的 其他文件是可执行文件的动态链接库。
(2)pyinstaller -F Python源程序文件名

执行后dist目录中可出现以.exe为扩展名的文件,直接双击即可运行。

jieba库

可以将一段中文文本分割成中文词语序列(这是中文及相似语言特有的问题,因为英文可以通过空格符或标点符号分隔)
如. lcut():

>>> import jieba
>>> a = jieba.lcut("人不能飞于是努力走")
>>> a
['人', '不能', '飞', '于是', '努力', '走']    #以列表形式返回