7个库

库的名字 主要功能
turtle 基本图形绘制
time 时间的基本处理
random 随机数产生及应用
PyInstaller 源代码打包为可执行文件
jieba 简洁的中文分词
wordcloud 中英文词云生成
os 操作系统小功能

模块1: turtle库的使用

  1. turtle库的海龟绘图法

    • turtle.setup()调整绘图窗体在电脑屏幕中的布局

      turtle.setup(width, height, startx, starty)

    • 画布上以中心为原点的空间坐标系: 绝对坐标&海龟坐标

      turtle.goto(x, y)

    • 画布上以空间x轴为0度的角度坐标系: 绝对角度&海龟角度

      turtle.seth(angle) turtle.left() turtle.right()

    • RGB色彩体系,整数值&小数值,色彩模式切换

      turtle.colormode(mode)

      • 1.0:RGB小数值模式
      • 255:RGB整数值模式
  2. turtle程序语法元素分析

    1. 库引用

      扩充Python程序功能的方式

      1. 使用import保留字完成,采用<a>.<b>()编码风格

        import <库名>

        <库名>.<函数名>(<函数参数>)

      2. 使用from和import保留字共同完成

        from <库名> import <函数名>

        from <库名> import *

        <函数名>(<函数参数>)

      3. 使用import和as保留字共同完成

        import <库名> as <库别名>

        <库别名>.<函数名>(<函数参数>)

        (给调用的外部库关联一个更短、更适合自己的名字)

    2. 画笔控制函数

      turtle.penup()

      turtle.pendown()

      turtle.pensize(width) 别名:turtle.width(width)

      turtle.pencolor(color)

    3. 运动控制函数

      turtle.forward(d) 别名:turtle.fd(d)

      turtle.circle(r,extent=None) #根据半径r绘制extent角度的弧形(左手域)

      #extent是绘制角度,默认是360度整圆

    4. 方向控制函数

      绝对角度:turtle.seth(angle)

      海龟角度:turtle.left(angle)或者turtle.right(angle)

    5. 循环语句与range()函数

      1. 循环语句:

        按照一定次数循环执行一组语句

        for <变量> in range(<次数>):

        ​ <被循环执行的语句>

        #<变量>表示每次循环的计数,0到<次数>-1

      2. range()函数

        产生循环计数序列

        • range(N) 产生 0 到 N-1的整数序列,共N个
        • range(M,N) 产生M 到 N-1的整数序列,共N-M个

模块2:time库的使用

  1. time库是Python中处理时间的标准库

    import time 
    time.<b>()
  2. time库包括三类函数

    1. 时间获取:time() ctime() gmtime()
    2. 时间格式化:strftime() strptime()
    3. 程序计时:sleep() perf_counter()
    函数 描述
    time() 获取当前时间戳,即计算机内部时间值,浮点数
    >>>time.time()
    1516939876.6022282
    ctime() 获取当前时间并以易读方式表示,返回字符串
    >>>time.ctime()
    ‘Fri Jan 26 12:11:16 2018’
    gmtime() 获取当前时间,表示为计算机可处理的时间格式
    >>>time.gmtime()
    time.struct_time(tm_year=2018, tm_mon=1,
    tm_mday=26, tm_hour=4, tm_min=11, tm_sec=16, tm_wday=4,
    tm_yday=26, tm_isdst=0)
  3. 时间格式化

    函数 描述
    strftime(tpl, ts) tpl是格式化模板字符串,用来定义输出效果
    ts是计算机内部时间类型变量
    >>>t = time.gmtime()
    >>>time.strftime(“%Y-%m-%d %H:%M:%S”,t)
    ‘2018-01-26 12:55:20’
    strptime(str, tpl) str是字符串形式的时间值
    tpl是格式化模板字符串,用来定义输入效果
    >>>timeStr = ‘2018-01-26 12:55:20’
    >>>time.strptime(timeStr, “%Y-%m-%d %H:%M:%S”)
    time.struct_time(tm_year=2018, tm_mon=1,
    tm_mday=26, tm_hour=4, tm_min=11, tm_sec=16,
    tm_wday=4, tm_yday=26, tm_isdst=0)
  4. 格式化控制符

    格式化字符串 日期/时间说明 值范围和实例
    %Y 年份 0000~9999,例如:1900
    %m 月份 01~12,例如:10
    %B 月份名称 January~December,例如:April
    %b 月份名称缩写 Jan~Dec,例如:Apr
    %d 日期 01~31,例如:25
    %A 星期 Monday~Sunday,例如:Wednesday
    %a 星期缩写 Mon~Sun,例如:Wed
    %H 小时(24h制) 00~23,例如:12
    %I 小时(12h制) 01~12,例如:7
    %p 上/下午 PM,例如:PM
    %M 分钟 00~59,例如:26
    %S 00~59,例如:26
    >>>t = time.gmtime()
    >>>time.strftime("%Y-%m-%d %H:%M:%S",t) 
    '2018-01-26 12:55:20'
    
    

timeStr = ‘2018-01-26 12:55:20’
time.strptime(timeStr, “%Y-%m-%d %H:%M:%S”)


5. **程序计时**

> - 程序计时指测量起止动作所经历时间的过程
> - 测量时间:`perf_counter() `
> - 产生时间:`sleep()`

```python
>>>start = time.perf_counter() 
318.66599499718114 
>>>end = time.perf_counter() 
341.3905185375658 
>>>end - start 
22.724523540384666
>>>def wait(): 
    time.sleep(3.3)
>>>wait() #程序将等待3.3秒后再退出

模块3.random库的使用

  1. 基本随机数函数

    函数 描述
    seed(a=None) 初始化给定的随机数种子,默认为当前系统时间
    >>>random.seed(10) #产生种子10对应的序列
    random() 生成一个[0.0, 1.0)之间的随机小数
    >>>random.random()
    0.5714025946899135
    >>> import random 
    >>> random.seed(10) 
    >>> random.random() 
    0.5714025946899135
    >>> random.random() 
    0.4288890546751146
    ...
    >>> import random 
    >>> random.seed(10) 
    >>> random.random() 
    0.5714025946899135 
    >>> random.seed(10) 
    >>> random.random() 
    0.5714025946899135
  1. 扩展随机数函数

    函数 描述
    randint(a, b) 生成一个[a, b]之间的整数
    >>>random.randint(10, 100)
    64
    randrange(m, n[, k]) 生成一个[m, n)之间以k为步长的随机整数
    >>>random.randrange(10, 100, 10)
    80
    getrandbits(k) 生成一个k比特长的随机整数
    >>>random.getrandbits(16)
    37885
    uniform(a, b) 生成一个[a, b]之间的随机小数
    >>>random.uniform(10, 100)
    13.096321648808136
    choice(seq) 从序列seq中随机选择一个元素
    >>>random.choice([1,2,3,4,5,6,7,8,9])
    8
    shuffle(seq) 将序列seq中元素随机排列,返回打乱后的序列
    >>>s=[1,2,3,4,5,6,7,8,9];random.shuffle(s);print(s)
    [3, 5, 8, 9, 6, 1, 2, 7, 4]