位運(yùn)算在ACM等算法比賽中因其運(yùn)算速度而被廣泛使用,在實(shí)際應(yīng)用中雖然用的不算廣泛,但在某些方面使用是有奇效的
這是《flask -web開發(fā)實(shí)戰(zhàn)》中的一個例子,用戶擁有5種權(quán)限類型,是否擁有這種權(quán)限占一位表示,書中留了3位以便以后擴(kuò)充
那么任意一個用戶的擁有的總權(quán)限即其擁有權(quán)限進(jìn)行或運(yùn)算
permisions = user.Permision.FOLLOW| user.Permision.COMMENT| user.Permision.WRITE_ARTICLES那么如何對該用戶是否又有該權(quán)限進(jìn)行檢查呢
def can(permision): if user.permisions & permision == permision: return True如果將用戶的總權(quán)限與檢查的權(quán)限進(jìn)行與運(yùn)算,和原權(quán)限相同,那么該用戶擁有該權(quán)限。
新聞熱點(diǎn)
疑難解答