第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何命名類變量

如何命名類變量

炎炎設(shè)計(jì) 2022-06-22 18:19:28
是否有關(guān)于如何命名類變量的約定(與實(shí)例變量不同),或者沒(méi)有真正的區(qū)別。例如:import pymysqlclass DB:    NUM_CONNECTIONS = 0    def __init__(self):        self.conn = None        self.cursor = None    def __repr__(self):        return 'Closed connection' if not self.conn else f'Open conection @ 0x{id(self):x}'    def connect(self):        if self.conn: return        self.conn = pymysql.connect(host='127.0.0.1',user='root')        self.cursor = self.conn.cursor()        DB.NUM_CONNECTIONS += 1目前我通常將變量作為CLASS_VARIABLES和instance_variables。有哪些常見(jiàn)的模式?
查看完整描述

2 回答

?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

讓我們檢查一下 pylint 對(duì)類變量名稱的看法??紤]以下代碼示例:


# top-level constants for comparison

lowercase_var = 0

UPPERCASE_VAR = 1

CamelCaseVar = 2


def func():

    # function local variables

    lowercase_var2 = 0

    UPPERCASE_VAR2 = 1

    CamelCaseVar2 = 2



class ClassName:

    # class variables

    lowercase_var3 = 0

    UPPERCASE_VAR3 = 1

    CamelCaseVar3 = 2

pylint 的輸出:


D:\tmp>pylint test.py

************* Module test

test.py:1:0: C0103: Constant name "lowercase_var" doesn't conform to UPPER_CASE naming style (invalid-name)

test.py:3:0: C0103: Constant name "CamelCaseVar" doesn't conform to UPPER_CASE naming style (invalid-name)

test.py:8:4: C0103: Variable name "UPPERCASE_VAR2" doesn't conform to snake_case naming style (invalid-name)

test.py:9:4: C0103: Variable name "CamelCaseVar2" doesn't conform to snake_case naming style (invalid-name)

test.py:7:4: W0612: Unused variable 'lowercase_var2' (unused-variable)

test.py:8:4: W0612: Unused variable 'UPPERCASE_VAR2' (unused-variable)

test.py:9:4: W0612: Unused variable 'CamelCaseVar2' (unused-variable)

test.py:12:0: R0903: Too few public methods (0/2) (too-few-public-methods)


------------------------------------------------------------------

Your code has been rated at 2.73/10 (previous run: 1.82/10, +0.91)

觀察:

  1. 沒(méi)有關(guān)于三個(gè)類變量名稱中的任何一個(gè)的警告。這三個(gè)都是完全有效的。

  2. 大寫(xiě)名稱通常用于頂級(jí)常量??梢詫?duì)類變量使用大寫(xiě)命名約定,使它們看起來(lái)像一個(gè)常量值。如果您正在修改變量DB.NUM_CONNECTIONS += 1,最好選擇另一種命名樣式。

  3. snake_case 命名風(fēng)格用于函數(shù)局部變量名和函數(shù)名,CamelCase 僅用于類名。類變量是一個(gè)變量,它不是一個(gè)類(而是屬于一個(gè)類)。所以看起來(lái)最好選擇snake_case。

最后兩個(gè)意見(jiàn)是固執(zhí)己見(jiàn)的,您可以不同意并做出自己的選擇。好消息:您可以從三個(gè)選項(xiàng)中選擇任何一個(gè)。


查看完整回答
反對(duì) 回復(fù) 2022-06-22
?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊

您應(yīng)該遵循 PEP8,但通常根據(jù)我的經(jīng)驗(yàn),公司/個(gè)人開(kāi)發(fā)人員要么堅(jiān)持使用駝峰式或蛇式,以進(jìn)行打字約定。

Camel case 是一種類型書(shū)寫(xiě),它將變量名的第二個(gè)單詞大寫(xiě),即:myPhoneBook,而不是蛇形大小寫(xiě),它使用下劃線分隔變量名中的單詞,即:my_phone_book

找到一個(gè)適合你的,并堅(jiān)持下去是個(gè)好主意。

全部大寫(xiě)的變量名通常是為環(huán)境變量保留的。

除此之外,不要使用關(guān)鍵字作為變量名。很多時(shí)候,人們會(huì)使用“l(fā)ist”作為變量名,這是非常危險(xiǎn)的,因?yàn)椤發(fā)ist”是Python原生提供的關(guān)鍵字。使用關(guān)鍵字作為變量意味著您正在有效地替換該關(guān)鍵字。


查看完整回答
反對(duì) 回復(fù) 2022-06-22
  • 2 回答
  • 0 關(guān)注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)