python定义模块结束语_python-模块定义、导入、优化

在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。

说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块

变量(全局变量 局部变量 实例属性 类属性) -> 函数(实例方法 类方法 静态方法)

-> 类 -> 模块 -> 包 -> 工程(项目)

1、定义:

模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块命:test )

包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个_init_.py文件)

2、导入方法:

importmodule_nameimportmodule1_name,module2_namefrom module_alex import *(导入模块的所有变量和方法),不提倡使用,相当于把模块的代码都复制过来from module_alex importm1,m2,m3(导入模块中的方法)from module_alex import logger as logger_alex

格式: import 模块名

使用的格式:

模块名.全局变量名

模块名.函数名

模块名.类名

hm_sum.py

#如果一个模块中使用了__all__#只用在__all__的列表中的字符串才可以在其他模块中使用#条件 其他模块必须是通过from 模块名 import * 方式导入的模块

__all__ = ["name"]#全局变量

name = "加法运算"

#函数

defadd2num(a, b):return a +b#类

classPerson(object):defeat(self):print("人会吃饭")#git 或者是 svn -> 远程仓库#在自己定义一个模块中 进行自测 (程序员做的事情)

#定义一个函数 -> 自测函数

defmain():print(name)

ret= add2num(10, 20)print(ret)

p=Person()

p.eat()print(__name__) #__main__

if __name__ == '__main__':

main()

hm_test.py

#测试人员自己创建的模块#如果一个模块被另一个模块导入后 就把这个模块里面可以执行的代码都执行一遍

importhm_sumdefmain():print(hm_sum.name)

ret= hm_sum.add2num(10, 30)print(ret)

p=hm_sum.Person()

p.eat()if __name__ == '__main__':

main()

__name__在本身其模块里调用是__main__,在其它模块里调用是模块名

格式: from 模块名 import 全局变量  函数  类

from hm_sum importname, add2num, Person#使用from-import 在使用的时候 不需要在写模块名#注意和本模块的名字冲突

print(name)#def add2num(a, b):#return a - b

print(add2num(10, 20))

p=Person()

p.eat()

import 模块名 as 别名

importhm_sum as hmhm_sumprint(hmhm_sum.name)

from hm_sum importname as my_name

name= 20

print(name)print(my_name)

导入包中的模块

import 包名.模块名 as 别名

3、import本质(路径搜索和搜索路径)

导入模块的本质就是把python文件解释一遍,import test (test='test.py all code')

import module_name

module_name = all_code,把所有代码复制给module_name这个变量

调用时,模块名.变量 模块名.方法

from module_name import m1

只把这个模块中的m1放到当前位置,调用时直接使用

导入包的本质就是执行该包下的_init_.py文件,import 包名

import module_name----->module_name.py---->module_name.py的路径---->sys.path

4、导入优化

from module_test import test

5、模块的分类:

a:标准库

b:开源模块

c: 自定义模块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值