欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

python如何常量定義-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

全南ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

這篇文章將為大家詳細(xì)講解有關(guān)python 如何常量定義,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

Python并未提供如C/C++/Java一樣的const修飾符,換言之,python中沒有常量,python程序一般通過約定俗成的變量名全大寫的形式表示這是一個(gè)常量。然而這種方式并沒有真正實(shí)現(xiàn)常量,其對(duì)應(yīng)的值仍然可以被改變。后來,python提供了新的方法實(shí)現(xiàn)常量:即通過自定義類實(shí)現(xiàn)常量。這要求符合“命名全部為大寫”和“值一旦被綁定便不可再修改”這兩個(gè)條件。

用自定義類實(shí)現(xiàn)常量,例如,如下寫了一個(gè)const.py文件

# -*- coding: utf-8 -*-
# python 3.x
# Filename:const.py
# 定義一個(gè)常量類實(shí)現(xiàn)常量的功能
# 
# 該類定義了一個(gè)方法__setattr()__,和一個(gè)異常ConstError, ConstError類繼承 
# 自類TypeError. 通過調(diào)用類自帶的字典__dict__, 判斷定義的常量是否包含在字典 
# 中。如果字典中包含此變量,將拋出異常,否則,給新創(chuàng)建的常量賦值。 
# 最后兩行代碼的作用是把const類注冊(cè)到sys.modules這個(gè)全局字典中。
class _const:
    class ConstError(TypeError):pass
    def __setattr__(self,name,value):
        if name in self.__dict__:
            raise self.ConstError("Can't rebind const (%s)" %name)
        self.__dict__[name]=value
        
import sys
sys.modules[__name__]=_const()

如果上面對(duì)應(yīng)的模塊名為const,使用的時(shí)候只要 import const,便可以直接定義常量了,例如:

# test.py
import const
const.PI=3.14
print(const.PI)

我們運(yùn)行test.py,就可打印出常量的值,如果再次修改const.PI=3.15,則會(huì)拋出const.constError異常。

其中,sys.modules[name]=_const()這條語句將系統(tǒng)已經(jīng)加載的模塊列表中的const替換為_const()實(shí)例。這樣,在整個(gè)工程中使用的常量都定義在一個(gè)文件中,如下:

from project.utils import const
const.PI=3.14

python中import module和from module import的區(qū)別

import module 只是將module的那么加入到目標(biāo)文件的局部字典中,不需要對(duì)module進(jìn)行解釋

from module import xx 需要將module解釋后加載至內(nèi)存中,再將相應(yīng)部分加入目標(biāo)文件的局部字典中

python模塊中的代碼僅在首次被import時(shí)被執(zhí)行一次。

如果我們定義常量的地方和類文件定義在一個(gè)文件中,我們可以直接實(shí)例一個(gè)對(duì)象,如下:

# -*- coding: utf-8 -*-
# python 3.x
# Filename:const.py
# 定義一個(gè)常量類實(shí)現(xiàn)常量的功能
# 
# 該類定義了一個(gè)方法__setattr()__,和一個(gè)異常ConstError, ConstError類繼承 
# 自類TypeError. 通過調(diào)用類自帶的字典__dict__, 判斷定義的常量是否包含在字典 
# 中。如果字典中包含此變量,將拋出異常,否則,給新創(chuàng)建的常量賦值。 
# 最后兩行代碼的作用是把const類注冊(cè)到sys.modules這個(gè)全局字典中。
class _const:
    class ConstError(TypeError):pass
    def __setattr__(self,name,value):
        if name in self.__dict__:
            raise self.ConstError("Can't rebind const (%s)" %name)
        self.__dict__[name]=value
        
const = _const()
const.PI=3.14
print(const.PI)

關(guān)于python 如何常量定義就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章題目:python如何常量定義-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)路徑:http://aaarwkj.com/article16/doppgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、動(dòng)態(tài)網(wǎng)站響應(yīng)式網(wǎng)站、網(wǎng)站營(yíng)銷微信公眾號(hào)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
精品女厕一区二区三区| 久久成人午夜免费电影| 日韩一级久久精品理论| 国产亚洲一区二区三区午夜| 国产一区二区三区婷婷| 播放欧美日韩特黄大片| 日本少妇熟女一区二区| 日本韩国欧美成人精品| 欧美亚洲尤物久久精品| 亚洲午夜激情免费试看| 亚洲乱码一区二区在线| 日本中文字幕黄色人妻| 未满18禁止入内在线观看| 午夜福利中文在线观看| 色哟哟精品丝袜一区二区| 精品人妻日韩中文字幕| 免费观看国产性生活片| 欧美高清在线观看视频| 日韩在线不卡一二三| 欧美大片在线观看高清| 国产一区二区爽爽爽视频| 在线观看精品日本一区二| 久久se精品人妻一区二区三区| 亚洲成人av毛片在线观看| 人体蜜桃视频一区二区| 在线观看一区二区三区国产视频| 国产亚洲精品第一最新| 亚洲欧美高清一区二区| 国产精品国产精品三级在线观看| 国产精品国产三级国产av一区| av天堂资源在线播放| 国产精品伊人久久综合网| 国产国语网站在线观看| 蜜桃视频中文字幕二区三区| 国产在线91精品入口| 国产精品久久久久精品爆| 欧美一级纯黄电影视频| 欧美黄片在线免费观看视频 | 亚洲伦理av在线观看| 亚洲成av人一区二区三区| 精品久久久久久亚洲野狼|