国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python學(xué)習(xí)筆記--變量與注釋

這篇具有很好參考價(jià)值的文章主要介紹了Python學(xué)習(xí)筆記--變量與注釋。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

近期閱讀朱雷(@piglei)所著《Python工匠》一書,頗有收獲,特對(duì)書中每章節(jié)的總結(jié)部分內(nèi)容進(jìn)行摘錄,供自己未來進(jìn)一步學(xué)習(xí)。

在一段代碼里,變量和注釋是最接近自然語言的東西。因此,好的變量名,簡(jiǎn)明扼要的注釋可以顯著提升代碼的質(zhì)量。在給變量起名時(shí),盡量使用描述性強(qiáng)的名字,但也得注意別過了頭。

以下是“變量與注釋”章節(jié)的要點(diǎn)知識(shí)總結(jié):

1、變量和注釋決定“第一印象”:

a>變量和注釋是代碼里最接近自然語言的東西,它們的可讀性非常重要

b>即使是實(shí)現(xiàn)同一個(gè)算法,變量和注釋不一樣,給人的感覺也會(huì)截然不同

2、基礎(chǔ)知識(shí):

a>Python的變量賦值語法非常靈活,可以使用*variables 型號(hào)表達(dá)式靈活賦值

b>編寫注釋的兩個(gè)要點(diǎn):不要用來屏蔽代碼,而是用來解釋“為什么”

c>接口注釋是為使用者而寫,因此應(yīng)該簡(jiǎn)明扼要地描述函數(shù)職責(zé),而不必描述函數(shù)包含太多函數(shù)實(shí)現(xiàn)的內(nèi)部細(xì)節(jié)

d>可以用Sphinx格式文檔或類型注釋給變量表明類型

3、變量名字很重要

a>給變量起名要遵循PEP8原則,代碼的其它部分也同樣如此

b>盡量給變量其描述性強(qiáng)的名字,但評(píng)價(jià)描述性也需要結(jié)合場(chǎng)景

c>在保證描述性的前提下,變量名要盡量短

d>變量名要匹配它所表達(dá)的類型

e>可以使用一兩個(gè)字符的超短名字,但注意不要過度使用

f>同一段代碼內(nèi),不要出現(xiàn)多個(gè)相識(shí)的變量名,比如同時(shí)使用users、user1、user2這種序列

4、代碼的組織技巧

a>按照代碼的職責(zé)來組織代碼:讓變量定義靠近使用

b>適當(dāng)定義臨時(shí)變量可以提升代碼的可讀性

c>不必要的標(biāo)量會(huì)讓代碼顯得冗長、啰嗦

d>同一個(gè)作用域內(nèi)不要有太多變量,解決辦法:提煉數(shù)據(jù)類、拆分函數(shù)

e>空行也是一種特殊的“注釋”,適當(dāng)?shù)目招锌梢宰尨a更易讀

5、代碼的可維護(hù)性技巧

a>保持變量在兩個(gè)方面的一致性:名字一致性與類型一致性

b>顯示優(yōu)于隱式:不要使用locals()批量獲取變量

c>把接口注釋當(dāng)成一種函數(shù)設(shè)計(jì)工具:先寫注釋,后寫代碼

關(guān)于注釋

a>代碼注釋:Python注釋主要有2種,一種是最常見的代碼內(nèi)注釋,通過在行首輸入#號(hào)來表示,當(dāng)注釋包含多行內(nèi)容時(shí),同樣使用#號(hào):

# 用戶輸入可能會(huì)有空格,使用strip()去掉空格
username = extract_username(input_string.strip())
# 使用strip()去掉空格的好處:
# 1. 數(shù)據(jù)庫保存時(shí)占用空間更小
# 2. 不必因?yàn)橛脩舳啻蛄艘粋€(gè)空格而要求用戶重新輸入
username = extract_username(input_string.strip())

b>接口注釋:除使用#號(hào)注釋外,另外一種注釋則是函數(shù)(類)文檔(docstring),這些文檔也稱為接口注釋(interface comment),這些注釋在定義函數(shù)(類)名的下一行,使用兩個(gè)三連的單引號(hào)或雙引號(hào)'''? '''("""? """),用于解釋給調(diào)用函數(shù)(類)的用戶使用,解釋功能,及參數(shù)說明。

class Person:
    """人
    :param name:姓名
    :param age:年齡
    :param favorite_color:最喜歡的顏色
    """

    def __init__(self.name,age,favorite_color):
        self.name = name
        self.age = age
        self.favorite_color = favorite_color

關(guān)于變量(我擬采用)

a>類名:采用駝峰命名法,第一個(gè)字母大寫,每個(gè)單詞首字母大寫,比如:FooClass

b>函數(shù):采用蛇形命名法,均小寫字母,下劃線連接,盡量描述,比如bar_function

c>常量:全大寫字母,下劃線相連,比如MAX_VALUE

d>普通變量:全小寫字母,下劃線相連,比如min_width

e>如果變量僅內(nèi)部使用,增加下劃線前綴,比如_local_value

f>如果變量名同關(guān)鍵字,增加下劃線后綴,比如class_

幾個(gè)知識(shí)點(diǎn):

a>單下劃線變量名?_

在常用的諸多變量名中,單下劃線 _ 是一個(gè)比較特殊的一個(gè)。它常作為一個(gè)無意義的占位符出現(xiàn)在賦值語句語句中。_這個(gè)名字本身沒有什么特別之處,算是約定俗成的一種用法。

比如在解包賦值時(shí)忽略某些變量,就可以使用 _ 作為變量名:

# 忽略展開時(shí)的第二個(gè)變量
author,_ = usernames

# 忽略第一個(gè)和最后一個(gè)變量之間的所有變量
username,*_,score = data

在Python交互命令行(直接執(zhí)行Python命令進(jìn)入的交互環(huán)境)里,_ 變量還有一個(gè)特殊的含義——默認(rèn)保存我們輸入的上個(gè)表達(dá)式的返回值。

b>給變量注明類型

Python是動(dòng)態(tài)類型語言,使用變量時(shí)不需要做任何類型聲明。這是優(yōu)勢(shì),讓編程變得簡(jiǎn)單,但可讀性就出現(xiàn)打折。為了解決動(dòng)態(tài)類型帶來的可讀性問題,最常見辦法就是在函數(shù)文檔(docstring)里做文章,可以把每個(gè)函數(shù)參數(shù)的類型與說明全都寫到函數(shù)文檔里。Python推薦如下:

def remove_invalid(items):
    """剔除items里面無效的元素
    
    :param items:待剔除的對(duì)象
    :type items:包含整數(shù)的列表,[int,...]
    """

在上面代碼的函數(shù)文檔中,使用type items:注明了items是個(gè)整數(shù)型列表。

在Python3.5版本之后,可以使用類型注解功能來直接注明變量類型,是Python內(nèi)置功能,越來越流行如此使用。案例如下:

from typing import List

def remove_invalid(items:List[int]):
    """剔除items里面無效的元素
    
    :param items:待剔除的對(duì)象
    """
    ......
    

List 表示參數(shù)為列表類型,[int]表示里面的成員是整數(shù)。

需要注意:“類型注解”只是一種有關(guān)類型的注釋,系統(tǒng)并不提供任何校驗(yàn)功能。

c>匹配布爾型變量名一個(gè)原則:一定要讓讀到變量的人覺得它只是“肯定”和“否定”兩種可能。一般可以采用is、has、allow這些非黑即白的此裝飾,比如:

is_superuser :是否是超級(jí)用戶,是/不是

has_errors :有沒有錯(cuò)誤,有/沒有

allow_empth :是否允許為空值,允許/不允許

d>匹配int/float類型的變量名:當(dāng)人們看到和數(shù)字有關(guān)的名字時(shí),能夠自然會(huì)認(rèn)定是int或者float類型,比如:

釋義為數(shù)字的所有單詞:port(端口號(hào))、age(年齡)、radius(半徑)等;

使用以_id結(jié)尾的單詞:比如user_id、host_id;

使用length/count開頭或者結(jié)尾的單詞:lenght_of_username、max_length、user_count

最好別使用一個(gè)名稱的復(fù)數(shù)形式作為int類型的變量名,比如apples、trips等,因?yàn)檫@些名字容易和哪些裝著Apple和Trip的普通容器對(duì)象(列表)混淆,建議使用number_of_apples或trips_count這類復(fù)合詞來作為int類型的名。文章來源地址http://www.zghlxwxcb.cn/news/detail-822419.html

到了這里,關(guān)于Python學(xué)習(xí)筆記--變量與注釋的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 初識(shí)Python(注釋、代碼縮進(jìn)、編碼規(guī)范、標(biāo)識(shí)符、變量)

    初識(shí)Python(注釋、代碼縮進(jìn)、編碼規(guī)范、標(biāo)識(shí)符、變量)

    ?作者簡(jiǎn)介:CSDN內(nèi)容合伙人、阿里云專家博主、51CTO專家博主、新星計(jì)劃第三季python賽道Top1?? ??個(gè)人主頁:hacker707的csdn博客 ??系列專欄:零基礎(chǔ)入門篇 ??個(gè)人格言:不斷的翻越一座又一座的高山,那樣的人生才是我想要的。這一馬平川,一眼見底的活,我不想要,我的人

    2023年04月08日
    瀏覽(784)
  • python基礎(chǔ)語法(print、數(shù)據(jù)類型、變量、注釋、輸入、條件語句)

    python基礎(chǔ)語法(print、數(shù)據(jù)類型、變量、注釋、輸入、條件語句)

    計(jì)算機(jī)中所有的數(shù)據(jù)本質(zhì)上都是用0和1的組合來存儲(chǔ)的。編碼就相當(dāng)于密碼本,在計(jì)算機(jī)中有多個(gè)密碼本:utf-8編碼、gbk編碼等 注意事項(xiàng):在計(jì)算機(jī)中若以某個(gè)編碼形式進(jìn)行保存文件,以后也要以這種編碼形式去打開這個(gè)文件,否則就會(huì)出現(xiàn)亂碼。 編碼必須要保持:保存和打

    2024年02月05日
    瀏覽(21)
  • python編程從入門到實(shí)踐(第2版)學(xué)習(xí)筆記(變量,字符串)

    python編程從入門到實(shí)踐(第2版)學(xué)習(xí)筆記(變量,字符串)

    變量是一種可以賦給值的標(biāo)簽。每一個(gè)變量都指向一個(gè)相關(guān)聯(lián)的值,下列代碼中 message 即為變量,指向的值為“Hello Python world !” 第二行的 print() 函數(shù)用于打印輸出這個(gè) message 變量所關(guān)聯(lián)的值。 且變量的值是可以修改的,python中只有變量的最新值有效如下列代碼。 ? ? 變量

    2024年02月12日
    瀏覽(21)
  • 02.【python基礎(chǔ)一】手把手教你什么是注釋、變量及輸入函數(shù)

    02.【python基礎(chǔ)一】手把手教你什么是注釋、變量及輸入函數(shù)

    ?? 個(gè)人簡(jiǎn)介 ?? 作者簡(jiǎn)介:大家好,我是小鵬linux,運(yùn)維領(lǐng)域新星創(chuàng)作者,阿里云ACE認(rèn)證高級(jí)工程師?? ?? 個(gè)人主頁:小鵬linux?? ?? 支持我:點(diǎn)贊??+收藏??+留言?? ??格言:你未必出類拔萃,但一定與眾不同!?? ?? 系列專欄: ? ? ? ? ? ? ? ??? 階段一:windows基

    2023年04月08日
    瀏覽(15)
  • Python學(xué)習(xí)筆記(四):函數(shù)的定義、函數(shù)的返回值、None類型、函數(shù)說明文檔、函數(shù)的嵌套調(diào)用、局部變量、全局變量、global關(guān)鍵字

    Python學(xué)習(xí)筆記(四):函數(shù)的定義、函數(shù)的返回值、None類型、函數(shù)說明文檔、函數(shù)的嵌套調(diào)用、局部變量、全局變量、global關(guān)鍵字

    目錄 一、函數(shù)介紹 1. 函數(shù)是: 2. 使用函數(shù)的好處是: 二、函數(shù)的定義: 三、函數(shù)的參數(shù) 1.傳入?yún)?shù)的功能是: 2.函數(shù)的傳入?yún)?shù) - 傳參定義 3.注意事項(xiàng): 4.練習(xí):測(cè)量體溫 四、函數(shù)的返回值 1.函數(shù)返回值的定義 2.None類型 五、函數(shù)說明文檔 六、函數(shù)的嵌套調(diào)用 七、變量的

    2024年02月05日
    瀏覽(21)
  • Python---爬蟲學(xué)習(xí)(詳細(xì)注釋/優(yōu)化)

    項(xiàng)目結(jié)構(gòu): 導(dǎo)入庫 正則表達(dá)式:用于匹配網(wǎng)頁中電影信息中的鏈接、圖片標(biāo)題等 主程序:調(diào)用get_data和save_data HTTP請(qǐng)求函數(shù):ask_URL 獲取電影數(shù)據(jù)函數(shù):get_data à 把信息保存data_list中 保存數(shù)據(jù)函數(shù):save_data

    2024年01月23日
    瀏覽(17)
  • 【Python零基礎(chǔ)學(xué)習(xí)入門篇①】——基本語法與變量

    【Python零基礎(chǔ)學(xué)習(xí)入門篇①】——基本語法與變量

    ???????????? ???Hello,大家好呀我是陳童學(xué)哦,一個(gè)普通大一在校生,請(qǐng)大家多多關(guān)照呀嘿嘿?????? ?????? 技術(shù)這條路固然很艱辛,但既已選擇,該當(dāng)堅(jiān)毅地走下去,加油! ???PUA: ” 你所看到的驚艷都曾平庸歷練 **“**?????? ?????? 最后讓我

    2023年04月08日
    瀏覽(24)
  • Python學(xué)習(xí)從0到1 day3 python基礎(chǔ)語法1 變量和debug

    Python學(xué)習(xí)從0到1 day3 python基礎(chǔ)語法1 變量和debug

    沒關(guān)系,這破敗的生活壓不住我 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——24.1.13 1.什么是量? ????????量是程序運(yùn)行中的最小單元 2.什么是變量呢? ????????①變量是存儲(chǔ)數(shù)據(jù)的容器 ????????②變量存儲(chǔ)的數(shù)據(jù)時(shí)臨時(shí)的,變量只有在程序運(yùn)行過程中是有效的,當(dāng)程序

    2024年01月22日
    瀏覽(21)
  • 【Python 筆記(二)——基本語句 變量類型 字符串 序列 列表與元組 字典與集合】

    在 Python 中,基本語句可以幫助我們完成一些基本的操作,如控制流程、定義函數(shù)等。以下是 Python 中的幾種基本語句: if 語句 if 語句用于判斷某個(gè)條件是否成立,如果條件成立則執(zhí)行相應(yīng)的代碼塊。 for 語句 for 語句用于遍歷序列中的元素,依次執(zhí)行相應(yīng)的代碼塊。 while 語

    2024年02月08日
    瀏覽(28)
  • Windows10批處理命令行設(shè)置環(huán)境變量筆記,無需重新安裝python與chrome

    Windows10批處理命令行設(shè)置環(huán)境變量筆記,無需重新安裝python與chrome

    近期,工作中經(jīng)常安裝、部署python生產(chǎn)、開發(fā)環(huán)境,比較麻煩,也沒有心情去優(yōu)化。突然,我的電腦崩潰了,在重新安裝電腦的過程中,保留了原來的安裝軟件(有的沒有放在系統(tǒng)盤中),就通過修改環(huán)境配置變量,直接使用早期安裝軟件,很好用。 首先,整理環(huán)境變量設(shè)置

    2024年02月11日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包