zoukankan      html  css  js  c++  java
  • python学习笔记(三)

    模块

    模块的功能就是重复运用代码块,如里面的函数,属性和类。

    导入模块

    模块的导入是一次导入的,首次导入后会生成一个.pyc的文件,如果再次导入时,python会导入.pyc文件而不是.py文件,除非.py文件已改变,在这种情况下,会生成新的.pyc文件。

    自定义模块

    自定义模块是很简单的,把你自己写的模块保存为.py结尾的python文件,把它放在python解释器能够识别的路径里,我们可以通过sys.path查看可存放路径,

    习惯上我们把模块放在site-packages目录下;另一种方法是告诉编译器去哪里找我们定义的模块,我们可以在PYTHONPATH环境变量中包含模块所在的目录信息:在环境变量的页面中编辑或新建一个用户变量,变量名为PYTHONPATH,将路径作为变量值,多个值以分号隔开。

    为了组织好模块,你可以将它们分组为包,包就是另一类模块。为了让python把包含模块的目录/文件作为包看待,它必须包含一个命名为__init__.py的模块。

    为了将模块放置在包内,直接把模块放在包目录内即可。

    堆(heap)

    数据结构堆是优先队列的一种,使用优先队列能够以任意顺序增加对象,并且能在任何时间找到最小的元素。在python中并没有独立的堆类型,只有一个包含一些堆操作函数的模块,这个模块叫做heapq,包含6个函数。你必须将列表作为堆对象本身。

    函数

    描述
    heappush(heap,x) 将x入堆
    heappop(heap) 将堆中最小的元素弹出
    heapify(heap) 将heap属性强制应用到任意一个列表
    heapreplace(heap,x) 将堆中最小的元素弹出,同时将x入堆
    nlargest(n,iter) 返回iter中第n大的元素
    nsmallest(n,iter) 返回iter中第n小的元素

    In [1]: from heapq import *

    In [2]: from random import shuffle

    In [3]: data = range(10)

    In [4]: heap = []

    In [5]: for n in data:
       ...:     heappush(heap,n)
       ...:

    In [6]: heap
    Out[6]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    In [7]: heappush(heap,0.5)

    In [8]: heap
    Out[8]: [0, 0.5, 2, 3, 1, 5, 6, 7, 8, 9, 4]

    In [9]: heappop(heap)
    Out[9]: 0

    双端队列(double-ended queue,或称deque)

    在需要按照元素增加的顺序来移除元素时非常有用

    In [10]: from collections import deque

    In [11]: q = deque(range(5))

    In [12]: q.append(5)

    In [13]: q.appendleft(6)

    In [14]: q
    Out[14]: deque([6, 0, 1, 2, 3, 4, 5])

    In [15]: q.pop()
    Out[15]: 5

    In [16]: q.popleft()
    Out[16]: 6

    In [17]: q
    Out[17]: deque([0, 1, 2, 3, 4])

    In [18]: q.rotate(2)#左移或右移元素

    In [19]: q
    Out[19]: deque([3, 4, 0, 1, 2])

    time模块

    time模块中重要的函数                              

    函数 描述
    asctime([tuple]) 将时间元组转换为字符串
    localtime([secs]) 将秒数转换为日期元组,以本地时间为准
    mktime(tuple) 将时间元组转换为本地时间
    sleep(secs) 休眠secs秒
    strptime(string[.format]) 将字符串解析为时间元组
    time() 当前时间

    此外,python还提供了两个和时间密切相关的模块:datetime(支持日期和时间的算法)和timeit(帮助开发人员对代码的执行时间进行计算)

    random模块

    random模块包括返回随机数的函数

    random模块中一些重要的函数

    函数 描述
    random() 返回0<n<=1之间的随机实数n
    getrandbitsThumbs down 以长整型形式返回n个随机位
    uniform(a,b) 返回随机实数n,其中a<=n<b
    randrange([start],stop,[step]) 返回range(start,stop,step)中的随机数
    choice(seq) 从序列seq中返回随意元素
    shuffle(seq) 原地指定序列seq
    sample(seq,n) 从序列seq中选择n个随机且独立的元素
     
     

  • 相关阅读:
    计算直线的交点数
    不容易系列之(4)——考新郎
    神、上帝以及老天爷
    N!
    Number Sequence
    33_ABB机器人智能周期保养与复位操作
    34_WorldZone区域监控功能的使用
    三菱PLC(FX3U)的模拟量应用
    第19集 PLC盒子的使用
    第18集 使用黑盒设计创建宏文件
  • 原文地址:https://www.cnblogs.com/lpworkstudyspace1992/p/6079317.html
Copyright © 2011-2022 走看看