2018.12.21 今日所学

今日所学 :

1 .类的约束

2 .异常处理 try except raise

3. MD5加密

4. 日记处理(不要记,留一份,侧重点再用)

1 .类的约束

1) 写一个父类,父类中的某个方法要抛出一个异常 NotlmplemenredError(重点)

class Base: #创建一个父类约束子类
    def login(self):
       raise NotImplementedeError(‘系统报错,请重新输入‘) # 扔一个错误给子类,约束他们按照指定的内容输入

class yonghu(Base): # 创建普通用户类
    def login(self):
        print(‘用户登录‘)

class guanli(Base): #创建管理员登录类
    def login(self):
        print(‘普通管理员登录‘)

class chaoguan(Base): #创建超管类
    def deng(self):
        print("超管登录")

def denglu(content): #整合登录信息功能
    content.login()

y=yonghu() #创建用户
g=guanli()
c=chaoguan()

denglu.login(y) # 用户登录
denglu.login(g)
denglu.login(c) #此时超管用户登录没有login这一项,所以会报错,此时应该创建一个约束  

2) 抽象类和抽象方法

抽象类和抽象方法 ->Java ,c#

抽象方法不需要给出具体的方法体,

抽象发放内置写一个pass就可以了

在一个类中如果有一个方法是抽象方法,那么这个类一定是抽象类

抽象类中,如果有抽象方法,此时这个类不能创建对象

# 写一个抽象方法: 导入一个模块
from abc import ABCMeta,abstractmethod  #引入一个抽象模块
class animal(metaclass=ABCMeta):
    @abstractmethod
    def chi(self): pass # 写完上面的东西就是抽象类

    def he(self): # 在抽象类中也是可以有正常方法的
        print(‘动物会动‘)

class cat(animal):
    def chi(self): #和上面第一种方法性质一样,都是约束子类要与父类中的抽象方法一致
        print(‘猫喜欢吃鱼‘)

a=cat()
a.chi()
a.he() #抽象类中也可以有正常方法,同样可以正常使用
使用抽象方法时 ,需要引入的模块

form abc import ABCMeta,abstractmethod

class Base(metaclass=ABCMeta):

  @abstractmethod

  def fangfa(self):

    pass  

2 .异常处理 try except raise

try : # 尝试
    print(‘1/0‘)
    f=open(‘a1‘,mode=‘r‘)
except ZeroDivisionError: # 0的错误
    print(‘零不能作分母‘)
except FileNotFoundError:  # 文件错误
    print(‘文件不存在‘)
else:
    print(‘正常执行‘) #如果不报错,就执行这里
finally:
    print(‘不管报不报错都执行这一步‘) #不管报不报错都执行这里

  

所有异常的根源都是Exception, 所有的异常的类都会默认继承Exception

try:
  代码
except 异常类:
  出了错,如何处理异常
except 异常类:
  出了错,如何处理异常
except 异常类:
  出了错,如何处理异常
else:
    如果不出错,走着一条
finally:
    不管出不出错,都走这一条,都要执行  

raise 异常类(‘信息‘)

如何自己定义异常

# 随便写一个类,只要他能继承Exception,就可以自定义错误
class ztyException(Exception):
    pass  
class 类(Exception):  # 继承 Exception是包含所有的错误
    pass

如何手动抛出异常

#我们以数字相加为例
class NotintException(Exception): #自定义一个异常
    pass

def cul(a,b):
    if (type(a)==int or type(a)==folat) and (type(b)==int or type(b)==folat):
        return a+b
    else:
        raise NotintException(‘我没办法处理不是整数的类型‘) 

堆栈信息 (错误信息)

import traceback
traceback.format_exc()

3. MD5加密

import hashlib
content=input(‘请输入你要加密的内容:‘)
obj=hashlib.md5(b‘bviuafakbvuaubuwaoi‘)  #加盐
obj.update(content,encode(‘utf-8‘)) #将加盐后的代码转成utf-8
print(obj.hexdigest()) # 拿到密文
 # 注 : 这里的加的盐加上之后是不能更改的,否则你的加密的内容也会改变 

(import hashlib) 

 obj=hashlib.md5(b‘盐‘)

obj.update(b‘要加密的内容‘)

print(‘obj.hexdigest()‘)

4. 日记处理(不要记,留一份,侧重点再用)

日志主要是记录用户操作的每一步步骤 : 什么用户什么时间干了什么

等级 :

critical : 50

error : 40

warning: 30

info : 20

debug : 10

原文地址:https://www.cnblogs.com/zty1304368100/p/10156881.html

时间: 2024-11-10 14:28:06

2018.12.21 今日所学的相关文章

2018.12.4 今日所学

今日只要学习了 一. 基础数据类型的补充 二 ..深浅拷贝 一 . 主要内容: 之前讲的int 跟 str 已经讲过了80%的内容 接下来说剩下的: 1 .join join与之前的spilt 作用是相反的.  join 是将列表中的数据通过操作变成字符串 . 而split是通过字符串的切割将字符串变成列表 . 具体用法:  如 :li = ["李嘉诚", "麻花藤", "?海峰", "刘嘉玲"] li1=' _ ' .joi

2018.12.5 今日所学

今日主要学习了 1. 初识文件操作2. 只读(r, rb)3. 只写(w, wb)4. 追加(a, ab)5. r+读写6. w+写读7. a+写读(追加写读)8. 其他操作方法9. 文件的修改以及另一种打开文件句柄的方式 一. 初识文件操作 1. 文件中我们经常用open来打开文件,或取到文件的句柄. 然后通过文件句柄就可以对文件进行各种各样的操作了.根据打开方式的不同能够执行的操作也会有不同的操作. 打开文件的方式: r ,w,a ,a+,w+,a+,rb,wb,ab,r+b,w+b,a+b

2018.12.6 今日所学

今日主要学习了 一. 什么是函数二. 函数定义, 函数名, 函数体以及函数的调?三. 函数的返回值四. 函数的参数 一, 什么是函数               如果找不到合适的函数名称 ,用 fu 或者是 func 类比于之前初中学的函数 f(x)=x+2  f(x)就是由x创建的函数 但是计算机中的函数与我们之前学习的函数有很大的差距 在python中, 我们创建函数需要用def创建函数,就是定义函数 例如: def fu(): print('打开陌陌') print('找到心仪的女生')

2018 12 21

不知道为啥,突然想写一些东西了,或许是因为今天晚上看了看某个大佬学弟的博客吧hhh 大学生活确实挺美好的,恩,最起码吃的比高中好, 但是,问题来了: 高中的时候,我都是慢慢悠悠到食堂的,食堂里还剩下啥我就吃啥, 但是现在,emmmm选择恐惧症出来了,每天都在纠结吃什么hhh 至于学习嘛…… 啥也不想说了,还有个3000字的论文要写,不过还好,还有半个月时间, 虽说我是心理学专业的,但是,到目前为止,我对心理学还是不怎么了解 我真的是太佛了,没办法,提不起劲头来 娱乐方面嘛, 加了俩社团,跆拳道协

2018.11.29今日所学

今天主要学习了 列表 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操作(重点) 添加: 1. append() 追加 2. insert(位置, 元素) 插入指定元素到指定位置 删除: 1. pop(index) 根据索引删除 2. remove(元素)  根据元素删除 修改: 索引修改 lst[索引] = 元素 查询: for循环. 3. 列表的嵌套 多个列表互

2018/12/21 去杭州找工作前的第一次视频面试 java开发工程师 笔录

人生中第一次接到视频面试,挺兴奋,也挺紧张. 事先准备好简短的自我介绍,自我介绍主要包含: 对给予面试这次机会的感谢,以及简短的姓名,年龄,毕业院校以及专业介绍. 说出自己掌握了哪些技能. 在实习工作中做过的项目,收获了什么. 面试官问到的一些问题,以及回答的侧重点: 为什么会选择这份职业(热爱,培训,前景好...) 跳槽的主要原因(实话实说) 未来3-5年内的规划(职业目标,生活目标...) 选择这座城市就职的原因(环境,人文,有男/女朋友在...) 简历中提到掌握的技术会简单问(oracle

【谜客帝国】第143届月思主擂谜会(2018.12.15)

 [谜客帝国]第143届月思主擂谜会(2018.12.15) 主持:瓷  计分:默沫 1.“六根清净几人有”(6笔字)伉/月思 [注:面出黄若初<访山寺偶成>,“?,一世荣华百岁无.”] 2. 数点霁霞山外断(3字足球术语)541/月思 3.“鸟上残花枝畔啼”(11笔字)菌/月思 [注:面出谢宗万<道中即景>,“客临古渡岸前望,?.”] 4.“白屋风光难入眼”(列人二,2+2)舍之.景差/月思 [注:面出黄东<山居抚琴>,“?,任凭曲韵释忧愁.”] 5.“任凭曲韵释忧愁

【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)

写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shader的艰难,在群里也见了非常多人提出的问题. 我认为学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文...这对我有什么优点呢?强迫我对知识进行梳理,对细节问题把握更清楚. 第二个原因你懂的. 关于本书的定位问题: 面向Unity Shader刚開始学习的人,但要

【谜客帝国】第144届猫De梦年度收官谜会(2018.12.30)

[谜客帝国]第144届猫De梦年度收官谜会(2018.12.30) 主持:瓷  计分:小白 1.愿人生,有幸一起同行(3字中药名)天南星/猫De梦 2.分手不成聚难卜(4字谜会吐槽语)没离合谜/猫De梦 3.老做加法没益处(5字劝架结果描述)总算和好了/猫De梦 4.以前有给回扣(3字交通名词)往返点/猫De梦 5.几经流年终杳远(2字已故艺术家)朱旭/猫De梦 6.看来只好换工作了(3字口语二)顾不得,不更事/猫De梦 7.相较之下,这算挑到好的啦(4字考试答案判断语,卷帘)选正比对/猫De梦