导入之前创建的模块(文件)calc,模块是以文件的形式存在的,一个模块就是一个文件,
calc就是创建的一个calc.py的文件里编写的方法,一个模块(文件)里可以有N个函数,N个类,N个语句
导入后可以用模块名调用模块里定义的方法名,再放入元素
调用方法就是:
文件名.方法名(输入参数)
这里将另一个文件(模块)里的定义的方法放到这里,方便观察,下面那个模块名叫做calc,以下是定义的功能和作用
#该模块定义的的功能和作用
def add(a,b):
return a+b #该模块方法会将ab两个参数相加
print(add(10,20)) #输出语句,使用add()方法将10和20两个参数相加然后输出
接下来导入这个calc模块(文件)
import calc
print(calc.add(100,200)) #文件名.文件里定义的方法名(输入参数)
"""
输出结果是:
30
300
这里会多出一个30,是因为定义方法的那个模块里有输出的语句,
但这里不想输出这个30,则可以在定义这个方法的模块里将这个输出语句添加到一个代码里,if __name__ =="__main__"
这样那个输出语句就只会在创建他的那个模块里输出,这样在别的文件中调用它时就不会输出这个结果了
下面是calc模块修改后的语句和方法
#下面演示一下修改后的语句
#这是另一个模块的功能
#该模块的功能和作用
def add(a,b):
return a+b #该模块方法会讲ab两个参数相加
#在这个语句内的代码只会在主程序中运行,也就是定义这个代码的文件里才会运行,其他的模块或文件调用时不会运行
if __name__ == '__main__':
print(add(10,20))
#这个语句快捷输入方式就是输入:
main 然后点回车,就会变成 if __name__ == '__main__':
用这种方式创建的模块就不会出现多出一些输出结果的问题了。
Python中的包 包是一个分层次的目录结构,他将一组功能相近的模块组织在一个目录下 作用: 1.代码规范 2.避免模块名称冲突 包与目录的区别: 1.包含__init__.py文件的目录称为包 2.目录里通常不包含__init__.py文件 包的导入: improt 包名.模块名 包和目录就是一个文件夹,只不过创建包的文件夹时会自带一个__init__.py的文件,而创建目录不会 而模块就是.py的文件,Pycharm右键项目可新建python文件或python软件包和目录。 一般编写程序就会将功能相似的模块组织在一个目录下。 写程序时先分好这个程序需要什么功能,这个功能该怎么实现,所以就需要创建多个目录,每个目录里有多个包,包里有多个模块
模块导入另一个包的模块的方法:
import 包名.包里的模块名
然后使用这个模块时只需要包名.文件名,觉得太长的话可以在导入是给这个导入的模块取个别名
例:
import 包名.包里的模块名 as a a就是包名.包里的模块名的别名,因为名字太长了,所以取个别名来使用它
将这个模块名取个别称a
导入带有包的模块时的注意事项:
import 包名
import 模块名
#使用import方式进行导入时只能跟包名或者模块名
from 包名 import 模块名 #这句代码的翻译是: 从 这个包里 导入 这个模块
form 包名.模块名 import a #这句代码的翻译是: 从这个包里调用这个模块 导入这个模块的变量a
#使用from...import 可以导入包、模块、函数、变量。
常见的python内置模块
sys 与Python解释器及其环境操作相关的标准库
time 提供与时间相关的各种函数的标准库
os 提供了访问炒作系统服务功能的标准库
calendar 提供与日期相关的各种函数的标准库
urllib 用于读取来自网上(服务器)的数据标准库
json 用于使用JSON序列化和反序列化对象
re 用于在字符串中执行正则表达式匹配和替换
math 提供标准算数运算函数的标准库
decimal 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算
logging 提供了灵活的记录事件、错误、警告和调试信息等日志信息功能
第三方模块的安装及使用
1.第三方模块的安装
pip install 模块名 #这种方法是在线下载这个包,需要win+R打开命令行输入pip install 模块名,然后就可以使用python导入这个包了
如果安装时报错,则可以输入
pip install --upgrade pip 对pip进行升级
也可以在Pycharm的设置里的项目的python解释器里安装第三方模块
2.第三方模块的使用
import 模块名
#这里需要导入一个第三方模块schedule
import schedule #未下载是不能导入的,因为会报错,Win+R打开命令行下载这个第三方库pip install schedule
import time
def job():
print("嘿嘿")
schedule.every(3).seconds.do(job()) #三秒执行一次
#让他每次执行完休息一秒
while True:
schedule.run_pending() #启动它
time.sleep(1) #休息一秒
运行后就能够实现每三秒发送一句嘿嘿,每循环一次休息一秒
schedule这个第三方模块通常用作定时发送邮件