<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      翻譯:《實用的Python編程》01_02_Hello_world

      目錄 | 上一節 (1.1 Python) | 下一節 (1.3 數字)

      1.2 第一個程序

      本節討論有關如何創建一個程序、運行解釋器和調試的基礎知識。

      運行 Python

      Python 程序始終在解釋器中運行。

      解釋器是一個“基于控制臺”的應用程序,通常從命令行 shell 啟動。

      python3
      Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
      [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
      

      老練的程序員以這種方式使用解釋器時通常都沒有問題,但對于初學者來說,這種方式并不是那么友好。您可能會使用一個為 Python 提供不同接口的環境,但是學習學會如何運行 Python 終端仍然是一項有必要了解的技能。

      交互模式

      當啟動 Python 時,可以進入一種交互的模式,在這種模式下,可以進行編程實驗。

      如果輸入代碼完畢,這些代碼將會馬上運行。沒有 edit/compile/run/debug 等流程。

      >>> print('hello world')
      hello world
      >>> 37*42
      1554
      >>> for i in range(5):
      ...     print(i)
      ...
      0
      1
      2
      3
      4
      >>>
      

      這就是所謂的“讀取-求值-輸出-循環”(譯者注:簡寫為 REPL,也有人譯為 “交互式解釋器”,正像 Python 這個詞一樣,為了更好地理解,這里不翻譯。),對于代碼調試和探索非常有用。

      暫停:如果您不知道如何與 Python 進行交互,先停止您正在做的事情,然后弄清楚如何與 Python 進行交互。如果您正在使用的是集成開發環境(IDE),它可能隱藏在一個菜單選項或者其它窗口后面。本課程的許多部分都假定您能與解釋器進行交互。

      讓我們仔細看看 REPL 的元素:

      • >>> 提示符用于開始一個新的語句。
      • ... 提示符用于繼續一個語句,輸入一個空行表示全部輸入結束,并運行所輸入的代碼。

      ... 提示符可能會顯示,也可能不會顯示,這取決于使用的環境。對于本課程,將 ... 提示符顯示為空白,以便于剪切、粘貼示例代碼。

      下劃線 _ 保存最后的結果。

      >>> 37 * 42
      1554
      >>> _ * 2
      3108
      >>> _ + 50
      3158
      >>>
      

      僅在交互模式下如此(指下劃線 _ 保存最后的結果),永遠不要在程序中使用這種方式。

      創建程序

      程序寫在 .py 文件中。

      # hello.py
      print('hello world')
      

      你可以使用你最喜歡的文本編輯器來創建這些 .py 文件。

      運行程序

      要執行程序,請在終端中使用 python 命令執行它。示例,在 Unix 系統的命令行中是這樣執行一個 Python 程序的:

      示例,在 Unix 系統的命令行中執行程序:

      bash % python hello.py
      hello world
      bash %
      

      或者,從 Windows shell 中執行一個 Python 程序:

      C:\SomeFolder>hello.py
      hello world
      
      C:\SomeFolder>c:\python36\python hello.py
      hello world
      

      注意:在 Windows 系統上,可能需要指定 Python 解釋器的完整路徑,例如 c:\python36\python。但是,如果 Python 是以通常的方式安裝的,可能只需要輸入程序文件名即可,例如 hello.py

      示例程序

      讓我們解決以下的問題:

      一天早上,您走出去,在芝加哥的西爾斯大廈旁的人行道上放 1 美元鈔票。從那以后的每一天,您放的鈔票都是前一天的兩倍。這疊鈔票需要多長時間才能超過塔的高度。

      這是答案:

      # sears.py
      bill_thickness = 0.11 * 0.001 # Meters (0.11 mm)
      sears_height = 442 # Height (meters)
      num_bills = 1
      day = 1
      
      while num_bills * bill_thickness < sears_height:
          print(day, num_bills, num_bills * bill_thickness)
          day = day + 1
          num_bills = num_bills * 2
      
      print('Number of days', day)
      print('Number of bills', num_bills)
      print('Final height', num_bills * bill_thickness)
      

      當執行 sears.py 程序的時候,會得到下面的輸出:

      bash % python3 sears.py
      1 1 0.00011
      2 2 0.00022
      3 4 0.00044
      4 8 0.00088
      5 16 0.00176
      6 32 0.00352
      ...
      21 1048576 115.34336
      22 2097152 230.68672
      Number of days 23 
      Number of bills 4194304 
      Final height 461.37344
      

      使用此程序作為指南,您可以學到許多重要的關于 Python 的核心概念。

      語句

      一個 Python 程序是由一系列的語句組成。

      a = 3 + 4
      b = a * 2
      print(b)
      

      每個語句以換行符終止。語句會一個接一個地執行,直到控制流達到文件的末尾。

      注釋

      注釋是不會被解釋器執行的文本。

      a = 3 + 4
      # This is a comment
      b = a * 2
      print(b)
      

      注釋由 # 號表示,并延伸到行的末尾。

      變量

      變量是一個值的名稱。可以使用從 a 到 z 的字母(小寫和大寫都可以)表示,也可以使用下劃線 _ 符號表示。數字也可以作為變量名的一部分,但第一個字符除外。

      height = 442 # valid
      _height = 442 # valid
      height2 = 442 # valid
      2height = 442 # invalid
      

      類型

      變量不需要使用值的類型進行聲明。類型與右側的值關聯,而不是變量名。

      height = 442           # An integer
      height = 442.0         # Floating point
      height = 'Really tall' # A string
      

      Python 是動態語言。當程序執行時,變量的感知“類型”可能會發生改變,這取決于賦給變量的當前值。

      大小寫敏感

      Python 語言是大小寫敏感的(即區分大小寫),大寫字母和小寫字母被認為是不同的字母。下面這些都是不同的變量:

      name = 'Jake'
      Name = 'Elwood'
      NAME = 'Guido'
      

      Python 語言自帶的語句總是小寫:

      while x < 0:   # OK
      WHILE x < 0:   # ERROR
      

      循環

      while 語句執行一個循環:

      while num_bills * bill_thickness < sears_height:
          print(day, num_bills, num_bills * bill_thickness)
          day = day + 1
          num_bills = num_bills * 2
      
      print('Number of days', day)
      

      只要 while 之后的表達式的值是 truewhile 下面縮進的語句就會被執行。

      縮進

      縮進用于表示放在一起的語句組。考慮前面的示例:

      while num_bills * bill_thickness < sears_height:
          print(day, num_bills, num_bills * bill_thickness)
          day = day + 1
          num_bills = num_bills * 2
      
      print('Number of days', day)
      

      縮進將下面的語句分組為一個重復的操作:

          print(day, num_bills, num_bills * bill_thickness)
          day = day + 1
          num_bills = num_bills * 2
      

      因為在末尾的 print() 語句(即 print('Number of days', day))沒有縮進,所以不屬于循環。空行只是為了可讀性,并不影響程序的執行。

      縮進的最佳實踐

      • 使用空格(spaces)而不是制表符(tabs)。
      • 每級使用四個空格。
      • 使用支持 Python 的編輯器。

      Python 唯一的要求就是同一代碼塊內的縮進必須一致。例如,下面的縮進是錯誤的:

      while num_bills * bill_thickness < sears_height:
          print(day, num_bills, num_bills * bill_thickness)
              day = day + 1 # ERROR
          num_bills = num_bills * 2
      

      條件語句

      if 語句用來執行一個條件:

      if a > b:
          print('Computer says no')
      else:
          print('Computer says yes')
      

      為了檢查多個條件,可以使用 elif來添加額外的檢查。

      if a > b:
          print('Computer says no')
      elif a == b:
          print('Computer says yes')
      else:
          print('Computer says maybe')
      

      輸出

      print 函數將傳入的參數值輸出成一行文本。

      print('Hello world!') # Prints the text 'Hello world!'
      

      也可以將變量進行輸出。輸出的文本將是變量的值,而不是變量的名字。

      x = 100
      print(x) # Prints the text '100'
      

      如果將兩個以上的值傳遞給 print 函數,它們在輸出的時候被空格分開。

      name = 'Jake'
      print('My name is', name) # Print the text 'My name is Jake'
      

      print() 函數總是將換行符放在最后。

      print('Hello')
      print('My name is', 'Jake')
      

      上面的代碼會輸出如下的內容:

      Hello
      My name is Jake
      

      額外的換行符可以被抑制:

      print('Hello', end=' ')
      print('My name is', 'Jake')
      

      上面的代碼將會輸出如下內容:

      Hello My name is Jake
      

      用戶輸入

      要讀取一行類型化的用戶輸入,可以使用 input() 函數:

      name = input('Enter your name:')
      print('Your name is', name)
      

      input()函數向用戶輸出一句提示,并且返回他們的響應。

      這對于一個簡短的程序、學習練習或者簡單的調試是非常有用的。

      但這并未廣泛應用于實際的程序中。

      pass 語句

      有時候需要指定一個空的代碼塊,那么可以使用 pass 關鍵字。

      if a > b:
          pass
      else:
          print('Computer says false')
      

      pass 語句也稱為 “無操作” 語句,它什么也不做。它用作語句的占位符,可能以后會被添加。

      習題

      這是需要創建 Python 文件并且運行這個文件的第一組練習。從現在開始,假定你正在編輯的文件位于practical-python/Work/ 目錄。為了幫您找到合適的 位置,已經創建了許多具有合適的文件名的空的啟動文件。請找到在第一個練習中使用的Work/bounce.py文件。

      習題 1.5: 彈跳球

      一個橡膠球從 100 米高的地方落下來,球每次撞到地面時彈到原來高度的 3/5 。編寫一個程序 bounce.py ,輸出一張表格,顯示前 10 次反彈的高度。

      程序生成的表格大概像下面這樣:

      1 60.0
      2 36.0
      3 21.599999999999998
      4 12.959999999999999
      5 7.775999999999999
      6 4.6655999999999995
      7 2.7993599999999996
      8 1.6796159999999998
      9 1.0077695999999998
      10 0.6046617599999998
      

      注意:如果使用 round() 函數,可以使輸出稍微簡潔一些。請嘗試使用 round() 函數將輸出四舍五入到 小數點后 4 位。

      1 60.0
      2 36.0
      3 21.6
      4 12.96
      5 7.776
      6 4.6656
      7 2.7994
      8 1.6796
      9 1.0078
      10 0.6047
      

      習題 1.6: 調試

      下面的代碼片段包含來自于西爾斯大廈問題 的代碼,它還有一個 bug:

      # sears.py
      
      bill_thickness = 0.11 * 0.001    # Meters (0.11 mm)
      sears_height   = 442             # Height (meters)
      num_bills      = 1
      day            = 1
      
      while num_bills * bill_thickness < sears_height:
          print(day, num_bills, num_bills * bill_thickness)
          day = days + 1
          num_bills = num_bills * 2
      
      print('Number of days', day)
      print('Number of bills', num_bills)
      print('Final height', num_bills * bill_thickness)
      

      將上面顯示的代碼復制并粘貼到一個名為 sears.py的新程序中。當執行 sears.py 里的代碼時,將會收到一條導致程序奔潰的錯誤信息。錯誤信息如下所示:

      Traceback (most recent call last):
        File "sears.py", line 10, in <module>
          day = days + 1
      NameError: name 'days' is not defined
      

      讀取錯誤信息是 Python 代碼的重要組成部分。如果程序奔潰,則回溯消息的最后一行是程序為什么奔潰的實際原因。在此(NameError: name 'days' is not defined)之上,你應該可以看到源代碼片段( day = days + 1)、可識別的文件名( sears.py)和錯誤代碼的行號( line 10)。

      • 哪行是錯誤的?
      • 錯誤是什么?
      • 解決錯誤。
      • 成功運行程序。Run the program successfully

      目錄 | 上一節 (1.1 Python) | 下一節 (1.3 數字)

      注:完整翻譯見 https://github.com/codists/practical-python-zh

      posted @ 2021-02-13 08:20  codists  閱讀(207)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产免费午夜福利在线播放| 日本黄漫动漫在线观看视频| 欧美精品黑人粗大破除| 国产精品中文av专线| 亚洲乱色伦图片区小说| 国产精品免费久久久免费| 亚洲第一尤物视频在线观看导航| 成人国产乱对白在线观看 | 国产成人精品中文字幕| 汪清县| 中文国产不卡一区二区| 国产av普通话对白国语| 在线综合亚洲欧洲综合网站| 99精品热在线在线观看视| 定远县| 国产麻豆精品手机在线观看| 日韩精品一区二区三区激情| 精品人妻伦九区久久69| 亚洲av片在线免费观看| 肥大bbwbbw高潮抽搐| 国产午夜精品一区二区三区不卡| 亚洲一区二区三区在线| 亚洲av无码精品色午夜| 国产成人女人在线观看| 日韩乱码人妻无码中文字幕视频 | 化德县| 亚洲精品一区二区三区大桥未久| 国产福利微视频一区二区| 国产线播放免费人成视频播放 | 四房播色综合久久婷婷 | 国产欧美亚洲精品第1页| 高潮videossex潮喷| 国产一区二区三区不卡视频 | 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲精品色哟哟一区二区 | 一区二区中文字幕av| 徐闻县| 亚洲精品福利一区二区三区蜜桃| 国产精品露脸视频观看| 亚洲高清国产拍精品熟女| 四虎影视永久无码精品|