当前位置: 首页 > news >正文

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

 

转载于:https://www.cnblogs.com/Black-rainbow/p/8762583.html

相关文章:

  • 排序算法之选择排序
  • PostgreSQL入门及提权
  • 面向对象1
  • Lambda表达式(Java)
  • 区块链将会怎样颠覆Google、Amazon、Facebook和Apple?
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Windows Server 2012的服务管理自动化 -启动类型设置,手动启动还是自动启动
  • JVM 组成以及各部分作用
  • PHP 500报错的快速解决方法
  • windows网络模型之完成端口(CompletionPort)详解 (转)
  • [转]区块链代码快速学习实践
  • 《王牌特工2》情景再现,Youbionic推出可穿戴式机械手
  • 扩展GenericServlet实现Servlet程序 学习笔记
  • HTTP协议-HTTP响应报文
  • 《以太坊白皮书》笔记(3)—— 以太坊介绍. 下
  • 【mysql】环境安装、服务启动、密码设置
  • CentOS7简单部署NFS
  • HTML-表单
  • HTTP中GET与POST的区别 99%的错误认识
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JSONP原理
  • Vue2 SSR 的优化之旅
  • 动态规划入门(以爬楼梯为例)
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 系统认识JavaScript正则表达式
  • 与 ConTeXt MkIV 官方文档的接驳
  • elasticsearch-head插件安装
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ​用户画像从0到100的构建思路
  • ![CDATA[ ]] 是什么东东
  • #includecmath
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2)STM32单片机上位机
  • (2020)Java后端开发----(面试题和笔试题)
  • (bean配置类的注解开发)学习Spring的第十三天
  • (poj1.3.2)1791(构造法模拟)
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转)一些感悟
  • .Family_物联网
  • .NET Framework 4.6.2改进了WPF和安全性
  • .Net 知识杂记
  • .NET中winform传递参数至Url并获得返回值或文件
  • .project文件
  • /*在DataTable中更新、删除数据*/