python之模块系列

每个py文件就是一个模块
现在程序开发文件比较大,都放在一个文件维护不便,拆分成多个,模块可增加文件的重用率。
变量 模块的属性值
函数 单独的功能
类 相纵功能的组合
模块测试代码 临时使用,被导用时不会执行

‘’’
使用模块的步骤
1,导入模块
2.使用模块
·模块名.文件或者函数
注意:第一次导入模块的时候,文件会从上往下走一遍
模块可以导入多次,就不会执行模块的内容了
‘’’

 导入模块
 import mode101
'''
imoprt 模块名 as  别名

import  mode101 as m 
m.say_hello()
print(m.name)
'''
'''
一行可以导入多个模块
import  mode101,mode102,,,,

导入多个模块

import mode101
import mode102 
import mode101,mode102

‘’’
‘’’
局部导入

from 模块名称 import 变量名(函数名或者变量名)
导入test函数,注意只能使用test函数不能使用其他内容
from mode102  import test
#调用函数
test
#就近原则
from mode102 import say_hello
say_hello()#hello world

def say_hello():
    print(hello python')

say_hello() #hello python

‘’’

from…import …as …别名
当导入的模块和当前模块中的名称相同的时候可以起别名进行区分。

from one_model import say_hello as sayhello
def say_hello():
    print('hello world')
sayhello()
say_hello()

‘’’
from 模块 inport*
from my_module import * 吧 my_module中所有的不是以下划线(_)
开头的名字都导入到当前的位置,大部分情况下我们会把python程序不
应该使用这种导入方式,因为*你不知道你导入的什么名字,很有可能会
覆盖之前你定义的名字,而且可读性极其的差

‘’’
模块搜索路径
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
1、当前目录
2、如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
由sys模块的sys.path方法来规定

因为sys.path返回的数据类型是列表
1、列表可以修改、我们导入的范围也可以通过修改sys.path这个列表获得暂时的修改。例如通过 sys.path.append()添加目录,导入额外目录的模块。
2、列表是有序的,当搜索的过程当中,在第一个路径下搜索到了,就停止搜索。而且sys.path第一个路 径是脚本的当前路径,所以禁止大家讲自己的脚本命名成模块的名称。
因此需要注意的是:自己模块命名的时候不能和系统的模块名称相同。
‘’’
_all_属性

_all_属性=[变量1,变量2.。]设置导入模块的功能
_all_=['money','read1']
#这样在拎一个文件中用from my_module import*就这能导入列表中规定的俩个名字
'''

pyc临时文件
为了提高加载模块的速度,python解释器会在__pycache__目录中下缓存每个模块编译后的版本,
之后,再次被导入时,实际上导入的是这个.pyc的临时文件。

‘’’
把模块当脚本运行

_name_的值等于'_main_'
_name_的值等于模块名
作用:用来控制py文件在不同的应用场景下执行不同的逻辑
if _name_=="_main_"
把_name_当模块使用  他就是模块名称
当脚本使用 他就是_main_


当模块的测试代码用
当程序的入口使用

‘’’

猜你喜欢

转载自blog.csdn.net/weixin_44239431/article/details/86095202