日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习:Python简介

發布時間:2025/3/15 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习:Python简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來自:入門指南
開胃菜參考:開胃菜
使用Python解釋器:使用Python解釋器

目錄:

  • 目錄:
  • 3.Python 簡介
  • 3.1. 將 Python 當做計算器
    • 3.1.1. 數字
    • 3.1.2. 字符串
    • 3.1.3. 列表
  • 3.2. 編程的第一步
  • Footnotes

3.Python 簡介

下面的例子中,輸入和輸出分別由大于號和句號提示符( >>> 和 … )標注:如果想重現這些例子,就要在解釋器的提示符后,輸入(提示符后面的)那些不包含提示符的代碼行。需要注意的是在練習中遇到的從屬提示符表示你需要在最后多輸入一個空行,解釋器才能知道這是一個多行命令的結束。

本手冊中的很多示例——包括那些帶有交互提示符的——都含有注釋。Python 中的注釋以 # 字符起始,直至實際的行尾(譯注——這里原作者用了 physical line 以表示實際的換行而非編輯器的自動換行)。注釋可以從行首開始,也可以在空白或代碼之后,但是不出現在字符串中。文本字符串中的 # 字符僅僅表示 # 。代碼中的注釋不會被 Python 解釋,錄入示例的時候可以忽略它們。

如下示例:

# this is the first comment spam = 1 # and this is the second comment# ... and now a third! text = "# This is not a comment because it's inside quotes."

3.1. 將 Python 當做計算器

我們來嘗試一些簡單的 Python 命令。啟動解釋器然后等待主提示符 >>> 出現(不需要很久)。

3.1.1. 數字

解釋器表現得就像一個簡單的計算器:可以向其錄入一些表達式,它會給出返回值。表達式語法很直白:運算符 +,-,* 和 / 與其它語言一樣(例如:Pascal 或 C);括號 (()) 用于分組。例如:

>>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.6

整數(例如,2, 4, 20 )的類型是 int,帶有小數部分的數字(例如,5.0, 1.6)的類型是 float。在本教程的后面我們會看到更多關于數字類型的內容。

除法(/)永遠返回一個浮點數。如要使用 floor 除法 并且得到整數結果(丟掉任何小數部分),你可以使用 // 運算符;要計算余數你可以使用 %

>>> 17 / 3 # classic division returns a float 5.666666666666667 >>> >>> 17 // 3 # floor division discards the fractional part 5 >>> 17 % 3 # the % operator returns the remainder of the division 2 >>> 5 * 3 + 2 # result * divisor + remainder 17

通過 Python,還可以使用 ** 運算符計算冪乘方 1 :

>>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 128 >>> width = 20 >>> height = 5*9 >>> width * height 900

變量在使用前必須 “定義”(賦值),否則會出錯:

>>> # try to access an undefined variable ... n Traceback (most recent call last):File "<stdin>", line 1, in <module> NameError: name 'n' is not defined

浮點數有完整的支持;整數和浮點數的混合計算中,整數會被轉換為浮點數:

>>> 3 * 3.75 / 1.5 7.5 >>> 7.0 / 2 3.5

交互模式中,最近一個表達式的值賦給變量 _。這樣我們就可以把它當作一個桌面計算器,很方便的用于連續計算,例如:

>>> tax = 12.5 / 100 >>> price = 100.50 >>> price * tax 12.5625 >>> price + _ 113.0625 >>> round(_, 2) 113.06

此變量對于用戶是只讀的。不要嘗試給它賦值 —— 你只會創建一個獨立的同名局部變量,它屏蔽了系統內置變量的魔術效果。

除了 int 和 float,Python 還支持其它數字類型,例如 Decimal 和 Fraction。Python 還內建支持 復數 ,使用后綴 j 或 J 表示虛數部分(例如,3+5j)。

3.1.2. 字符串

相比數值,Python 也提供了可以通過幾種不同方式表示的字符串。它們可以用單引號 (‘…’) 或雙引號 (“…”) 標識 [2]。\ 可以用來轉義引號:

>>> 'spam eggs' # single quotes 'spam eggs' >>> 'doesn\'t' # use \' to escape the single quote... "doesn't" >>> "doesn't" # ...or use double quotes instead "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> "\"Yes,\" he said." '"Yes," he said.' >>> '"Isn\'t," she said.' '"Isn\'t," she said.'

在交互式解釋器中,輸出的字符串會用引號引起來,特殊字符會用反斜杠轉義。雖然可能和輸入看上去不太一樣,但是兩個字符串是相等的。如果字符串中只有單引號而沒有雙引號,就用雙引號引用,否則用單引號引用。print() 函數生成可讀性更好的輸出, 它會省去引號并且打印出轉義后的特殊字符:

>>> '"Isn\'t," she said.' '"Isn\'t," she said.' >>> print('"Isn\'t," she said.') "Isn't," she said. >>> s = 'First line.\nSecond line.' # \n means newline >>> s # without print(), \n is included in the output 'First line.\nSecond line.' >>> print(s) # with print(), \n produces a new line First line. Second line.

如果你前面帶有 \ 的字符被當作特殊字符,你可以使用 原始字符串,方法是在第一個引號前面加上一個 r:

>>> print('C:\some\name') # here \n means newline! C:\some ame >>> print(r'C:\some\name') # note the r before the quote C:\some\name

字符串文本能夠分成多行。一種方法是使用三引號:”“”…”“” 或者 ”’…”’。行尾換行符會被自動包含到字符串中,但是可以在行尾加上 \ 來避免這個行為。下面的示例: 可以使用反斜杠為行結尾的連續字符串,它表示下一行在邏輯上是本行的后續內容:

print("""\ Usage: thingy [OPTIONS]-h Display this usage message-H hostname Hostname to connect to """)

將生成以下輸出(注意,沒有開始的第一行):

Usage: thingy [OPTIONS]-h Display this usage message -H hostname Hostname to connect to

字符串可以由 + 操作符連接(粘到一起),可以由 * 表示重復:

>>> # 3 times 'un', followed by 'ium' >>> 3 * 'un' + 'ium' 'unununium'

相鄰的兩個字符串文本自動連接在一起。:

>>> 'Py' 'thon' 'Python'

它只用于兩個字符串文本,不能用于字符串表達式:

>>> prefix = 'Py' >>> prefix 'thon' # can't concatenate a variable and a string literal... SyntaxError: invalid syntax >>> ('un' * 3) 'ium'... SyntaxError: invalid syntax

如果你想連接多個變量或者連接一個變量和一個字符串文本,使用 +:

>>> prefix + 'thon' 'Python'

這個功能在你想切分很長的字符串的時候特別有用:

>>> text = ('Put several strings within parentheses ''to have them joined together.') >>> text 'Put several strings within parentheses to have them joined together.'

字符串也可以被截取(檢索)。類似于 C ,字符串的第一個字符索引為 0 。Python沒有單獨的字符類型;一個字符就是一個簡單的長度為1的字符串。:

>>> word = 'Python' >>> word[0] # character in position 0 'P' >>> word[5] # character in position 5 'n'

索引也可以是負數,這將導致從右邊開始計算。例如:

>>> word[-1] # last character 'n' >>> word[-2] # second-last character 'o' >>> word[-6] 'P'

請注意 -0 實際上就是 0,所以它不會導致從右邊開始計算。

除了索引,還支持 切片。索引用于獲得單個字符,切片 讓你獲得一個子字符串:

>>> word[0:2] # characters from position 0 (included) to 2 (excluded) 'Py' >>> word[2:5] # characters from position 2 (included) to 5 (excluded) 'tho'

注意,包含起始的字符,不包含末尾的字符。這使得 s[:i] + s[i:] 永遠等于 s:

>>> word[:2] + word[2:] 'Python' >>> word[:4] + word[4:] 'Python'

切片的索引有非常有用的默認值;省略的第一個索引默認為零,省略的第二個索引默認為切片的字符串的大小。:

>>> word[:2] # character from the beginning to position 2 (excluded) 'Py' >>> word[4:] # characters from position 4 (included) to the end 'on' >>> word[-2:] # characters from the second-last (included) to the end 'on'

有個辦法可以很容易地記住切片的工作方式:切片時的索引是在兩個字符 之間 。左邊第一個字符的索引為 0,而長度為 n 的字符串其最后一個字符的右界索引為 n。例如:

+---+---+---+---+---+---+| P | y | t | h | o | n |+---+---+---+---+---+---+0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1

文本中的第一行數字給出字符串中的索引點 0…6。第二行給出相應的負索引。切片是從 i 到 j 兩個數值標示的邊界之間的所有字符。

對于非負索引,如果上下都在邊界內,切片長度就是兩個索引之差。例如,word[1:3] 是 2 。

試圖使用太大的索引會導致錯誤:

>>> word[42] # the word only has 6 characters Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: string index out of range

Python 能夠優雅地處理那些沒有意義的切片索引:一個過大的索引值(即下標值大于字符串實際長度)將被字符串實際長度所代替,當上邊界比下邊界大時(即切片左值大于右值)就返回空字符串:

>>> word[4:42] 'on' >>> word[42:] ''

Python字符串不可以被更改 — 它們是 不可變的 。因此,賦值給字符串索引的位置會導致錯誤:

>>> word[0] = 'J'... TypeError: 'str' object does not support item assignment >>> word[2:] = 'py'... TypeError: 'str' object does not support item assignment

如果你需要一個不同的字符串,你應該創建一個新的:

>>> 'J' + word[1:] 'Jython' >>> word[:2] + 'py' 'Pypy'

內置函數 len() 返回字符串長度:

>>> s = 'supercalifragilisticexpialidocious' >>> len(s) 34

See also

Text Sequence Type — str字符串是 序列類型 的例子,它們支持這種類型共同的操作。 String Methods字符串和Unicode字符串都支持大量的方法用于基本的轉換和查找。 String Formatting這里描述了使用 str.format() 進行字符串格式化的信息。 String Formatting Operations這里描述了舊式的字符串格式化操作,它們在字符串和Unicode字符串是 % 操作符的左操作數時調用。

3.1.3. 列表

Python 有幾個 復合 數據類型,用于表示其它的值。最通用的是 list (列表) ,它可以寫作中括號之間的一列逗號分隔的值。列表的元素不必是同一類型:

>>> squares = [1, 4, 9, 16, 25] >>> squares [1, 4, 9, 16, 25]

就像字符串(以及其它所有內建的 序列 類型)一樣,列表可以被索引和切片:

>>> squares[0] # indexing returns the item 1 >>> squares[-1] 25 >>> squares[-3:] # slicing returns a new list [9, 16, 25]

所有的切片操作都會返回一個包含請求的元素的新列表。這意味著下面的切片操作返回列表一個新的(淺)拷貝副本:

>>> squares[:] [1, 4, 9, 16, 25]

列表也支持連接這樣的操作:

>>> squares + [36, 49, 64, 81, 100] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

不像 不可變的 字符串,列表是 可變的,它允許修改元素:

>>> cubes = [1, 8, 27, 65, 125] # something's wrong here >>> 4 ** 3 # the cube of 4 is 64, not 65! 64 >>> cubes[3] = 64 # replace the wrong value >>> cubes [1, 8, 27, 64, 125]

你還可以使用 append() 方法 (后面我們會看到更多關于列表的方法的內容)在列表的末尾添加新的元素:

>>> cubes.append(216) # add the cube of 6 >>> cubes.append(7 ** 3) # and the cube of 7 >>> cubes [1, 8, 27, 64, 125, 216, 343]

也可以對切片賦值,此操作可以改變列表的尺寸,或清空它:

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> letters ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> # replace some values >>> letters[2:5] = ['C', 'D', 'E'] >>> letters ['a', 'b', 'C', 'D', 'E', 'f', 'g'] >>> # now remove them >>> letters[2:5] = [] >>> letters ['a', 'b', 'f', 'g'] >>> # clear the list by replacing all the elements with an empty list >>> letters[:] = [] >>> letters []

內置函數 len() 同樣適用于列表:

>>> letters = ['a', 'b', 'c', 'd'] >>> len(letters) 4

允許嵌套列表(創建一個包含其它列表的列表),例如:

>>> a = ['a', 'b', 'c'] >>> n = [1, 2, 3] >>> x = [a, n] >>> x [['a', 'b', 'c'], [1, 2, 3]] >>> x[0] ['a', 'b', 'c'] >>> x[0][1] 'b'

3.2. 編程的第一步

當然,我們可以使用 Python 完成比二加二更復雜的任務。例如,我們可以寫一個生成 菲波那契 子序列的程序,如下所示:

>>> # Fibonacci series: ... # the sum of two elements defines the next ... a, b = 0, 1 >>> while b < 10: ... print(b) ... a, b = b, a+b ...

這個例子介紹了幾個新功能。

第一行包括了一個 多重賦值:變量 a 和 b 同時獲得了新的值 01 最后一行又使用了一次。在這個演示中,變量賦值前,右邊首先完成計算。右邊的表達式從左到右計算。條件(這里是 b < 10 )為 true 時, while 循環執行。在 Python 中,類似于 C,任何非零整數都是 true0false。條件也可以是字符串或列表,實際上可以是任何序列;所有長度不為零的是 true,空序列是 false。示例中的測試是一個簡單的比較。標準比較操作符與 C 相同: < , > , == , <=, >= 和 !=。循環 體 是 縮進 的:縮進是 Python 組織語句的方法。Python (還)不提供集成的行編輯功能,所以你要為每一個縮進行輸入 TAB 或空格。實踐中建議你找個文本編輯來錄入復雜的 Python 程序,大多數文本編輯器提供自動縮進。交互式錄入復合語句時,必須在最后輸入一個空行來標識結束(因為解釋器沒辦法猜測你輸入的哪一行是最后一行),需要 注意的是同一個語句塊中的每一行必須縮進同樣數量的空白。 關鍵字 print() 語句輸出給定表達式的值。它控制多個表達式和字符串輸出為你想要字符串(就像我們在前面計算器的例子中那樣)。字符串打印時不用引號包圍,每兩個子項之間插入空間,所以你可以把格式弄得很漂亮,像這樣: >>> i = 256*256>>> print('The value of i is', i)The value of i is 65536 用一個逗號結尾就可以禁止輸出換行: >>> a, b = 0, 1>>> while b < 1000:... print(b, end=',')... a, b = b, a+b...1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

Footnotes

[1] 因為 ** 的優先級高于 -,所以 -3**2 將解釋為 -(3**2) 且結果為 -9。為了避免這點并得到 9,你可以使用 (-3)**2。
[2] 與其它語言不同,特殊字符例如 \n 在單引號(‘…’)和雙引號(“…”)中具有相同的含義。兩者唯一的區別是在單引號中,你不需要轉義 ” (但你必須轉義 \’ ),反之亦然。


  • special test
    等號( ‘=’ )用于給變量賦值。賦值之后,在下一個提示符之前不會有任何結果顯示: ?
  • 總結

    以上是生活随笔為你收集整理的Python学习:Python简介的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。