天天看點

python小知識點積累

shutil.rmtree()表示遞歸删除檔案夾下的所有子檔案夾和子檔案

from unittest import mock      python3.4後内置mock庫
           

python單例模式:

"""
裝飾器(decorator)可以動态地修改一個類或函數的功能。也可以使用裝飾器來裝飾某個類,使其隻能生成一個執行個體
"""
from functools import wraps

# 定義了一個裝飾器 singleton,它傳回了一個内部函數getinstance,該函數會判斷某個類是否在字典instances 中,如果不存在,則會将cls作為 key,cls(*args, **kw) 作為 value存到instances中。否則,直接傳回instances[cls]


def singleton(cls):
    instances = {}

    @wraps(cls)
    def getinstance(*args, **kwargs):
        if cls not in instances:
            instances[cls] = cls(*args, **kwargs)
        return instances[cls]
    return getinstance


# 被裝飾的函數
@singleton
class MyClass(object):
    a = 1
           

Python pass 是空語句,是為了保持程式結構的完整性。

pass 不做任何事情,一般用做占位語句。

 route() 裝飾器把一個函數綁定到對應的 URL 上。

跨目錄import引用就會報類似ImportError: No module named xxx這樣的錯誤,解決方法:

在報錯的子產品中添加:

import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)      

hasattr() 函數用于判斷對象是否包含對應的屬性。

hasattr 文法:

hasattr(object, name)      

參數

  • object -- 對象。
  • name -- 字元串,屬性名。

環境變量

python小知識點積累