一、模块

模块(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

最新文章

  1. Struts2中的OGNL通配符
  2. memcached 的安装与使用
  3. Scrum介绍
  4. Oracle数据库管理员面试题
  5. isset和empty比较
  6. 最大似然估计(Maximum Likelihood,ML)
  7. 斐波那契数列PHP非递归数组实现
  8. 小奇模拟赛9.13 by hzwer
  9. Linux中防火墙centos
  10. DRAM(MT48LC8M32B2)学习
  11. Spring消息之STOMP
  12. 如何在本地搭建DVWA环境
  13. PS调出甜美艺术外景女生照片
  14. python 字典与json的区别
  15. golang 报错illegal rune literal
  16. poj3281构图题
  17. SEO 图片用IMG插入好还是用Background定义好?
  18. MongoDB学习笔记(3)--删除数据库
  19. vqmod for opencart插件制作进阶与技巧
  20. Redis事务的简单理解

热门文章

  1. 英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器
  2. the rust book 的简单入门笔记
  3. 如何查看app启动的activity
  4. itools安装程序无法创建临时文件夹
  5. SpringMVC 进阶版
  6. Redundant Paths 分离的路径
  7. WPF中ListView控件怎么添加新的tiem时滚动条一直在最下面
  8. 重新整理 .net core 实践篇—————grpc[三十三]
  9. WEB安全新玩法 [5] 防范水平越权之查看他人订单信息
  10. 13、解决java -version命令报错