python笔记

40 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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。常见引用如下图。

image.png

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这个文件中去。

image.png

仔细看,会发现它有个红色波浪,说明短横杠是不能用来命名python文件的。 image.png

7 总结

补充了异常传递的规则,还有全部引入和部分引入的区别,以及根据需要给其取别名,还有在python中,文件就是模块,所以当我们需要导入其他文件名(模块名)时,需要遵守命名规范(比如短横杠)。