day13总结

异常

运行程序的时候程序报错,又叫程序出现异常;
当执行程序的时候如果出现异常,出现异常的线程会直接崩溃(多线程不会),不会在执行程序中后面的其他代码

异常捕获

###1.语法1:
try:
    代码块1
except:
    代码块2

try,except都是关键字,固定写法。

代码块1:和try保持一个缩进的一条或多条语句,需要捕获异常的代码
代码块2:和except保持一个缩进的一条或多条语句,发生异常后会输出的异常语句。

执行过程:先执行代码块1,如果在执行代码块1的时候出现了异常,程序不崩溃,直接执行代码块2,然后再执行后面的其他语句,如果语句1没异常就不执行代码2,而是直接执行后面的其他语句。

2.语法2:捕获指定异常

try:
    代码块1
except 异常类型:
    代码块2

执行过程:先执行代码块1,如果执行代码块1的时候出现异常,检查异常类型和except后面的异常,如果一致程序不崩溃,然后执行代码块2,如果不一致,程序直接崩溃;如果在执行代码块1的时候没有出现异常,就直接跳过代码块2,执行后面的语句。

3.语法3:捕获多个指定的多个异常

try:
    代码块1
except (异常类型1,异常类型2 ,,,):
    代码块2

4.语法4:同时捕获指定多个异常

try:
    代码块1
except 异常类型1:
    代码块2
except 异常类型2:
    代码块3
……

5.finally关键字

前面4种异常捕获的结构后面都可以加上finally,无论任何情况finally后面的代码块都会运行。

try:
    代码块1
except:
    代码块2
finally:
    代码块3

其他语句
……

6.抛出异常

主动让程序崩溃(只要执行raise语句程序就会崩溃并报错异常类型)

语法:
raise 异常类型

说明:异常类型必须是Exception的子类

自己写异常:
class AgeError(Exception):
    def __str__(self):
        return '年龄不在0-150'

age = -100
if not 0 <= age <=150:
    raise AgeError

模块

1.什么是模块?

python中一个py文件就是一个模块

2.怎么在一个模块中使用另一个模块中的内容

如果要在一个模块中使用另一个模块中的内容,必须先导入模块

1)语法:

import 模块名 --- 导入指定模块,导入后可以在当前模块中使用模块中的所有的全局变量,
以‘模块名.全局变量名’的方式去使用

from 模块名 import 变量名1,变量名2,… -- 导入指定模块,导入模块后只能使用import后面指定的变量,导入后指定的全局变量在当前模块中直接使用,不用在前面加‘模块名.’

from 模块名 import * -- 导入指定模块,导入后可以在当前模块中使用模块中的所有的全局变量,
导入后指定的全局变量在当前模块中直接使用,不用在前面加‘模块名.’

import 模块名 as 新模块名 -- 导入后采用新模块名去使用模块中的变量

from 模块名 import 变量名1 as 新变量名1,变量名2 as 新变量名2,… -- 给变模块中的变量重命名

注意:导入模块的本质就是进入到模块中把模块中所有的代码全部执行一遍

3.倒入模块的原理

1)重复导入问题

import 在导入模块的时候会自动检测这个模块之前是否被导入过,来避免一个模块的重复导入(可避免死循环)-- 这种重复导入在python中不会报错,在其它语言会报错

2)阻止模块中的内容被其他模块导入

将不需要被其他模块执行的语句放在
"if _ name _ == '_ main _'"下面。

4.包

1)什么是包?

本质就是一个文件夹(对模块(py文件)进行封装),是一个带有“init.py”文件的文件夹

2)从包中导入模块:

from 包名 import 模块名 -- 导入包中的模块

3)from 包.模块 import 变量名

5.模块time

时间戳:来统计两段时间的时间差
print(time.time())

6.hashlib(加密模块)

由Python3.x提供的一个hash加密的模块:支持目前主流的一些加密算法:sha256,md5等

hash加密的特点:

a.相等的数据采用同一个加密算法,保证加密结果一样
b.通过加密后的数据不能反向获取原数据
c.采用同样的加密算法,不管原数据的大小是多少,加密后的数据的长度是一样的

7.加密的步骤

pw = int(input('请输入密码'))

1)根据加密的算法创建hash对象

hash = hashlib.sha256()

2)对数据进行加密

hash对象.update(加密数据) -- 加密数据必须是二进制数据
字符串转二进制方法:a. 字符串.encode('utf-8') b. bytes(字符串,encoding='utf-8')
hash.update(pw.encode())

3)根据hash对象获取加密后的数据

result = hash.hexdigest()
print(result )----------字符串类型

import hashlib
pwd = input('please input password:')
hash_dx = hashlib.md5()
hash_dx.update('你好!'.encode())
hash_dx.update(pwd.encode())
res = hash_dx.hexdigest()
print(res)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容

  • 1.异常 运行程序的时候程序报错,又叫程序出现异常;当执行程序的时候如果出现异常,出现异常的线程会直接奔溃,不再执...
    Lmf007阅读 225评论 0 0
  • 1. 异常 运行程序的时候程序报错,又叫程序出现异常;当执行程序的时候如果出现异常,出现异常的线程会直接奔溃,不再...
    酒煮灬核弹头阅读 233评论 0 1
  • 异常和模块 一、异常 运行程序的时候报错,又叫程序出现异常;当执行程序的时候如果出现异常,出现异常的线程会直接崩溃...
    ______n___阅读 204评论 0 0
  • 一天还没到一半,整个妆容就花了,整个脸看起来像大油田闪闪发亮。都是油性皮肤惹的祸。油性皮肤呈现的状况并不是都一样的...
    魔力show阅读 16,875评论 4 1
  • 大树 树叶青翠欲滴, 树干粗壮无比, 像一把把大伞 撑起一片片绿荫。 悠扬的鸟鸣声 传遍了整座山头。 我在大树下浮...
    金赛月阅读 241评论 0 7