异常有关知识点
- 1 概念
程序停止执行并且提示错误这个动作称为抛出异常 - 2 捕获异常:捕获来自解释器的异常
语法格式
try:
可能发生异常的代码
except (错误的类型) as (变量名):
出现错误的处理的代码
出现异常后,程序继续执行
提示:通过我们不断调试,控制台会得到出错的提示如图所示:
异常捕获的完整语句
try:
pass
except(error_type1) as (temp):
pass
except(error_type2) as (temp):
pass
else :
当except不执行的时候执行该语句
finally:
总要执行的语句
当我们要捕未知错误的时候我们可以用以下语句
try:
pass
except Exception as (temp):
pass
3 异常的传递
python解释器自带异常传递
4 抛出raise异常
这是一个主动抛出异常,这个时候我们需要创建一个Exception
def test(url):
eval_test = eval(url)
if eval_test == 0:
ex = Exception("error is ", 1231)
raise ex
try:
test("0")
except Exception as ex:
print(ex)
输出结果:可以看到我们把我们自己做的异常捕获到了
模块和包
1 包导入
- import 导入:
就是把整个包的函数、全局变量、类等导入。
语法
# python之禅告诉我们,一个包最好只用一行
import (包名1)
import (包名2)
缺点:因为我们在导入包的时候我们的函数都会加载进去,执行没有缩进的代码。就是哪些不需要的函数会造成资源的浪费
- 为了解决import的缺陷就用from 包 import 需要导入的属性
from a import b
1 如果我们导入的包中有函数重名,新来的会覆盖先到得
2 通过as可以给包重命名
import os as hello
from aaa import aa as temp
from os import * 代表把所有的额文件导入
剩下的代码中可以用
hello代替os调用
2 模块搜索顺序
- 1 搜索当前目录指定的模块名文件,如果有就直接导入
- 2 没有的话就再搜索系统目录
- 3 在开发时不要和系统模块名重名,否则会覆盖
- 4 在python通过内置方法__file__查看模块的完整路径
调用语法,
#模块.__file__
import os
print(os.__file__)
*3 _ name _的作用
在文件被导入时都会被执行一次
在A文件中导入B就会加载运行一次B,为了防止运行B
我们可以通过以_name__如果我们在A中下运行A时name时_main_
在其他文件中运行的时候就是模块名,所以加上以下代码即可
if __name__ == "__main__"
main()
import和from-import的区别总结
from A import B在导入过程中 创建模块对象 将模块对象的引用保存在本地
作用域, 也就是说当前作用域有一个名字叫B的对象,locals()可以查看;
import A 在导入模块的过程 创建模块对象 将模块对象的引用保存在本地
模块发布到pypi官网上
- 1 每个程序员都应该有一颗分享心,这样才有进步和发展,我们如果有好的代码我们可以分享以下,提供给他人使用
- 2 发布步骤
我们要去https://pypi.org/注册一个账号- 创建一个setup.py文件
from setuptools import setup
setup(
name='包的名字',
version='包的版本',
author='作者',
author_email='作者的邮箱',
url='项目首页,可以是github的url',
description='包的概述',
long_description='使用说明',
packages=['包名', '包中包含的文件夹'],
install_requires=['依赖包'])
- 然后我们在控制台
python setup.py build
- 这个时候我们会发现当前文件夹中得到一个build文件夹
-我们继续执行
python setuo.py sdist
会出现一个dist 文件,里面有我们的压缩包。我们就要上传这个dist 文件夹我们安装一个工具包
pip twine(别查了,单词为麻线的意思) install 安装后
执行twine upload dist/*就可以了,然后会提示我们输入pypi的用户名和密码,输入完后就会上传
安装第三方工具
windos: pip install 包名
linux 安装: sudo pip install 模块名
卸载:sudo pip uninstall 模块
或者直接去文件夹删除即可
解决python2中文编码问题
在头部加入
# *-* coding:utf8 *-*
如果是字符串解决不了的时候
可以加u代表unicode编码的意思
str = u"ssss中文"
当我们对str遍历的时候就不会出错了
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119323.html