EmmmuaCode EmmmuaCode
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)

wufan

海内存知己,天涯若比邻。
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)
  • Python 基础

    • Python 基础篇(一)
    • Python 基础篇(二)
    • Python 基础篇(三)
    • Python 基础篇(四)
    • Python 基础篇 (五)
    • Python 列表
    • Python 字典
    • Python 元组和集合
    • Python 字符串
    • Python 函数与变量作用域
    • Python 异常处理
    • Python 面向对象
    • Python 模块与包
      • 什么叫模块
      • 自定义模块
      • 以主程序形式运行
      • Python中的包
      • Python中常用的内置函数
      • 第三方模块的 安装及使用
    • Python 文件
    • 学生信息管理系统
  • 数据分析

    • 数据分析介绍
    • 环境搭建
    • Numpy库
    • Pandas 库
  • 大数据

    • 大数据基本导论
  • Hadoop

    • hadoop集群搭建
    • HDFS详解
    • HDFS API
    • MapReduce
    • MapReduce原理及API
    • YARN
  • zookeeper

    • zookeeper详细文档
  • Hive

    • Hive基础
    • Hive SQL语法大全
    • Hive性能调优
  • 工具

    • Flume 详细文档
    • Sqoop详细文档
    • Azkaban详细文档
  • studynotes
  • bigdata
  • Python
wufan
2021-12-20
目录

Python 模块与包

# Python 模块与包

# 什么叫模块

  • 模块

    • 模块英文为Modules
    • 函数与模块的关系
      • 一个模块中可以包含N多个函数
    • 在Python中一个扩展名为.py的文件就是一个模块
    • 使用模块的好处
      • 方便其他程序和脚本的导入并使用
      • 避免函数名和变量名冲突
      • 提高代码的可维护性
      • 提高代码的可重复性

# 自定义模块

  • 创建模块

    • 新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同
  • 导入模块

    import 模块名称 [as别名]

    from 模块名称 import 函数/变量/类

"""
@Author :frx
@Time   :2021/11/1 19:47
@Version    :1.0
"""
import math  #关于数学运算的模块
print(id(math))
print(type(math))
print(math)
print(math.pi)
print('-------------------------------------')
print(dir(math))
print(math.pow(2,3),type(math.pow(2,3)))  #2的3次方 8.0  float
print(math.ceil(9.001))  #最接近的最大整数 10
print(math.floor(9.999)) #最接近的最小整数 9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"""
@Author :frx
@Time   :2021/11/1 19:54
@Version    :1.0
"""
from math import pi
import math
print(pi)
print(pow(2,3))       #如果没有导入math 结果为8
print(math.pow(2,3))  #如果没有导入math 报错  8.0
#或
#from math import pow
#print(pow(2,3))   #8.0
1
2
3
4
5
6
7
8
9
10
11
12
13
  • 自定义模块
"""
@Author :frx
@Time   :2021/11/1 19:59
@Version    :1.0
"""
def add(a,b):
    return a+b
def div(a,b):
    return a/b

#如何导入自己定义的模块
1
2
3
4
5
6
7
8
9
10
11
"""
@Author :frx
@Time   :2021/11/1 20:00
@Version    :1.0
"""
#在demo5中导入calc自定义模块使用
import calc
print(calc.add(10,20)) #30
print(calc.div(10,4))  #2.5

#或
#from calc import add
# print(add(10,20))
1
2
3
4
5
6
7
8
9
10
11
12
13

# 以主程序形式运行

  • 以主程序形式运行

    • 在每个模块的定义中都包括一个记录模块名称的变量_name_,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的_name_变量的值为_main_
    if __name__ = '__main__':
        pass
    
    1
    2
"""
@Author :frx
@Time   :2021/11/1 22:51
@Version    :1.0
"""
def add(a,b):
    return a+b

if __name__ == '__main__':
    print(add(10,20))  #只有当点击运行calc2时,才会执行运算
1
2
3
4
5
6
7
8
9
10
"""
@Author :frx
@Time   :2021/11/1 22:52
@Version    :1.0
"""
import calc2
print(calc2.add(100,200))
1
2
3
4
5
6
7

# Python中的包

  • Python中的包

    • 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下

    • 作用

      • 代码规范
      • 避免模块名称冲突
    • 包与目录的区别

      • 包含_int_.py文件的目录称为包
      • 目录里通常不包含_init_.py文件
    • 包的引入

      import 包名.模块名

"""
@Author :frx
@Time   :2021/11/1 23:16
@Version    :1.0
"""
#在demo8的模块中导入 package1包
import package1.module_A as ma #ma是package1.module_A这个模块的别名
# print(package1.module_A.a)
print(ma.a) #模块ma中的a
1
2
3
4
5
6
7
8
9
"""
@Author :frx
@Time   :2021/11/1 23:20
@Version    :1.0
"""
#导入带有包的模块时注意事项
import package1
import calc
#在使用import导入的时候,只能跟包名或模块名

from package1 import module_A
from package1.module_A import a
#使用from...import可以导入包,模块,函数,变量
1
2
3
4
5
6
7
8
9
10
11
12
13

# Python中常用的内置函数

模块名 描述
sys 与Python解释器及其环境操作相关的标准库
time 提供与时间相关的各种函数的标准库
os 提供了访问操作系统服务功能的标准库
calendar 提供与日期相关的各种函数的标准库
urllib 用于读取来自网上(服务器)的数据标准库
json 用于使用JSON序列化和反序列化对象
re 用于在字符串中执行正则表达式匹配和替换
math 提供标准算术运算函数的标准库
decimal 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算
logging 提供了灵活的记录时间、错误、警告和调试信息等日志信息的功能
"""
@Author :frx
@Time   :2021/11/1 23:33
@Version    :1.0
"""
import sys
import time
import urllib.request
import math
print(sys.getsizeof(24))     #28
print(sys.getsizeof(45))     #28
print(sys.getsizeof(True))   #28
print(sys.getsizeof(False))  #24

print(time.time())        #1635780996.9094539
print(time.localtime(time.time())) #time.struct_time(tm_year=2021, tm_mon=11, tm_mday=1, tm_hour=23, tm_min=36, tm_sec=36, tm_wday=0, tm_yday=305, tm_isdst=0)

print(urllib.request.urlopen('http://www.baidu.com').read())

print(math.pi)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 第三方模块的 安装及使用

  • 第三方模块的安装

    pip install 模块名

    pip install schedule

  • 第三方模块的使用

    import 模块名

"""
@Author :frx
@Time   :2021/11/1 23:43
@Version    :1.0
"""
import time

import schedule
def job():
    print('哈哈____')

schedule.every(3).seconds.do(job) #每隔三秒执行一次job方法
while True:
    schedule.run_pending()
    time.sleep(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Python
上次更新: 2024/04/21, 09:42:22
Python 面向对象
Python 文件

← Python 面向对象 Python 文件→

最近更新
01
微信支付功能的实现与流程
11-21
02
购物车与结算区域的深入优化与功能完善
11-21
03
购物车与结算区域的功能实现与优化
11-21
更多文章>
Theme by Vdoing | Copyright © 2023-2024 EmmmuaCode | 黔ICP备2022009864号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式