zoukankan      html  css  js  c++  java
  • python之路——常用模块

    什么是模块

    什么是模块?

     常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。但其实import加载的模块分为四个通用类别:

      1.使用python编写的代码(.py文件)

      2.已被编译为共享库或DLL的C或C++扩展

      3.包好一组模块的包

      4.使用C编写并链接到python解释器的内置模块

    为何要使用模块?

      如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。

      随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用。

    模块的导入和使用

    常用模块

    collections模块

      在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrdereDict等。

    1.namedtuple:生成可以使用名字来访问元素内容的tuple

    2.deque:双端队列,可以快速的从另外一侧追加和推出对象

    3.Counter:计数器,主要用来计数

    4.OrderedDict:有序字典

    5.defaultdict:带有默认值的字典

    namedtuple

    我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:

    >>> p = (1,2)  

    但是,看到(1,2),很难看出这个tuple是用来表示是一个坐标的。

    这时,namedtuple就派上了用场:

    >>> from collections import namedtuple
    >>> Point = namedtuple('Point',['x','y'])
    >>> p = Point(1,2)
    >>> p.x
    1
    >>> p.y
    2  

    类似的,如果要用坐标和半径表示一个圆,也可以用namedtuple定义:

    # namedtuple('名称',[属性list]):
    Circle = namedtuple('Circle',['x','y','r'])  

    deque

  • 相关阅读:
    235. Lowest Common Ancestor of a Binary Search Tree
    112. Path Sum
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    108. Convert Sorted Array to Binary Search Tree
    win7+iis7.5+asp.net 安装IIS 遇到的一些问题
    创建一个简单的WCF程序
    ROW_NUMBER() OVER函数的基本用法
    input type="file"
    Nightmare
  • 原文地址:https://www.cnblogs.com/Black-rainbow/p/8762583.html
Copyright © 2011-2022 走看看