午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    跟老齊學(xué)Python之賦值,簡單也不簡單
    來源:易賢網(wǎng) 閱讀:877 次 日期:2014-09-25 10:00:54
    溫馨提示:易賢網(wǎng)小編為您整理了“跟老齊學(xué)Python之賦值,簡單也不簡單”,方便廣大網(wǎng)友查閱!

    變量命名

    在《初識永遠(yuǎn)強(qiáng)大的函數(shù)》一文中,有一節(jié)專門討論“取名字的學(xué)問”,就是有關(guān)變量名稱的問題,本溫故而知新的原則,這里要復(fù)習(xí):

    名稱格式:(下劃線或者字母)+(任意數(shù)目的字母,數(shù)字或下劃線)

    注意:

    1.區(qū)分大小寫

    2.禁止使用保留字

    3.遵守通常習(xí)慣

    •以單一下劃線開頭的變量名(_X)不會被from module import *語句導(dǎo)入的。

    •前后有下劃線的變量名(X)是系統(tǒng)定義的變量名,對解釋器有特殊意義。

    •以兩個(gè)下劃線開頭,但結(jié)尾沒有兩個(gè)下劃線的變量名(__X)是類本地(壓縮)變量。

    •通過交互模式運(yùn)行時(shí),只有單個(gè)下劃線變量(_)會保存最后的表達(dá)式結(jié)果。

    需要解釋一下保留字,就是python里面保留了一些單詞,這些單詞不能讓用戶來用作變量名稱。都有哪些呢?(python2和python3少有差別,但是總體差不多)

    代碼如下:

    and assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while yield

    需要都記住嗎?當(dāng)然不需要了。一方面,可以在網(wǎng)上隨手查到,另外,還能這樣:

    復(fù)制代碼 代碼如下:>>> not = 3

    File "<stdin>", line 1

    not = 3

    ^

    SyntaxError: invalid syntax

    >>> pass = "hello,world"

    File "<stdin>", line 1

    pass = "hello,world"

    ^

    SyntaxError: invalid syntax

    在交互模式的實(shí)驗(yàn)室中,用保留字做變量,就報(bào)錯(cuò)了。當(dāng)然,這時(shí)候就要換名字了。

    以上原則,是基本原則。在實(shí)際編程中,大家通常還這樣做,以便讓程序更具有可讀性:

    •名字具有一定的含義。比如寫:n = "qiwsir",就不如寫:name = "qiwsir"更好。

    •名字不要誤導(dǎo)別人。比如用account_list指一組賬號,就會被人誤解為是list類型的數(shù)據(jù),事實(shí)上可能是也可能不是。所以這時(shí)候最好換個(gè)名稱,比如直接用accounts。

    •名字要有意義的區(qū)分,有時(shí)候你可能會用到a1,a2之類的名字,最好不要這么做,換個(gè)別的方式,通過字面能夠看出一定的區(qū)分來更好。

    •最好是名稱能夠讀出來,千萬別自己造英文單詞,也別亂用所寫什么的,特別是貴國的,還喜歡用漢語拼音縮寫來做為名字,更麻煩了,還不如全拼呢。最好是用完整的單詞或者公認(rèn)的不會引起歧義的縮寫。

    •單個(gè)字母和數(shù)字就少用了,不僅是顯得你太懶惰,還會因?yàn)樵谝欢未a中可能有很多個(gè)單個(gè)的字母和數(shù)字,為搜索帶來麻煩,別人也更不知道你的i和他理解的i是不是一個(gè)含義。

    總之,取名字,講究不少。不論如何,要記住一個(gè)標(biāo)準(zhǔn):明確

    賦值語句

    對于賦值語句,看官已經(jīng)不陌生了。任何一個(gè)變量,在python中,只要想用它,就要首先賦值。

    語句格式:變量名稱 = 對象

    上一節(jié)中也分析了賦值的本質(zhì)。

    還有一種賦值方式,叫做隱式賦值,通過import、from、del、class、for、函數(shù)參數(shù)。等模塊導(dǎo)入,函數(shù)和類的定義,for循環(huán)變量以及函數(shù)參數(shù)都是隱式賦值運(yùn)算。這方面的東西后面會徐徐道來。

    代碼如下:

    >>> name = "qiwsir"

    >>> name, website = "qiwsir","qiwsir.github.io" #多個(gè)變量,按照順序依次賦值

    >>> name

    'qiwsir'

    >>> website

    'qiwsir.github.io'

    >>> name, website = "qiwsir" #有幾個(gè)變量,就對應(yīng)幾個(gè)對象,不能少,也不能多

    Traceback (most recent call last):

    File "<stdin>", line 1, in <module>

    ValueError: too many values to unpack

    如果這樣賦值,也得兩邊數(shù)目一致:

    代碼如下:

    >>> one,two,three,four = "good"

    >>> one

    'g'

    >>> two

    'o'

    >>> three

    'o'

    >>> four

    'd'

    這就相當(dāng)于把good分拆為一個(gè)一個(gè)的字母,然后對應(yīng)著賦值給左邊的變量。

    代碼如下:

    >>> [name,site] = ["qiwsir","qiwsir.github.io"]

    >>> name

    'qiwsir'

    >>> site

    'qiwsir.github.io'

    >>> name,site = ("qiwsir","qiwsir.github.io")

    >>> name

    'qiwsir'

    >>> site

    'qiwsir.github.io'

    這樣也行呀。

    其實(shí),賦值的樣式不少,核心就是將變量和某對象對應(yīng)起來。對象,可以用上面的方式,也許是這樣的

    代碼如下:

    >>> site = "qiwsir.github.io"

    >>> name, main = site.split(".")[0], site.split(".")[1] #還記得str.split(<sep>)這個(gè)東東嗎?忘記了,google一下吧。

    >>> name

    'qiwsir'

    >>> main

    'github'

    增強(qiáng)賦值

    這個(gè)東西聽名字就是比賦值強(qiáng)的。

    在python中,將下列的方式稱為增強(qiáng)賦值:

    增強(qiáng)賦值語句 等價(jià)于語句

    x+=y x = x+y

    x-=y x = x-y

    x*=y x = x*y

    x/=y x = x/y

    其它類似結(jié)構(gòu):x&=y  x|=y  x^=y  x%=y  x>>=y x<<=y  x**=y  x//=y

    看下面的例子,有一個(gè)list,想得到另外一個(gè)列表,其中每個(gè)數(shù)比原來list中的大2。可以用下面方式實(shí)現(xiàn):

    代碼如下:

    >>> number

    [1, 2, 3, 4, 5]

    >>> number2 = []

    >>> for i in number:

    ... i = i+2

    ... number2.append(i)

    ...

    >>> number2

    [3, 4, 5, 6, 7]

    如果用上面的增強(qiáng)賦值,i = i+2可以寫成 i +=2,試一試吧:

    代碼如下:

    >>> number

    [1, 2, 3, 4, 5]

    >>> number2 = []

    >>> for i in number:

    ... i +=2

    ... number2.append(i)

    ...

    >>> number2

    [3, 4, 5, 6, 7]

    這就是增強(qiáng)賦值。為什么用增強(qiáng)賦值?因?yàn)閕 +=2,比i = i+2計(jì)算更快,后者右邊還要拷貝一個(gè)i。

    上面的例子還能修改,別忘記了list解析的強(qiáng)大功能呀。

    代碼如下:

    >>> [i+2 for i in number]

    [3, 4, 5, 6, 7]

    更多信息請查看IT技術(shù)專欄

    更多信息請查看腳本欄目
    易賢網(wǎng)手機(jī)網(wǎng)站地址:跟老齊學(xué)Python之賦值,簡單也不簡單
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)