2021-08-26 Python之模块的导入和使用

#模块的导入和使用
'''
在python中,模块是代码组织的一种方式,把功能相近的函数或者类放到一个文件中,一个文件(.py)就是一个模块(module)
模块就是文件名去掉后缀.py,
这样做的好处:
提高代码的复用性和可维护性,一个模块编写完毕后,可以很方便的在其他项目中导入
解决了命名冲突的问题,不同模块中相同的命名不会冲突

导入模块:
1.import 模块名
模块名.变量 模块名.函数 模块名.类

2.from 模块名 import 变量 | 函数 | 类

3.from 模块名 import *
该模块中所有的内容
但是如果想限制获取的内容,可以在模块中使用__all__=[使用*可以访问到的内容]
无论是import还是from的形式,都会将模块内容进行加载
如果不希望其进行调用,就会用到__name__
在自己的模块中__name__叫__main__
如果在其他模块中通过导入的方式调用的话,__name__就是模块名


'''

'''
常用标准库:
/------标准库------/------------------说明----------------------/
/------------------- /----- ---------------------------------------  /
/builtins             /          内建函数默认加载                 / 
/math                /                 数学库                            /
/random            /    生成随机数       /
/time                  /      时间           /
/datetime     /    日期和时间       /
/calender     /      日历           /
/hashlib       /     加密算法          /
/copy           /      拷贝                          /
/functools      /    常用的工具             /
/os          /    操作系统接口      /
/re                /    字符串正则匹配      /
/sys              /        Python自身的运行环境       /
/multiprocessing   /    多进程      /
/threading    /    多线程        /
/json     /  编码和解码 JOSN 对象    /
/logging    /    记录日志,调试    /


'''

#自定义模块
#模块,类,变量的导入

list1=[2,4,7,8,9,4,6]

#导入模块,import方法
'''
import calculate

#使用模块的函数 :模块名.变量 模块名.函数 模块名.类

#使用模块的函数
re=calculate.add(*list1)
print(re)

#使用模块变量
print(calculate.number)

#使用模块中类
cal=calculate.calculate(23)
cal.text()

#类方法
calculate.calculate.text1()
'''


#导入模块,from方法
from calculate import add,number
r=add(*list1)
print(r)
re=r+number
print(re)

#模块-测试导入
#变量

 1 number=100
 2 name='kiscaffdffdsz'
 3 
 4 #函数
 5 def add(*args):
 6     if len(args)>1:
 7         sum=0
 8         for i in args:
 9             sum+=i
10         return sum
11     else:
12         print('至少传入两个参数')
13 
14 def minus(*args):
15     if len(args)>1:
16         m=0
17         for i in args:
18             m-=i
19         return m
20     else:
21         print('至少传入两个参数')
22 
23 def multiply(*args):
24     pass
25 
26 def divide(*args):
27     pass
1 #类方法
2     @classmethod
3     def text1(cls):
4         print('------------------->calculate中的类方法')

 

#模块的循环导入

'''
循环导入:
A:模块
def test():
f()

B : 模块
def f():
test()

相当于死循环,在开发中要避免循环导入
在大型的python项目中,有很多python文件,由于架构不当,可能会出现模块之间的相互导入

解决方案:
1.重新架构
2.将导入语句放到函数里面
3.把导入语句放到模块最后

'''

 

posted @ 2021-08-26 14:19  admin-xiaoli  阅读(186)  评论(0编辑  收藏  举报