python 中约束写法有两种

  1. 常用的通过继承关系主动抛出异常
  2. 通过抽象类+抽象方法

1 常用的通过继承关系主动抛出异常写法

在本send方法中报错不会抛出异常,

class BaseMessage(object):def send(self):"""必须继承BaseMessage,然后其中必须编写send方法。用于完成具体业务逻辑。"""raise NotImplementedError(".send() 必须被重写.")   # 主动抛异常NotImplementedError,用exception也行但显得不专业# raise Exception(".send() 必须被重写.")class Email(BaseMessage):               # 继承 BaseMessage  必须约束有send方法才行def send(self):pass                 # 发送邮件类def f1(self):passdef f2(self):passclass Wechat(BaseMessage):           # 继承 BaseMessage  必须约束有send方法才行def send(self):pass               # 发送微信类def f1(self):pass

BaseMessage类用于约束,约束其派生类:保证派生类中必须编写send方法,不然执行可能就会报错。

2 通过抽象类+抽象方法 (不常用因为编写麻烦)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from abc import ABCMeta,abstractmethodclass Base(metaclass=ABCMeta): # 抽象类def f1(self):print(123)@abstractmethod                  # 抽象方法装饰器def f2(self): # 抽象方法passclass Foo(Base):def f2(self):print(666)obj = Foo()
obj.f1()

加密

加密是不可逆的,为了防止撞库 必须有加盐操作

import hashlib         # 导入hashlib 模块SALT = b'2erer3asdfwerxdf34sdfsdfs90'               #  盐 盐必须是字节码def md5(pwd):                # 传入密码# 实例化对象      加盐obj = hashlib.md5(SALT)                                      # 写入要加密的字节obj.update(pwd.encode('utf-8'))# 获取密文return obj.hexdigest() # 21232f297a57a5a743894a0e4a801fc3 # 66fbdc0f98f68d69cd458b0cee975fe3 user = input("请输入用户名:")
pwd = input("请输入密码:")
if user == 'oldboy' and md5(pwd) == 'c5395258d82599e5f1bec3be1e4dea4a':print('登录成功')
else:print('登录失败')

python约束 与MD5加密写法相关推荐

  1. Python面向对象(约束,异常处理,md5加密)(五)

    1. 类的约束 1. 写一个父类. 父类中的某个方法要抛出一个异常 NotImplementedError class Base:def login(self):raise NotImplemente ...

  2. Python编程之md5加密和sha1加密

    Python编程之消息加密 在python中进行消息的加密,下面是md5加密方法和sha1加密方法: import hashlibdef my_md5(value):m = hashlib.md5() ...

  3. Python代码实现md5加密

    #待加密信息 name = '123456' #创建md5对象.记得md5后面加括号 m = hashlib.md5() #此处必须声明encode m.update(name.encode(enco ...

  4. python实现md5加密_如何用Python编写一个MD5加密和解密代码

    PythonMD5加密程序 # coding:utf-8 import hashlib md5 = hashlib.md5()     # 应用MD5算法 data = input("请输入 ...

  5. python md5加密_Python MD5加密实例详解

    详解Python MD5加密 Python 3下MD5加密 # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待 ...

  6. python md5函数_python实现md5加密

    Python中实现MD5加密是通过hashlib完成的.在演示之前,我们先创建一段文本作为加密数据.如下所示: hashlib_data.py #--encoding='utf-8'-- import ...

  7. python md5加密

    http://hi.baidu.com/gavensun_wang/item/c93636be34ef4c56ba0e12cb Python中实现MD5加密是通过hashlib完成的.在演示之前,我们 ...

  8. 【Python】hashlib模块实现MD5加密

    MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被计算机安全领域广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value), ...

  9. python md5加密_如何用python“优雅”的调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...

最新文章

  1. 机器学习-线性回归与梯度下降
  2. 翻译 github上How to be a good programmer
  3. M2 Planning Day3
  4. 从mysql的官网下载tar.gz结尾的mysql
  5. 世界上迄今为止最安全的加密算法
  6. iview render的时候可以写控件的基本格式
  7. WordPress插件-Wordfence Security v7.4汉化版-可更新
  8. php过程函数,php流程控制和函数
  9. ShadeGraph教程之节点详解6:Procedural Nodes
  10. PAC自动代理文件格式,教你如何写PAC文件
  11. 「产品经理全连接系列2」企业如何开展敏捷或DevOps的研发变革
  12. Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法
  13. 关于MBR、GPT以及BIOS引导模式区分
  14. creo数控编程怎么样_世界一流数控编程软件,你都有了解过么?
  15. 时间序列分析的模型应用 – 股价预测
  16. B站4K视频下载方法
  17. DES算法是对称算法吗,能否通过在线工具进行DES解密?
  18. SQL join关联三个表或多个表
  19. 新人略谈关于积分墙盈利模式的思考
  20. Channel 通道详解

热门文章

  1. cat命令分析_学习记录
  2. 为什么我的文章没有被推荐?
  3. 初学Golang:web 请求的处理流程
  4. 工作随笔——Intellij_idea-14官方快捷键中文版
  5. 【学习笔记】JS进阶语法一document对象
  6. ABAP ALV里日期类型的F4帮助
  7. 物料管理的容差范围维护
  8. ME22N PO删除控制
  9. BAPI_PO_CREATE1
  10. 报销流程不简单,OA平台的私人订制