日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python為什么不支持i++/i--操作

 你一定想過。然而情況卻不理想,python中只能使用類似于 i++/i--等操作。

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對成都茶樓設(shè)計(jì)等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站營銷優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

python中的自增操作

下面代碼幾乎是所有程序員在python中進(jìn)行自增(減)操作的常用方法。

 
 
 
  1. >>> a = 2
  2. >>> print(a)
  3. 2
  4. >>> a += 1
  5. >>> print(a)
  6. 3
  7. >>> a += 100
  8. >>> print(a)
  9. 103
  10. >>> b = 'Hi'
  11. >>> b += 1
  12. Traceback (most recent call last):
  13.   File "", line 1, in 
  14. TypeError: can only concatenate str (not "int") to str
  15. >>> b += ' data'
  16. >>> b
  17. 'Hi data'

上述代碼中,由于+運(yùn)算符也可以表示字符串的串聯(lián),因此我們也可以將字符串在原來的基礎(chǔ)上進(jìn)行附加。

我們可以使用a++將a遞增1嗎? 

 
 
 
  1. >>> a++
  2.   File "", line 1
  3.     a++
  4.       ^
  5. SyntaxError: invalid syntax

結(jié)果是:No,根據(jù)設(shè)計(jì),Python不允許使用++“運(yùn)算符”。++術(shù)語在C ++ / Java中稱為增量運(yùn)算符,在Python中沒有位置。

為什么Python中不支持++操作呢?

如果您想更詳細(xì)地了解這一點(diǎn),則需要具有編程語言設(shè)計(jì)的背景知識(shí)。

在Python中不包括++運(yùn)算符的選項(xiàng)是設(shè)計(jì)決定。負(fù)責(zé)使用Python語言創(chuàng)建功能的人們認(rèn)為,無需引入CPP風(fēng)格的增量運(yùn)算符。

【注】什么是CPP?所謂的CPP其實(shí)就是C++,C++這個(gè)詞在中國大陸的程序員圈子中通常被讀做“C加加”,而西方的程序員通常讀做“C plus plus”。漲姿勢了

當(dāng)Python解釋器從我們的輸入中解析a ++符號(hào)時(shí),會(huì)用以下方式進(jìn)行解釋:

由于二進(jìn)制+運(yùn)算符是加法運(yùn)算符,因此a ++將被視為a,+和+。但是Python期望第一個(gè)+運(yùn)算符之后的數(shù)字。因此,它將在a ++上給出語法錯(cuò)誤,因?yàn)榈诙€(gè)+不是數(shù)字。

而++ a則會(huì)用以下方式進(jìn)行解釋:

  • Python中的一元+運(yùn)算符指的是身份運(yùn)算符。這只是返回整數(shù)。這就是為什么它是對整數(shù)的身份運(yùn)算
  • 例如,+ 5的值就是5,而+ -5的值是-5。這是一元運(yùn)算符,適用于實(shí)數(shù)
  • ++ a將被解析為+和+ a,但是第二個(gè)+ a再次被視為(+ a),因此,+(+(a))簡單地計(jì)算為a。
  • 因此,即使我們想將a的值增加1,我們也無法使用++符號(hào)來實(shí)現(xiàn),因?yàn)檫@種運(yùn)算符不存在。

因此,我們必須使用+ =運(yùn)算符進(jìn)行這種增量。

 
 
 
  1. a += 1
  2. a -= 1

+=操作是如何進(jìn)行的呢?

您可能會(huì)認(rèn)為,由于存在=符號(hào),因此它可能是賦值語句。但是,這不是常規(guī)的賦值語句。這稱為增強(qiáng)的賦值語句。(常規(guī)賦值操作的Plus版)

在常規(guī)賦值語句中,首先計(jì)算右側(cè),然后再將其賦給左側(cè)。

 
 
 
  1. # 2 + 3 的結(jié)果是5,然后才將結(jié)果5分配給左邊的引用
  2. a = 2 + 3

但是,在增強(qiáng)的賦值語句中,首先操作的是左側(cè),然后計(jì)算右側(cè)。這樣做是為了使更新后的值可以就地寫入左側(cè)。(具體的賦值內(nèi)存分析后續(xù)的文章會(huì)涉及到)

 
 
 
  1. # 讀取a的值,然后就地添加3
  2. a += 3

這是不使用a = a + 1這樣的重新分配語句而增加變量的唯一方法。但是,在這里,總的來說,該選項(xiàng)無關(guān)緊要,因?yàn)榻忉屍鲗⒃谶\(yùn)行時(shí)優(yōu)化代碼。


分享文章:Python為什么不支持i++/i--操作
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/dhidphj.html