一、模块

模块(Module)是由一组类、函数和变量组成的,模块文件的扩展名是.py或.pyc

在使用模块之前,需要先使用import语句导入这个模块。

语法格式如下:

  import 模块名

  from 模块 import 方法(变量)名1......

from .... import 语句允许我们只导入模块的一部分,如导入某个具体的类、方法或变量。

当使用import语句加载模块时,模块内的程序代码会立即被执行。

使用from .... import 语句只导入我们需要的部分内容,能极大的提高空间的使用效率。

二、类库

类库(Package)也称为包,是由相同文件夹下的一组模块组成,类库的使用方法和模块的方法类似;

唯一需要注意的是,将文件夹当做类库使用时,文件夹中必须包含__init__.py文件,主要为了避免文件夹名当做普通的字符串使用

语法格式如下:

  import 类库

  import 类库.模块

  from 类库.模块 import 方法/(变量)

  from 类库 import 模块

import math                     # 导入一个模块
import os, sys # 导入多个模块

import datetime
from datetime import date # 导入模块中某个具体的类
from math import pi # 导入模块中某个变量

# import ch08_2

import xml
# import xml.sax # 需要使用全名去访问
# from xml import sax
# from xml import *
# from xml.sax.handler import version

a = 1024
print("a的平方根为:", math.sqrt(a)) # 求平方根
print(pi)

print("当前工作平台:", os.name) # 'nt': Windows 'posix': Linux/Unix
print("当前系统平台:", sys.platform)

print("今天的日期:", datetime.date.today())
print("今天的日期:", date.today())

ver = xml.sax.handler.version
print("版本号:", ver)

import datetime as dt                   # 给模块取个别名
from datetime import date as newdate # 给模块中的类/方法/变量取别名

import math

print("今天的日期:", dt.date.today())
print("今天的日期:", newdate.today())

today = dt.date.today
print("今天的日期:", today())

new_math = math
print(new_math.pi)

# 模块的内置方法
# __dict__:显示模块的字典
print("__dict__:", dt.__dict__)

# __doc__:显示模块的文件字符串
print("__doc__:", dt.__doc__)

# __name__:显示模块的名称,用来标识命名空间
print("__name__:", dt.__name__)
# 一个模块被另一个程序第一次导入时,其主程序会被执行
print('__name__:', __name__)
if __name__ == '__main__':
print('该模块自身在运行')
else:
print('该模块被导入另一个程序时被运行')

# __file__:显示模块的完整文件路径
print("__file__:", dt.__file__)

# del:删除已加载的模块(从内存中清除)
del dt

python -- 模块与类库的更多相关文章

  1. python之模块与类库

    什么是模块 模块是一组类,函数,方法所组成的.这些类都储存在文本文件中..py是python程序代码中的扩展名,模块可能是c或者python写的.模块的扩展名可以是.py或者是.pyc(经过编译的.p ...

  2. python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

    1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = Fal ...

  3. python成长之路【第十八篇】:python模块介绍、模块导入和重载

    一.模块和命名空间 一般来说,Python程序往往由多个模块文件构成,通过import语句连接在一起.每个模块文件是一个独立完备的变量包,即一个命名空间.一个模块文件不能看到其他文件定义的变量名,除非 ...

  4. python模块大全

    python模块大全2018年01月25日 13:38:55 mcj1314bb 阅读数:3049 pymatgen multidict yarl regex gvar tifffile jupyte ...

  5. python- 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

    1.双层装饰器 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = Fa ...

  6. 分分钟钟学会Python - 模块

    目录 模块 1 模块基础知识 2 random 返回随机生成的一个实数 3 hashlib 摘要算法模块 Hmac算法 4 time /datetime 时间模块 5 getpass 密码不显示(只能 ...

  7. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  8. Python模块之configpraser

    Python模块之configpraser   一. configpraser简介 用于处理特定格式的文件,其本质还是利用open来操作文件. 配置文件的格式: 使用"[]"内包含 ...

  9. Python模块之"prettytable"

    Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...

随机推荐

  1. Json文件解析(下)

    Json文件解析(下) 代码地址:https://github.com/nlohmann/json   从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...

  2. 快手推荐系统及 Redis 升级存储

    快手推荐系统及 Redis 升级存储  借傲腾 补上 DRAM 短板 内容简介: 作为短视频领域的领先企业,快手需要不断导入更先进的技术手段来调整和优化其系统架构,以应对用户量和短视频作品数量的爆炸式 ...

  3. Nucleus 实时操作系统中断(上)

    Nucleus 实时操作系统中断(上) Interrupts in the Nucleus SE RTOS 所有现代微处理器和微控制器都有某种中断设施.这种能力对于提供许多应用程序所需的响应能力是必不 ...

  4. B-Tree插入和删除的Java实现

    B-Tree插入和删除的Java实现 一.一颗非空m阶B-Tree的性质 除根结点以外的每个结点的孩子引用最多存在m个,关键码最多存在m - 1个:除根结点以外的每个结点的孩子引用至少存在⌈m / 2 ...

  5. antd组件库BackTop组件设置动态背景图片的问题

    有这么一个需求,利用antd组件库中的BackTop组件的逻辑,但是自己写样式. 我的目标样式是:有两张图片,一张是normal(正常情况),一张是hover(悬停情况). 这时候就要用到css的动画 ...

  6. 前台使用Vue

    前台搭建遇到问题 ----前台访问量大 未采用vue 单页面SAP 的方式构建 使用多HTML构建页面 项目构建 vue 2.6 https://cn.vuejs.org/ elementUI htt ...

  7. canvas绘制动画的技巧

    我们拿下图中的沿着线段轨迹移动的原点来举例,怎么来实现这个动画! 1)定义路径集合Path,里面规定关键坐标点如startPoint和endPoint,设置从startPoint移动到endPoint ...

  8. 为什么catch了异常,但事务还是回滚了?

    前几天我发了这篇文章<我来出个题:这个事务会不会回滚?>得到了很多不错的反馈,也有不少读者通过微信.群或者邮件的方式,给了我一些关于test4的回复.其中还有直接发给我测试案例,来证明我的 ...

  9. 我是怎么写 Git Commit message 的?

    目录 作用 用的什么规范? type scope subject body footer 参考文章 用的什么辅助工具? 作用 编写格式化的 commit message 能够大大提高代码的维护效率. ...

  10. Prometheus+Grafana企业监控系统

    Prometheus+Grafana企业监控系统 作者 刘畅 实验配置: 主机名称 Ip地址 controlnode 172.16.1.70/24 slavenode1 172.16.1.71/24 ...