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加密的更多相关文章
- day10学python socket用户交互+MD5加密
socket用户交互+MD5加密 利用socket从client传输文件指令于server 再返还字节大小与内容 socketserver的使用(重要) 注意: ##client.recv(1024) ...
- python基础之 反射,md5加密 以及isinstance, type, issubclass内置方法的运用
内容梗概: 1. isinstance, type, issubclass 2. 区分函数和方法 3. 反射(重点) 4. md5加密 1. isinstance, type, issubclass1 ...
- python 使用hashlib进行md5加密
使用场景,某个接口或某个场景的数据需要做md5处理,就可以通过hashlib模块进行md5加密,如一个接口,需要传入md5加密后的数据 导入模块 import hashlib def exchange ...
- python 约束. 异常处理. MD5. 日志处理
一.约束 1.抛异常 # # 项目经理写的 class Base: # # 对子类进行了约束. 必须重写该方法 # # 以后上班了. 拿到公司代码之后. 发现了NotImplementedError ...
- Python对字符串进行MD5加密处理
import hashlibimport sysreload(sys)sys.setdefaultencoding('utf-8') m = hashlib.md5()m.update('123456 ...
- Python面向对象(约束,异常处理,md5加密)(五)
1. 类的约束 1. 写一个父类. 父类中的某个方法要抛出一个异常 NotImplementedError class Base: def login(self): raise NotImplemen ...
- python -- 约束、异常处理、MD5
1.类的约束 1.写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError class Base: # 对子类进行了约束,必须重写该方法 def login(se ...
- python--类的约束,异常处理,MD5加密,日志处理logging模块
1.类的约束 在开发中,如果项目经理需要对类进行约束,可以有两种方式 1. 对子类进行约束 Base: #对子类进行约束,必须重写这个方法 # 在工作中发现了NotImplementedError之后 ...
- 巨蟒python全栈开发-第20天 核能来袭-约束 异常处理 MD5 日志处理
一.今日主要内容 1.类的约束(对下面人的代码进行限制;项目经理的必备技能,要想走的长远) (1)写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError(重点) (2)抽象 ...
随机推荐
- python 结巴分词简介以及操作
中文分词库:结巴分词 文档地址:https://github.com/fxsjy/jieba 代码对 Python 2/3 均兼容 全自动安装:easy_install jieba 或者 pip in ...
- 机器学习与Tensorflow(1)——机器学习基本概念、tensorflow实现简单线性回归
一.机器学习基本概念 1.训练集和测试集 训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集 测试集(test ...
- Yii2+Swagger搭建RESTful风格的API项目
在现有的Advanced Template上搭建RESTful API项目的步骤: 本案例前提说明: 本例中不使用\yii\rest\ActiveController自动创建的API,而是自定义一个A ...
- [转]Express框架
http://javascript.ruanyifeng.com/nodejs/express.html
- 使用libcurl的正确姿势
libcurl支持访问http.ftp等各种服务器,下载图片AV什么的不在话下.但其存在多种接口,异步接口也很难以理解,到底什么样的使用姿势才是正确滴?我们来看看可用的体位: easy interfa ...
- opencv2函数学习之blur,GaussianBlur,medianBlur和bilateralFilter:实现图像平滑处理
在opencv2中,可能使用blur对图像进行平滑处理,这种方法就是最简单的求平均数. 平滑 也称 模糊, 是一项简单且使用频率很高的图像处理方法. 平滑处理的用途有很多, 但是在很多地方我们仅仅关注 ...
- c++中的复合类型
复合类型是指基于其他类型而定义的类型. 而这里介绍的是引用和指针.并且指针和引用都提供了对其他对象的间接访问. 引用 引用还是很好理解的,就是为对象起了另外一个名字,引用类型引用另外一种类型. 通常将 ...
- 我的Git教程 之 解决 git clone后无代码
解决 git clone 后无代码 前言:这个教程只适用于像我一样大致理解Git的原理,但是不太记得住Git命令的同学使用.所以具体原理只会提一下,具体可以参见Pro Git. 在另一篇 简明的教程 ...
- js实现生成中间带图片的二维码
之前需要实现生成中间带图片的二维码,所以找了半天终于找到一个可以用的.于是在这里记录一下. 下面是需要注意的几点: 1.使用的js为jquery-qrcode 但是已经经过别人的修改,和网上原来的那些 ...
- Vue笔记:VS Code 常用快捷键
VS Code 常用快捷键 1.注释: 单行注释:ctrl+/, 注释后再按取消 取消单行注释:alt+shift+A 注释后再按取消 2.移动行 向上移动一行:alt+up 向下移动一行:alt+d ...