一、模块

模块(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. NVIDIA安倍架构

    NVIDIA安倍架构 NVIDIA Ampere ArchitectureNVIDIA The Heart of the World's Highest-Performing, Elastic Dat ...

  2. PageHelper--Mybatis分页插件(ssm框架下的使用)

    1.导入PageHelper依赖 <!-- MyBatis 分页插件 --> <dependency> <groupId>com.github.pagehelper ...

  3. 【NX二次开发】获取当前鼠标选择的对象 UF_UI_ask_global_sel_object_list

    先选择多个对象object,然后使用此函数获取选择的对象的tag,最后就可以使用object的一些函数了. ufun例子: extern DllExport void ufusr(char *parm ...

  4. Mysql_SQLyog 数据库的创建

    1.创建数据库 CREATE DATABASE [IF NOT EXISTS] westos; 2.删除数据库 DROP DATABASE [IF EXISTS] westos; 3.使用数据库 -- ...

  5. python通过字典实现购物车案例-用户端

    import os dict01 = { 'iphone' : { '5999' : { '总部位于美国' : '价格相对较贵', }, }, 'wahaha' : { '15' : { '总部位于中 ...

  6. 「10.11」chess(DP,组合数学)·array(单调栈)·ants(莫队,并茶几)

    菜鸡wwb因为想不出口胡题所以来写题解了 A. chess 昨天晚上考试,有点困 开考先花五分钟扫了一边题,好开始肝$T1$ 看了一眼$m$的范围很大,第一反应矩阵快速幂?? $n$很小,那么可以打$ ...

  7. Linux命令大全之基本命令

    命令提示符中:    ~:表示家目录   #:表示超级用户   $:表示普通用户 命令 [选项] [参数] ls(list):查询目录中的内容 ls  [选项]  [文件或目录] -a:显示所有文件, ...

  8. Oracle11g RAC详解

    升级变化:          Oracle10g,高版本都是由低版本升级得到的.要装10.2.0.4,必须先安装database10.2.0.1,然后给这个ORACLE_HOME打补丁p6180189 ...

  9. 『动善时』JMeter基础 — 50、使用JMeter测试WebSocket接口

    目录 1.什么是WebSocket接口 2.为什么需要WebSocket 3.测试WebService接口前的准备 4.WebSocket Sampler组件界面详解 5.使用JMeter测试WebS ...

  10. Linux中date的用法

    一.命令格式:date [参数]... [+格式]二.命令功能:date 可以用来显示或设定系统的日期与时间.三.命令格式:%H 小时(以00-23来表示). %I 小时(以01-12来表示). %K ...