模块和包(几个py文件的调用)
来源:互联网 发布:电脑照片合成软件 编辑:程序博客网 时间:2024/06/08 16:13
模块:
概述: 问题: 目前来说代码量较少,代码写在一个文件中提现不出问题,随着代码量的增加,
就会越来越难以维护解决: 为了解决难以维护的问题, python可以将很多具有相似的功能进行分组,
分别放到不同的文件中去, 方便的使用(调用),提高复用性,减少代码量
而且会将每一个文件的大致功能用文件名来命名提现,(方便调用)
很多语言都会有这样一个特点
python中一个py文件就是一个模块优点:
1.提高到代码的维护性
2.提高了复用性
3.引用其他的模块(标准模块,自定义模块,第三方模块)
4.避免了函数名和变量名冲突
自定义模块
引入一个模块, 不用加 .py后缀
模块名需要遵从 标识符的命名规则
模块从重复引用时,不会报语法错误, 只会引用一次引入模块
1, from 模块名 import 函数名
引入需要的函数
访问函数时只需要写函数名
add()
如果有参数的话,括号里要传入参数2, from 模块名 import *
引入全部的函数
访问函数时只需要写函数名
add()3, import 模块名
引入全部的函数
访问模块的函数时需要加上模块名
模块名.函数名 admin.add()小结:跟导入内置函数用法一样,函数名加括号add(),调用整个函数
包
问题: 如果不同的开发人员编写的模块同名怎么办?
特点:引入了包以后, 只要顶层的包不与其他文件发生冲突,那么模块都不会与其他人发生冲突
注意:目录只有包含了一个叫作”init.py”的文件才被认作是一个包,主要是为了避免一些
滥竽充数的名字, 基本上目前这个文件中什么也不用写引入包
在同级目录下引入包
import 包名.模块名 import a.test调用
包名.模块名.函数 a.test.sayGood()
如果有参数的话,括号里要传入参数如果是好几级包的话,每个包名按顺序排开,中间用点相连
import b.c.test
b.c.test.sayGood()
3, name 属性
模块是一个可执行的.py文件, 一个模块被另一个程序引入,我不想让模块中的某些代码执行,
可以用name属性来使程序仅调用程序模块中的一部分私有函数name
用此函数说明这是私有的,调用整个函数时,调用不到它,
if __name__ == '__main__': print('chu is a good man')# else:# print('chu is a nice man ')
- 模块和包(几个py文件的调用)
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- Python模块包中__init__.py文件的作用
- python调用其他py文件的函数和类
- python入门笔记--模块和模块包的调用
- Python模块包中__init__.py文件 精髓
- python学习(2):自定义包结构及__init__.py模块和__all__变量的使用
- C语言进阶-第15~16讲:结构体应用(学生成绩统计)
- 阿兰图灵和冯诺依曼,谁才是可称得起计算机之父呢?
- 测鬼记(中)之奋斗——测试设计师
- [leetcode]第十周作业
- Java 8---LocalDate,LocalTime处理日期时间
- 模块和包(几个py文件的调用)
- 运动检测(前景检测)之——ViBe
- C# Picturebox对其他Picturebox的透明问题
- windows下的多线程简单使用
- 绝对值排序
- SSM报错:No mapping found for HTTP request with URI [/smbms/js/echarts.js] in DispatcherServlet with na
- 线程之生产者、消费者
- jni调用DLL动态链接库过程
- 轻松理解MyBatis二级缓存的设计原理