首页 > 编程语言 > 详细

python学习——约束、自定义异常、加密、日志操作

时间:2019-08-26 15:55:46      阅读:93      评论:0      收藏:0      [点我收藏+]
1.约束
类用于约束,约束其派生类:保证派生类中必须编写send方法,不然会报错
class BaseMessage(object):
    def send(self):
        """
        必须继承BaseMessage,然后其中必须编写send方法。用于完成具体业务逻辑
        """
        raise NotImplementedError(.send()必须被重写)
class Email(BaseMessage):
    def send(self,x1):
        pass
obj = Email()
obj.send()

 



1.什么是接口
接口是一种数据类型,主要用于约束派生类中必须实现执行的方法。
python中不存在,Java和C#中存在
2.python中使用过什么来约束呢?
-抽象类+抽象方法:编写上麻烦,
-人为主动抛出异常,执行是会报错:抛出异常简单明了
3.约束时,抛出的异常是否可以用其他?
不专业:raise Exception(‘.send()必须被重写‘)
专业:raise NotImplementedError(‘.send()必须被重写‘)
4.以后看代码,多揣摩心思
5.写代码,用一下方法约束
class BaseMessage(object):
    def send(self):
        """
        必须继承BaseMessage,然后其中必须编写send方法。用于完成具体业务逻辑
        """
        raise NotImplementedError(.send()必须被重写)
class Email(BaseMessage):
    def send(self,x1):
        pass
obj = Email()
obj.send()

 


6.应用场景:
多个类,内部都必须有某些方法时,需要使用基类+异常进行约束。
学员管理程序:
class IBase:
    def login(self):
        raise NotImplementedError(.send()必须被重写)#约束必须要有这个功能
class Student:
    def login(self):
        pass
    def score(self):
        pass
class Teacher:
    def login(self):
        pass
    def exam(self):
        pass
class Manager:
    def login(self):
        pass

 

2.自定义异常
异常处理
def func(path,prev):
    ‘‘‘
    去path路径的文件中,找到前缀为prev的一行数据,获取数据并返回给调用者
    ‘‘‘
    try:
        a = 1
    except Exception as e:
        print(e)
    return a
def show():
    return 8
def run():
    v1 = func()
    v2 = show()
自定义异常类
#  知识点:如何自定义异常
class MyException(Exception):
    def __init__(self,code,msg):
        self.code = code
        self.msg = msg
try:
#  知识点:主动抛出异常
    raise MyException(1000,操作异常)
except ...

 

3.加密
实例方法:
import hashlib
SALT = bfdafefdaf
def md5(pwd):
    # 实例化对象
    obj = hashlib.md5(SALT)#括号中有内容是加盐的过程,b代表字节
    # 写入要加密的字节
    obj.update(pwd.encode(utf-8))
    # 获取密文
    return obj.hexdigest()
usr = input(>>)
pwd = input(>>)
if usr == oldboy and md5(pwd) == 27bbae46d6c33f3d2e87161b7336b028:
    print(登录成功)
else:
    print(密码错误)

 










python学习——约束、自定义异常、加密、日志操作

原文:https://www.cnblogs.com/bilx/p/11412644.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!