python之约束, 异常处理, md5
1. 类的约束
1. 写一个父类. 父类中的某个方法要抛出一个异常 NotImplementedError (重点)
2. 抽象类和抽象方法
# 语法
# from abc import ABCMeta, abstractmethod
# class Base(metaclass = ABCMeta):
# @abstractmethod
# def fangfa(self):pass # 抽象类
from abc import ABCMeta, abstractmethod
# 抽象类不能创建对象
class Animal(metaclass=ABCMeta): # 写完这个东西就是抽象类
@abstractmethod # 抽象方法
def chi(self): pass # 抽象类中是可以有正常的方法
def dong(self):
print('动物会动') # class Cat(Animal): # 此时猫里面也有一个抽象方法, 此时的猫是无法创建对象的
# pass
#
# c = Cat() # 此时是报错的 class Cat(Animal):
def chi(self): # 重写父类中的抽象方法
print('猫喜欢吃鱼') c = Cat()
c.chi() # 猫喜欢吃鱼
c.dong() # 动物会动
2. 异常处理.
# 语法格式
try:
# 代码
except 异常类:
# 除了错, 如何处理异常
except 异常类:
# 除了错, 如何处理异常
except 异常类:
# 除了错, 如何处理异常 else:
# 当程序不出错
finally:
# 不管出不出错, 都要执行
# 例
try:
print(1/0)
# f = open("哈哈哈哈哈", mode="r")
# d = {[]:123}
except ZeroDivisionError: # 可以处理所有错误
print("除以0出错了")
except FileNotFoundError:
print("文件不存在的错误")
except Exception: # 兜底的
print("其他错误")
else: # 当try中的代码不产生任何错误的时候. 会自动的执行else里的代码
pass
finally: # 最终. 不管出错还是不出错. 都要执行最后的finally 一般用来收尾
print("哈哈哈哈哈哈哈哈啊哈")
3. MD5
import hashlib # MD5需要导入这个模块
# 加密的内容(需要是字节类型)
obj = hashlib.md5(b'liuliuliuliuliuliu') # 加盐
obj.update(''.encode('utf-8')) # 把要加密的内容给md5
print(obj.hexdigest()) # 拿到密文b8de0312dbab0c85cba71b121456f98c
# 应用
def my_md5(s):
obj = hashlib.md5(b'liuliuliuliuliuliu') # 123456的MD5密文
obj.update(s.encode('utf-8'))
return obj.hexdigest()
print(my_md5('')) # b8de0312dbab0c85cba71b121456f98c
username = 'alex'
password = 'b8de0312dbab0c85cba71b121456f98c'
# 登陆
uname = input('请输入用户名:')
upwd = input('请输入你的密码:')
if uname == username and my_md5(upwd) == password:
print('登陆成功')
else:
print('登陆失败')
python之约束, 异常处理, md5的更多相关文章
- python --- 20 约束 异常处理 MD5 日志
一.类的约束 1.抛出异常 NotImplementedError 2.抽象方法 含有抽象方法的类是抽象类 抽象类中的方法全是抽象方法的是接口 抽象类不能创建对象 二.异常处理 处理完后代码可继 ...
- Python面向对象(约束,异常处理,md5加密)(五)
1. 类的约束 1. 写一个父类. 父类中的某个方法要抛出一个异常 NotImplementedError class Base: def login(self): raise NotImplemen ...
- 巨蟒python全栈开发-第20天 核能来袭-约束 异常处理 MD5 日志处理
一.今日主要内容 1.类的约束(对下面人的代码进行限制;项目经理的必备技能,要想走的长远) (1)写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError(重点) (2)抽象 ...
- python之路--类的约束, 异常处理, MD5, 日志处理
一 . 类的约束 1. 写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError class Base: # 对子类进行了约束. 必须重写该方法 # 以后上班了. 拿到公司代 ...
- python 面向对象(五)约束 异常处理 MD5 日志处理
###############################总结###################### 1.异常处理 raise:抛出异常 try: 可能出现错误代码 execpt 异常类 a ...
- python 约束. 异常处理. MD5. 日志处理
一.约束 1.抛异常 # # 项目经理写的 class Base: # # 对子类进行了约束. 必须重写该方法 # # 以后上班了. 拿到公司代码之后. 发现了NotImplementedError ...
- python--类的约束,异常处理,MD5加密,日志处理logging模块
1.类的约束 在开发中,如果项目经理需要对类进行约束,可以有两种方式 1. 对子类进行约束 Base: #对子类进行约束,必须重写这个方法 # 在工作中发现了NotImplementedError之后 ...
- day 20 约束 异常处理 MD5
1.类的约束(重点): 写一个父类. 父类中的某个方法要抛出一个异常 NotImplementError # 项目经理 class Base: # 对子类进行了约束. 必须重写该方法 ...
- 20 约束 异常处理 MD5 日志
三十九, 一.类的约束 1.抛出异常 NotImplementedError 2.抽象方法 含有抽象方法的类是抽象类 抽象类中的方法全是抽象方法的是接口 抽象类不能创建对象 二.异常处理 处理完 ...
随机推荐
- Android开发 - 设置DialogFragment全屏显示
默认的DialogFragment并不是全屏,但有些需求需要我们将对话框设置为全屏(内容全屏),Android并没有提供直接的API,通过其它不同的方法设置全屏在不同的机型上总有一些诡异的问题,经过测 ...
- fatal: protocol error: bad line length character: This
昨晚尝试搭建一个Git服务器,在搭建好服务器后,在服务器创建了一个空项目,我在本地使用git clone 拉取项目时,报了fatal: protocol error: bad line length ...
- WCF绑定netTcpBinding寄宿到IIS
继续沿用上一篇随笔中WCF服务类库 Wettery.WcfContract.Services WCF绑定netTcpBinding寄宿到控制台应用程序 服务端 添加WCF服务应用程序 Wettery. ...
- Python3入门机器学习经典算法与应用
<Python3入门机器学习经典算法与应用> 章节第1章 欢迎来到 Python3 玩转机器学习1-1 什么是机器学习1-2 课程涵盖的内容和理念1-3 课程所使用的主要技术栈第2章 机器 ...
- JS闭包与JS函数
先说说在网上看到的一个闭包案例: var add = (function () {var counter = 0;return function () {return counter += 1;}}) ...
- 用DDD模拟案例分析
之前我写了几篇关于DDD的介绍和一些小例子说明,我想这对于介绍DDD还是有些模糊,甚至还不知道怎么用DDD来分析设计.昨天和园友讨论也发现没有例子很难说明,所以今天我模拟了一个案例,同时这个案例也是真 ...
- Linux学习笔记之十————Linux常用服务器构建之ftp服务器
p服务器介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”. 用于Internet上的控制文件的双向传输. 同时,它也是一个应用程序(Ap ...
- underscore.js源码解析【集合】
// Collection Functions // -------------------- // The cornerstone, an `each` implementation, aka `f ...
- 【Java基本功】一文了解Java中继承、封装、多态的细节
本节主要介绍Java面向对象三大特性:继承 封装 多态,以及其中的原理. 本文会结合虚拟机对引用和对象的不同处理来介绍三大特性的原理. 继承 Java中的继承只能单继承,但是可以通过内部类继承其他类来 ...
- Spring Boot Actuator监控应用
微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...