Python入门学习(十)Python模块化编程

Python入门

Python开发工具的使用:Pycharm的配置使用


第一章:Python入门学习(一)Print函数、Input函数、基本数据类型、运算符、流程控制语句、循环语句
第二章:Python入门学习(二) 列表的增删改查
第三章:Python入门学习(三) 字典的增删改查
第四章:Python入门学习(四)元组与集合
第五章:Python入门学习(五)字符串的操作
第六章:Python入门学习(六)函数学习
第七章:Python入门学习(七)Python异常处理机制
第八章:Python入门学习(八)Python中的类和对象
第九章:Python入门学习(九)Python面向对象的三大特征封装、继承和多态
第十章:Python入门学习(十)Python模块化编程
第十一章:Python入门学习(十一)Python的IO操作


第十二章:Python进阶学习(一)_学生信息管理系统项目


代码仓库地址:Python入门项目

什么叫模块

模块英文Modules
函数与模块的关系:
一个模块中可以包含N多个函数
在Python中一个扩展名为.py的文件就是一个模块
使用模块的好处:

  1. 方便其他程序和脚本的导入并使用
  2. 避免函数名和变量名冲突
  3. 提高代码的可维护性
  4. 提高代码的可重用性

自定义模块

一个模块中可以包含函数、类、语句,一个项目中会有多个模块

创建模块

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

导入模块

import 模块名称 [as  别名]
from 模块名称 import 函数/变量/

导入 math 模块
第一种

import math
print(id(math))
print(type(math))
print(math)
print(math.pi)
print("----------------------")
print(dir(math))
print(math.pow(2,3))# 2的3次方
print(math.ceil(9.009))  # 天花板  向上取整
print(math.floor(9.009)) # 地板    向下取整

第二种 导入模块中的指定内容

# desc: 模块导入     from math import  pi 导入模块的指定内容
from math import  pi
print(pi)

在其他模块导入自己的定义模块

创建demo3.py模块

def add(a,b):
    return a+b
def dev(a,b):
    return a/b

创建demo4.py模块,在demo4中导入自定义的demo3模块。

import demo3

Python入门学习(十)Python模块化编程_第1张图片
但是发现导入报错。需要将文件夹的属性修改为资源根目录。
Python入门学习(十)Python模块化编程_第2张图片
Python入门学习(十)Python模块化编程_第3张图片
这样就可以在demo4模块使用我们定义的demo3模块的函数了

import demo3

print(demo3.add(10,30))
print(demo3.dev(10,20))

以主程序的形式执行

Python入门学习(十)Python模块化编程_第4张图片

在每个模块中的定义中都包括一个记录模块名称的变量_name_,程序可以检查该变量,以确定他们在那个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的_name_变量的值为_main_

Python入门学习(十)Python模块化编程_第5张图片
Python入门学习(十)Python模块化编程_第6张图片
但是发现30也被打印出来了
Python入门学习(十)Python模块化编程_第7张图片
我们不想让30打印出来。
就可以将我们的那句输出函数放在main方法中
Python入门学习(十)Python模块化编程_第8张图片

if __name__ == '__main__':
    print(add(10, 20))

这样在别的模块调用add方法就不会打印我们刚刚出现的那句了。
Python入门学习(十)Python模块化编程_第9张图片

Python中的包

是一个分层次的目录结构,他将一组功能相近的模块组织在一个目录下。
作用:
1. 代码规范
2. 避免模块名称冲突
包与目录的区别:
1. 包含__init__.py文件的目录称为包
2. 目录里通常不包含__init__.py文件
Python入门学习(十)Python模块化编程_第10张图片

包的导入:

import 包名.模块名

创建Package包

Python入门学习(十)Python模块化编程_第11张图片
创建com.lsh
在这里插入图片描述

包当中会存在__init__.py文件
Python入门学习(十)Python模块化编程_第12张图片

包的导入

import com.lsh.modeule_A as a     # 导入com.lsh包的modeule_A模块
print(a.a)

Python入门学习(十)Python模块化编程_第13张图片
注意:
使用import方式导入的时候,只能跟包名或者模块名
使用from...import...可以导入包、模块、函数、变量

Python中常用的内置模块

Python入门学习(十)Python模块化编程_第14张图片

第三方模块的安装和使用

pip install 模块名

# 例如  安装定时器模块
pip install schedule

如果Pycharm报错的话,直接鼠标悬浮在报错的位置直接安装也是可以的。
r
Mac使用pip命令未找到以及其他问题

第三方模块的使用

import 模块名

使用schedule创建定时任务

# author: LiuShihao
# data: 2020/11/30 7:53 下午
# youknow: 各位老铁,我的这套代码曾经有人出价三个亿我没有卖,如今拿出来和大家分享,不求别的,只求大家免费的小红心帮忙点一点,这里谢过了。
# desc: 导入第三方模块   创建定时任务

import schedule   # 导入schedule(第三方模块)
import time       # 导入time模块(内置模块)
# 定义一个函数
def job():
    print("现在是",time.strftime('%Y年%m月%d日 %M时%I分%S秒', time.localtime()))
# 设置执行计划
schedule.every(3).seconds.do(job)

while True:
    schedule.run_pending()
    time.sleep(2) # 休眠1秒

总结

Python入门学习(十)Python模块化编程_第15张图片

你可能感兴趣的:(Python,python,编程语言)