python模块

模块和类:
模块会被作为一个对象来处理。
在运行python代码时,最常遇到的就是导入模块错误的问题(包括安装模块),整理一下
谈谈__name__ = ‘main’ 的作用的理解:
由于在import模块时会自动执行该python脚本的代码
假如该脚本任务是print一个字符串,两种写法:
写法1:

print("hello")
class A():
    print("here is A") #与本文无关,但是这句话可以体现“类也是一个实例”这句话

写法2:

def main():
    print("hello")

if __name__ == '__main__':
    main()

虽然在单独执行时无区别,但是写法1会导致该脚本被import时执行一遍print函数
另外调试代码的时候,在”if name == ‘main’“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!
“Make a script both importable and executable”

importlib模块:支持传入字符串来引入一个模块

mod_ref_name = importlib.import_module(module)
mod_spec = importlib.util.find_spec(module_name)  # 检查模块是否存在,若存在则导入模块spec,否则返回None
module = importlib.util.module_from_spec(module_spec) # 暂时没觉得有什么用

内置函数__import__()函数可以直接引入github中的包
参考1
import和__import__区别
绑定到局部变量没怎么理解,可能是指给模块赋个可以引用的名字
钩子函数
windows里的钩子函数其实就是回调函数的意思,今天也有想到监听这种机制是可以通过回调实现的
还没有想清楚回调函数的函数调用栈与顺序执行有什么区别,对回调的理解还太肤浅,不能灵活应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值