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的更多相关文章

  1. python --- 20 约束 异常处理 MD5 日志

    一.类的约束 1.抛出异常    NotImplementedError 2.抽象方法 含有抽象方法的类是抽象类 抽象类中的方法全是抽象方法的是接口 抽象类不能创建对象 二.异常处理 处理完后代码可继 ...

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

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

  3. 巨蟒python全栈开发-第20天 核能来袭-约束 异常处理 MD5 日志处理

    一.今日主要内容 1.类的约束(对下面人的代码进行限制;项目经理的必备技能,要想走的长远) (1)写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError(重点) (2)抽象 ...

  4. python之路--类的约束, 异常处理, MD5, 日志处理

    一 . 类的约束 1. 写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError class Base: # 对子类进行了约束. 必须重写该方法 # 以后上班了. 拿到公司代 ...

  5. python 面向对象(五)约束 异常处理 MD5 日志处理

    ###############################总结###################### 1.异常处理 raise:抛出异常 try: 可能出现错误代码 execpt 异常类 a ...

  6. python 约束. 异常处理. MD5. 日志处理

    一.约束 1.抛异常 # # 项目经理写的 class Base: # # 对子类进行了约束. 必须重写该方法 # # 以后上班了. 拿到公司代码之后. 发现了NotImplementedError ...

  7. python--类的约束,异常处理,MD5加密,日志处理logging模块

    1.类的约束 在开发中,如果项目经理需要对类进行约束,可以有两种方式 1. 对子类进行约束 Base: #对子类进行约束,必须重写这个方法 # 在工作中发现了NotImplementedError之后 ...

  8. day 20 约束 异常处理 MD5

    1.类的约束(重点): 写一个父类.  父类中的某个方法要抛出一个异常  NotImplementError # 项目经理 class Base:     # 对子类进行了约束. 必须重写该方法    ...

  9. 20 约束 异常处理 MD5 日志

    三十九, 一.类的约束 1.抛出异常    NotImplementedError 2.抽象方法 含有抽象方法的类是抽象类 抽象类中的方法全是抽象方法的是接口 抽象类不能创建对象 二.异常处理 处理完 ...

随机推荐

  1. Alpha代码规范、冲刺任务与计划

    Alpha代码规范.冲刺任务与计划 团队名称: 云打印 作业要求: Alpha代码规范.冲刺任务与计划 作业目标:代码规范.冲刺任务与计划. 团队队员 队员学号 队员姓名 个人博客地址 备注 2216 ...

  2. grid布局学习二之子元素(项目)

    /* grid-column-start属性:左边框所在的垂直网格线 grid-column-end属性:右边框所在的垂直网格线 grid-row-start属性:上边框所在的水平网格线 grid-r ...

  3. 腾讯大数据之TDW计算引擎解析——Shuffle

    转自 https://www.csdn.net/article/2014-05-19/2819831-TDW-Shuffle/1 摘要:腾讯分布式数据仓库基于开源软件Hadoop和Hive进行构建,T ...

  4. centos7配置apache服务

    首先写下基本的步骤: 1.环境准备:关闭防火墙(不关闭无法访问,我这里只是简单的配置,实际部署项目应该会有具体的设置),关闭selinux(试过,不关闭也没事,一般都关闭) 配置 ip 2.安装软件包 ...

  5. django rest framework mixins小结

    本篇对drf中的mixins进行简要的分析总结. from rest_framework import viewsets 在这个viewsets中,只有5类Minxin,他们与http方法对应如下: ...

  6. TestNG依赖测试

    某些复杂的测试场景需要按照特定的顺序执行测试用例,以保证某个测试用例被执行之后才执行其测试用例,此测试场景运行需求称为依赖测试.TestNG支持依赖测试,使用dependsOnMethods参数来实现 ...

  7. 测试工具之Jmeter(使用badboy录制脚本)

    前面使用badboy工具时说过,badboy是可以录制Jmeter的测试脚本,这样省去了自己设计测试用例的麻烦 Jmeter主要是一个性能测试工具,不光在web和http,现在扩展很多功能都可以在Jm ...

  8. 关于小窗滑动,父级body也跟随滑动的解决方案

    需求:当前页面是信息列表,所以高度由内容自动填充, 所以页面可以上下滑动,加载更多, 但是下发物料一栏又为一个列表 所以做了一个弹窗框,因为是列表所以高度自然又是不可控的,所以给了一个最大高度,当超出 ...

  9. PHP-CPP开发扩展(四)

    PHP-CPP是一个用于开发PHP扩展的C++库.本节讲解如何在C++中调用PHP函数. 调用PHP函数 调用普通函数 // call a function from user space Php:: ...

  10. 鸟哥的Linux私房菜:基础学习篇 —— 第六章笔记

    1.下面这些就是比较特殊的目录,得要用力的记下来才行: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表“目前使用者身份”所在的主文件夹 ~account 代表 account ...