乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python中最容易掉進去的10個坑

       靜幻堂 2018-09-06
      程序猿IT 2018-09-04 14:55:47

      優(yōu)效學院,大數(shù)據(jù),人工智能,Java,架構(gòu),在線教育


      相比于其他語言,Python中的語法比較簡單易學,但一旦不注意細節(jié),剛?cè)腴T的新手很容易就會掉進語法錯誤的坑里。

      忘記寫冒號

      在if,elif,else,for,while,class,def語句后面忘記添加“:”

      if spam == 42
      print('Hello!')

      2.誤用“=”做等值比較

      “=”是給變量賦值,“==”才是判斷兩個值是否相等:

      score = 60
      if score = 60:
      print ('passed')

      改正:

      score = 60
      if score == 60:
      print ('passed')

      3.變量沒有定義:

      if age >= 18:
      print ('adult')
      print ('END')

      會導致:NameError:未定義名稱'age'。

      改正:

      age = 20
      if age >= 18:
      print ('adult')
      print ('END')

      4.字符串與非字符串連接

      錯誤:

      num = 12
      print('I have ' + num+ ' apples.')

      非字符串和字符串連接的時候,要將非字符串轉(zhuǎn)換為字符串類型之后才能連接,改正:

      num = 12
      print('I have ' + str(num)+ ' apples.')

      5.列表的索引位置

      習慣性地認為列表元素的位置是從1開始的:

      spam = ['cat', 'dog', 'mouse']
      print(spam[3])

      列表元素的位置是從0開始的,所以第3個元素“鼠標”的索引位置是2,改正:

      spam = ['cat', 'dog', 'mouse']
      print(spam[2])

      6.使用自增“++”自減“ - ”

      學過?語言或者Java的的人會很習慣使用我++或者異,但在Python的中是沒有自增自減操作符的:

      spam = 0
      spam++

      這時可以使用“+ =”來代替“++”,改正:

      spam = 0
      spam += 1

      7.使用關(guān)鍵字命名變量

      Python 3中一共33個關(guān)鍵字:

      假,無,真,和,如,斷言,突破,階級,繼續(xù),閃避,德爾,ELIF,否則,除了最后,對于來自全球,如果進口,在,是,λ,外地,不,或者,傳球,養(yǎng),返回,嘗試,同時,有,產(chǎn)量

      自定義變量時,變量名不能和這些關(guān)鍵字重復。

      8.索引元素位置時忘記調(diào)用len方法

      通過索引位置來獲取列表元素時,忘記要先使用len函數(shù)來獲取列表的長度:

      fam = ['dad', 'mom', 'son']
      for i in range(fam):
      print(fam[i])

      改正:

      fam = ['dad', 'mom', 'son']
      for i in range(len(fam)):
      print(fam[i])

      9.函數(shù)中的局部變量賦值前被使用

      num = 42
      def myFunction():
      print(num)
      num = 100
      myFunction()

      第一行定義了一個全局變量num,同時函數(shù)myFunction()也定義了一個同名的局部變量,但程序執(zhí)行時是先查找局部變量的,所以在函數(shù)中找到num之后就不到外部查找了,此時就會出現(xiàn)打印的時候變量NUM還沒賦值的錯誤。

      10.縮進問題

      和其他語言的語法最大的不同就是,Python中不能用括號來表示語句塊,也不能用開始或結(jié)束標志符來表示,而是靠縮進來區(qū)分代碼塊的。

      常見的錯誤用法:

      (1)

      print('Hello')
      print('World!')

      錯誤是第二行的縮進會導致兩個打印語句是包含和被包含的關(guān)系,但他們兩者是屬于同一個代碼塊的,所以應(yīng)該寫成;

      print('Hello')
      print('World!')

      (2)

      if spam == 42:
      print('Hello')
      print('World!')

      錯誤是第三行的縮進,改正的方法有兩種,一是如果兩個打印語句是屬于同一代碼塊的,應(yīng)該改正為

      if spam == 42:
      print('Hello')
      print('World!')

      二是如果第三行的打印語句是和,如果語句是同一級的,則改正為

      if spam == 42:
      print('Hello')
      print('World!')

      (3)在Python 3中,縮進的時候,不能Tab和空格混用,每個縮進層次應(yīng)該選擇只使用Tab或者只使用空格。

      你在學習的Python的過程中掉過哪些坑,歡迎留言參與討論。需要資料的聯(lián)系作者。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多