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

  • 相关阅读:
    网易云信流媒体服务端架构设计与实现
    从零开始搭建创业公司后台技术栈
    协程(coroutine)简介
    微服务的简介和技术栈
    分布式系统中最容易被忽视的六大“暗流”
    分布式架构的演进
    全网最详尽的负载均衡原理图解
    图解 | 搞定分布式,程序员进阶之路
    Enterprise Library 3.0体验(4):Validation Application Block与ASP.NET的集成
    Enterprise Library 3.0 发布
  • 原文地址:https://www.cnblogs.com/Black-rainbow/p/8762583.html
Copyright © 2011-2022 走看看