05-Python模块
一、简介
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被其他程序导入来使用模块具有的功能。这也是使用python标准库的方式。
import time
start_time = time.perf_counter()
i = []
for x in range(10):
if x%2 == 0:
i.append(x)
print(i)
end_time = time.perf_counter()
print(end_time - start_time)

首先使用import导入time包,这样意味着我们能够使用time包里的所有公共内容。最后利用time包的相关计时功能计算出该程序执行时长。调用模块可以减少函数的重复使用,精简代码。
二、from … import … 语句和import语句。
from sys import argv 表示从sys模块中导入了argv(可以是类,函数,变量等)。
form sys import *表示从sys模块中导入了所有内容。
import sys表示引入sys包
例子:
在test001.py中有这样一些函数:
def add(a, b):
print(a + b)
def sub(a, b):
print(a - b)
def mul(a, b):
print(a * b)
def divide(a, b):
print(a / b)
在test002中三种导入方式
1、from sys import argv 导入
from test001 import add
add(10, 5)

这个操作表示从test001模块中导入add函数,可以直接使用,而不用再重新写函数。
2. form sys import *
from test001 import * add(10, 5)
sub(12,6)
mul(12,0.3)
divide(1,5)

该操作表示从test001中导入例如所有函数功能,我们能够看到,在test001中的四个函数我们都能够使用。
import test001 test001.add(10, 5)
test001.sub(12,6)
test001.mul(12,0.3)
test001.divide(1,5)

使用import test001导入内容时,要指定模块的那个功能,否则系统会报错。
from…import注:相当于导入的是一个文件夹中的文件,是个绝对路径。而import 模块:相当于导入的是一个文件夹,是个相对路径。因此在使用模块中的函数时一定要指定是那一个模块。
三、__name__属性
在每一个模块中都会有一个__name__属性,表示这个主程序在当前模块程序,但当导入到其他模块时,主模块不执行。
if __name__ == “__main__”:
print(’当前模块执行’)
else:
print(‘在其他模块导入当前模块时执行’)


每个模块都有一个__name__属性,当其值是”__main__”时,表示模块自身在执行,否则被引入。
__name__和__main__都是双下划线,并且都是英文符。
四、dir函数
内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回。

导入sys模块后,我们能看到sys的相关属性列表,它返回的是当前模块的属性列表。当我们重新定义一个变量a,并且用dir()查看时,我们得到了当前模块中定义的属性列表。使用del删除a后,重新查看,我们能够看到其中存在的区别。
五、python包
包是模块的文件夹,有一个特殊的__init__.py 文件,用来表明这个文件夹是特殊
的因为其包含有Python 模块。包仅仅是为了方便层次化地组织模块。
blog/
__init__.py
A/
__init__.py
test.py
B/
__init__.py

如上面所示,在这个例子中,有三个python包,blog/叫做顶层包,A/和B/叫做子包。test.py表示子包下的python模块。
包的导入(导入test模块为例):
import blog.A.test /
from blog.A import test
这两种方式都是表示导入A包下的子模块。如果要导入模块下的某一函数,则应该这样做:
from blog.A.test import add
表示导入test模块中的add函数
05-Python模块的更多相关文章
- python 学习第五天,python模块
一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...
- Python模块的介绍
Python模块的学习: 1.os模块: 下面只对os模块中几个比较常用的方法做一些简单的示例: os.system():这个方法在shell中体现的比较多,在dos命令行中也可以执行,下面就以在do ...
- 50个很棒的Python模块
50个很棒的Python模块 我很喜欢Python,Python具有强大的扩展能力,我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images, Soun ...
- python 模块加载错误总结
在运行yum时提示如下错误 There was a problem importing one of the Python modules required to run yum. The error ...
- python模块部分----模块、包、常用模块
0.来源:https://www.cnblogs.com/jin-xin/articles/9987155.html 1.导入模块 1.1模块就是一个python文件,模块名是文件名 1.2导入模块的 ...
- python 模块之-time
python 模块time import time # 1 time() :返回当前时间的时间戳 time.time() #1473525444.037215 #------------------- ...
- python 模块和包
一,模块 1,什么是模块? 常见的场景: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py 的后缀. 但其实 import 加载的模块分为四个通用类别: 1,使用pyt ...
- python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctype ...
- python模块介绍-locustio:性能测试工具locustio
转自:http://automationtesting.sinaapp.com/blog/m_locustio_doc python测试文章 http://weibo.com/cizhenshi?is ...
- [转]50个很棒的Python模块
转自:http://www.cnblogs.com/foxhengxing/archive/2011/07/29/2120897.html Python具有强大的扩展能力,以下列出了50个很棒的Pyt ...
随机推荐
- C Primer Plus(三)
重读C Primer Plus ,查漏补缺 重读C Primer Plus,记录遗漏的.未掌握的.不清楚的知识点 文件输入/输出 1.fgets函数在读取文件内容时会将换行符读入,但gets不会,fp ...
- 一篇文章教会你使用Python定时抓取微博评论
[Part1--理论篇] 试想一个问题,如果我们要抓取某个微博大V微博的评论数据,应该怎么实现呢?最简单的做法就是找到微博评论数据接口,然后通过改变参数来获取最新数据并保存.首先从微博api寻找抓取评 ...
- mapper.xml文件映射配置
一.导入约束 为全局配置文件绑定dtd约束: 1)联网会自动绑定 2)没网的时候[/org/apache/ibatis/builder/xml/mybatis-3-mapper.dtd]:解压myba ...
- C# 泛型的基本知识,以及什么是泛型?
1.1 泛型概述 1.1.1 泛型广泛用于容器(collections) 1.1.2 命名空间System.Collections.Generic 1.2 泛型的优点. 以前类型的泛化(general ...
- IDEA SonarLint安装及使用
SonarLint插件安装IDEA菜单栏选择File->Settings,左边栏选择Plugins 在线安装选择Browse repositories,搜索Sonar,选择SonarLint进行 ...
- Idea配置JRebel插件的详细配置及图解
Idea最新JRebel插件的详细配置及图解 地址:https://blog.csdn.net/nyotengu/article/details/80629631#commentBox Ⅰ安装jreb ...
- Spring IoC component-scan 节点详解
前言 我们在了解 Spring 容器的扩展功能 (ApplicationContext) 之前,先介绍下 context:component-scan 标签的解析过程,其作用很大是注解能生效的关键所在 ...
- Python 简明教程 --- 5,Python 表达式与运算符
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...
- Zookeeper分布式过程协同技术 - 群首选举
Zookeeper分布式过程协同技术 - 群首选举 群首概念 群首为集群中服务器选择出来的一个服务器,并被集群认可.设置群首目的在与对客户端所发起的状态变更请求进行排序,包括:create.setDa ...
- 关于阿里云服务器Linux安装Tomcat后,外网不能访问解决方案
这里需要提及三个方面的问题 第一个方面:Linux上启动防火墙的问题 当下比较流行的Linux镜像是CentOS,所以防火墙也随之变成了firewall,那么怎么操作这个防火墙呢? #停止fi ...