最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

跟老齊學(xué)Python之賦值,簡(jiǎn)單也不簡(jiǎn)單

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

變量命名

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

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

注意:
 1.區(qū)分大小寫
 2.禁止使用保留字
 3.遵守通常習(xí)慣
 •以單一下劃線開頭的變量名(_X)不會(huì)被from module import *語句導(dǎo)入的。
 •前后有下劃線的變量名(X)是系統(tǒng)定義的變量名,對(duì)解釋器有特殊意義。
 •以兩個(gè)下劃線開頭,但結(jié)尾沒有兩個(gè)下劃線的變量名(__X)是類本地(壓縮)變量。
 •通過交互模式運(yùn)行時(shí),只有單個(gè)下劃線變量(_)會(huì)保存最后的表達(dá)式結(jié)果。
 
需要解釋一下保留字,就是python里面保留了一些單詞,這些單詞不能讓用戶來用作變量名稱。都有哪些呢?(python2和python3少有差別,但是總體差不多)

復(fù)制代碼 代碼如下:

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指一組賬號(hào),就會(huì)被人誤解為是list類型的數(shù)據(jù),事實(shí)上可能是也可能不是。所以這時(shí)候最好換個(gè)名稱,比如直接用accounts。
 •名字要有意義的區(qū)分,有時(shí)候你可能會(huì)用到a1,a2之類的名字,最好不要這么做,換個(gè)別的方式,通過字面能夠看出一定的區(qū)分來更好。
 •最好是名稱能夠讀出來,千萬別自己造英文單詞,也別亂用所寫什么的,特別是貴國的,還喜歡用漢語拼音縮寫來做為名字,更麻煩了,還不如全拼呢。最好是用完整的單詞或者公認(rèn)的不會(huì)引起歧義的縮寫。
 •單個(gè)字母和數(shù)字就少用了,不僅是顯得你太懶惰,還會(huì)因?yàn)樵谝欢未a中可能有很多個(gè)單個(gè)的字母和數(shù)字,為搜索帶來麻煩,別人也更不知道你的i和他理解的i是不是一個(gè)含義。
 
總之,取名字,講究不少。不論如何,要記住一個(gè)標(biāo)準(zhǔn):明確

賦值語句

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

語句格式:變量名稱 = 對(duì)象

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

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

復(fù)制代碼 代碼如下:

>>> name = "qiwsir"

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

>>> name, website = "qiwsir"    #有幾個(gè)變量,就對(duì)應(yīng)幾個(gè)對(duì)象,不能少,也不能多
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

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

復(fù)制代碼 代碼如下:

>>> one,two,three,four = "good"
>>> one
'g'
>>> two
'o'
>>> three
'o'
>>> four
'd'

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

復(fù)制代碼 代碼如下:

>>> [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í),賦值的樣式不少,核心就是將變量和某對(duì)象對(duì)應(yīng)起來。對(duì)象,可以用上面的方式,也許是這樣的

復(fù)制代碼 代碼如下:

>>> 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):

復(fù)制代碼 代碼如下:

>>> 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,試一試吧:

復(fù)制代碼 代碼如下:

>>> 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)大功能呀。

復(fù)制代碼 代碼如下:

>>> [i+2 for i in number]
[3, 4, 5, 6, 7]

相關(guān)文章

  • Python unittest單元測(cè)試框架及斷言方法

    Python unittest單元測(cè)試框架及斷言方法

    這篇文章主要介紹了Python unittest單元測(cè)試框架及斷言方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python對(duì)DICOM圖像的讀取方法詳解

    python對(duì)DICOM圖像的讀取方法詳解

    DICOM(Digital Imaging and Communications in Medicine)即醫(yī)學(xué)數(shù)字成像和通信,是醫(yī)學(xué)圖像和相關(guān)信息的國際標(biāo)準(zhǔn)(ISO 12052)。下面這篇文章主要給大家介紹了關(guān)于python對(duì)DICOM圖像讀取的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • 目前最全的python的就業(yè)方向

    目前最全的python的就業(yè)方向

    Python是一門面向?qū)ο蟮木幊陶Z言,編譯速度超快,從誕生到現(xiàn)在已經(jīng)25個(gè)年頭了。其特點(diǎn)在于靈活運(yùn)用,因?yàn)槠鋼碛写罅康谌綆欤蚤_發(fā)人員不必重復(fù)造輪子,就像搭積木一樣,只要擅于利用這些庫就可以完成絕大部分工作
    2018-06-06
  • Python使用pymysql模塊操作mysql增刪改查實(shí)例分析

    Python使用pymysql模塊操作mysql增刪改查實(shí)例分析

    這篇文章主要介紹了Python使用pymsql模塊操作mysql增刪改查,結(jié)合實(shí)例形式分析了Python使用pymsql模塊針對(duì)mysql進(jìn)行增刪改查操作的相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Python中不可變數(shù)據(jù)類型原理與實(shí)戰(zhàn)全解析

    Python中不可變數(shù)據(jù)類型原理與實(shí)戰(zhàn)全解析

    在Python的世界里,數(shù)據(jù)對(duì)象被明確劃分為兩大陣營:可變(Mutable)與不可變(Immutable),而本文將為大家詳細(xì)介紹一下其中的不可變數(shù)據(jù),感興趣的可以了解下
    2025-04-04
  • Python?列表(list)的常用方法

    Python?列表(list)的常用方法

    這篇文章主要介紹了Python?列表(list)的常用方法,這節(jié)主要講列表,列表用于存儲(chǔ)任意數(shù)目、任意類型的數(shù)據(jù)集合,本文通過示例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2023-05-05
  • Python自動(dòng)掃描出微信不是好友名單的方法

    Python自動(dòng)掃描出微信不是好友名單的方法

    很多人想要清楚已經(jīng)被刪除的好友名單。面對(duì)龐大的好友數(shù)量想要清除談何容易,本文主要介紹了Python自動(dòng)掃描出微信不是好友名單的方法,感興趣的可以了解一下
    2021-05-05
  • python Gunicorn服務(wù)器使用方法詳解

    python Gunicorn服務(wù)器使用方法詳解

    這篇文章主要介紹了python Gunicorn服務(wù)器使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python文件操作之合并文本文件內(nèi)容示例代碼

    Python文件操作之合并文本文件內(nèi)容示例代碼

    眾所周知Python文件處理操作方便快捷,下面這篇文章主要給大家介紹了關(guān)于Python文件操作之合并文本文件內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Python實(shí)現(xiàn)刪除Android工程中的冗余字符串

    Python實(shí)現(xiàn)刪除Android工程中的冗余字符串

    這篇文章主要介紹了Python實(shí)現(xiàn)刪除Android工程中的冗余字符串,本文實(shí)現(xiàn)的是刪除Android資源(語言)國際化機(jī)制中的一些冗余字符串,需要的朋友可以參考下
    2015-01-01

最新評(píng)論

搜索| 综艺| 贡嘎县| 麟游县| 九寨沟县| 密山市| 游戏| 柯坪县| 唐河县| 综艺| 乌兰县| 宝应县| 陕西省| 千阳县| 个旧市| 确山县| 鹿泉市| 商城县| 蚌埠市| 晋城| 新田县| 惠安县| 西安市| 石屏县| 诸暨市| 建宁县| 红原县| 霍邱县| 册亨县| 贞丰县| 武强县| 资兴市| 平阴县| 收藏| 远安县| 沭阳县| 宁陵县| 仙居县| 辰溪县| 开原市| 达尔|