python之約束、加密及logging模組

來源:互聯網
上載者:User

標籤:四級   orm   子類   evel   critical   筆記   round   異常   hash   

一、什麼是約束?

    在生活中的約束大概就是有什麼原因,導致你不能做這件事情了,稱之為約束。而在python中的約束是在當多個類中,都需要使用某些方法時,需要人為拋出異常或使用基類+異常處理來進行約束

 1 class BaseMessage: 2     def send(self): 3         raise NotImplementedError("send必須被重寫") 4 # 約束潛規則, 子類必須有send方法 否則主動拋異常 5 class Msg(BaseMessage): 6     def send(self): 7         print("傳送簡訊") 8     pass 9 10 11 def func(arg):12     arg.send()13 obj = Msg()14 func(obj)15 16 17 通過抽象方法,抽象類別來進行約束18 from abc import ABCMeta,abstractmethod19 20 class Base(metaclass=ABCMeta):21     def f1(self):22         print("3")23     @abstractmethod24     def f2(self):25         pass26 class Foo(Base):27     def f2(self):28         print(66)29 obj = Foo()30 obj.f1()31 obj.f2()32 33 當多個類中,都需要使用某些方法時,需要使用基類+異常處理來進行約束34 總結: python可以人為拋出異常和抽象類別+抽象方法來進行約束

二、加密機制

  我們的密碼只有我們自己知道別人不知道,但是在python中密碼的存在形式過於暴露,我們需要通過一種方法來將密碼變得複雜並不可以被破解

1 import hashlib   # 首先要匯入加密模組2 3 obj  = hashlib.md5(b"asdaoijso")     # 加鹽,防止撞庫現象,導緻密碼泄露4 obj.update("admin".encode("utf-8"))        # 將要加密的位元組編碼並寫入5 6 # 擷取密文7 print(obj.hexdigest())

三、logging模組相關

  在我們日常的生活中會有人寫日記記錄自己每天幹了什麼事情,當我們想不起來的時候可以翻一翻筆記再回想起來,而再python中也同樣存在充當“日記本”的功能,那就是logging模組。

 1 日誌相關 2 import logging 3 import traceback 4  5 logger = logging.basicConfig(filename="log.txt", 6                              format="%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s", 7                              datefmt ="%Y-%m-%d %H:%M:%S", 8                              level=10 9                              )10 logging.debug("一級異常")     level=1011 logging.info("二級異常")      level=2012 logging.warning("三級異常")   level=3013 logging.error("四級異常")     level=4014 logging.critical("最高異常")  level=5015 16 def func():17     try:18         a = a+119     except Exception as e:20         print(logging.error(traceback.format_exc()))  #擷取當前錯誤的堆棧資訊21 func()

 

python之約束、加密及logging模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.