持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情
0 环境
- 编辑器:pycharm或者vscode
- 系统版本:windows10
- python版本:3.9.6
1 异常传递(异常的补充)
当抛出异常时,并没有做捕获的处理,会继续往上层作用域传递,直到顶层,如果到顶层还被处理,会中断当前线程。比如f1调用了f2,fa调用f3,f3调用了f4,假如f4抛出异常没有被捕获,会f3这里没做处理,一直往上,f2没有,到了f1有捕获处理,这时在f1做处理,都没做处理,程序崩溃。
2 前言
经常会见到
from...import或者import xxx,还有一种在后面加as的,比如import os as sys。常见引用如下图。
3 模块是个啥
通常来说:包和模块同一个意思。import和from...import的区别在于,前一个全部导入,后面一个部分导入,我更喜欢理解为按需导入。上面的re就是全部导入,datetime这类的算是部分导入。
4 使用别名
别名不等于赋值操作。我的理解就是有的导入名太长了或者其他原因,我换个自定义名使用,就好比,父母喜欢叫孩子小名(别名),说不定就是这个原因。
5 其他操作
有时候会看到这样一个操作,这样也是可以的。
import os.path
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
6 模块名
如下图,我新建了一个test-1.py,这里的文件名就是模块名,并将它引导到4.py这个文件中去。
仔细看,会发现它有个红色波浪,说明短横杠是不能用来命名python文件的。
7 总结
补充了异常传递的规则,还有全部引入和部分引入的区别,以及根据需要给其取别名,还有在python中,文件就是模块,所以当我们需要导入其他文件名(模块名)时,需要遵守命名规范(比如短横杠)。