欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python入門第3/10頁

 更新時間:2007年02月08日 00:00:00   作者:  

第三章 基本使用
下面我們用例子來介紹Python的基本用法。在例子中,用戶輸入和系統(tǒng)輸出靠有沒有提示(>>>和...)來分別。如果要試這些例子的話,需要鍵入提示后的所有命令,例子中沒有提示的行是系統(tǒng)的輸出。注意只有次提示的行意味著需要鍵入一個空行,這用于結(jié)束多行命令。

 

3.1 用Python作計算器使用
啟動解釋程序,等待主提示>>>出現(xiàn)。解釋程序可以作為計算器使用。鍵入一個表達(dá)式,解釋程序就可以輸出結(jié)果。表達(dá)式的寫法很直觀:+,-,*,/, %, **等算符的作用和其它大多數(shù)語言(如Pascal或C)沒什么差別,括號可以用來組合。例如:

 

>>> 2+2
 
4
 
>>> # 這是一個注釋
... 2+2
4
>>> 2+2  # 和代碼在同一行的注釋
4
>>> (50-5*6)/4
5
>>> # 整數(shù)除法得下面的整數(shù)
... 7/3
2
>>> 7/-3
-3
>>>


和C中一樣,等于號用來給變量賦值,賦值的結(jié)果不顯示:

>>> width = 20
>>> height = 5*9
>>> width * height
900
>>>


可以同時給幾個變量賦同一個值:

>>> x = y = z = 0  # 把 x, y 和 z賦零
 
>>> x
0
>>> y
0
>>> z
0
>>>


Python完全支持浮點數(shù),混合類型的運算會把整數(shù)先轉(zhuǎn)換成浮點數(shù):

>>> 4 * 2.5 / 3.3
3.0303030303
>>> 7.0 / 2
3.5
>>>


Python也提供了復(fù)數(shù),方法是用j和J作為虛數(shù)單位,如1+1j,3.14e-10j,等等。 

3.2. 字符串
  Python除處理數(shù)字外還可以處理字符串,字符串用單撇號或雙撇號包裹: 
>>> 'spam eggs'
'spam eggs'
>>> 'doesn\'t'
"doesn't"
>>> "doesn't"
"doesn't"
>>> '"Yes," he said.'
'"Yes," he said.'
>>> "\"Yes,\" he said."
'"Yes," he said.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'
>>>


字符串輸出格式與輸入的樣子相同,都是用撇號包裹,撇號和其它特殊字符用用反斜杠轉(zhuǎn)義。如果字符串中有單撇號而沒有雙撇號則用雙撇號包裹,否則應(yīng)該用單撇號包裹。后面要介紹的print語句可以不帶撇號或轉(zhuǎn)義輸出字符串。

 字符串可以用+號連接起來,用*號重復(fù): 

>>> word = 'Help' + 'A'
>>> word
'HelpA'
>>> '<' + word*5 + '>'
'<HelpAHelpAHelpAHelpAHelpA>'
>>>


字符串可以象在C中那樣用下標(biāo)索引,字符串的第一個字符下標(biāo)為0。 

Python沒有單獨的字符數(shù)據(jù)類型,一個字符就是長度為一的字符串。象在Icon語言中那樣,可以用片段(slice)記號來指定子串,片段即用冒號隔開的兩個下標(biāo)。

>>> word[4]
'A'
>>> word[0:2]
'He'
>>> word[2:4]
'lp'
>>>


片段有很好的缺省值:第一下標(biāo)省略時缺省為零,第二下標(biāo)省略時缺省為字符串的長度。

>>> word[:2]    # 前兩個字符
'He'
>>> word[2:]    # 除前兩個字符串外的部分
'lpA'
>>>


注意s[:i] + s[i:] 等于 s 是片段運算的一個有用的恒等式。

>>> word[:2] + word[2:]
'HelpA'
>>> word[:3] + word[3:]
 
'HelpA'
>>>


不合理的片段下標(biāo)可以很好地得到解釋:過大的下標(biāo)被換成字符串長度,上界小于下界時返回空串。

>>> word[1:100]
'elpA'
>>> word[10:]
''
>>> word[2:1]
''
>>>


下標(biāo)允許為負(fù)數(shù),這時從右向左數(shù)。例如:

>>> word[-1]     # 最后一個字符
'A'
>>> word[-2]     # 倒數(shù)第二個字符
'p'
>>> word[-2:]    # 最后兩個字符
'pA'
>>> word[:-2]    # 除最后兩個字符外的部分
'Hel'
>>>


但要注意的是 -0 實際還是 0,所以它不會從右向左數(shù)!

>>> word[-0]     # (因為 -0 等于 0)
'H'
>>>


超出范圍的片段下標(biāo)被截斷,但在非片段的情況下不要這樣:

>>> word[-100:]
'HelpA'
>>> word[-10]    # 錯誤
Traceback (innermost last):
  File "<stdin>", line 1
IndexError: string index out of range
 
>>>


記住片段意義的最好方法是把下標(biāo)看成是字符 之間的點,第一個字符的左邊界號碼為0。有n個字符的字符串的最后一個字符的右邊界下標(biāo)為n,例如:

 
 +---+---+---+---+---+ 
 | H | e | l | p | A |
 +---+---+---+---+---+ 
 0   1   2   3   4   5 
-5  -4  -3  -2  -1
 


第一行數(shù)字給出字符串中下標(biāo)0到5的位置,第二行給出相應(yīng)的負(fù)下標(biāo)。從i到j(luò)的片段由在邊界i和j之間的字符組成。

 

對于非負(fù)下標(biāo),如果下標(biāo)都在界內(nèi),則片段的長度為下標(biāo)的差。例如,word[1:3] 的長度為 2。

 內(nèi)置函數(shù)len()返回字符串的長度: 

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


多行的長字符串也可以用行尾反斜杠續(xù)行,續(xù)行的行首空白不被忽略,如

        hello = "This is a rather long string containing\n\
        several lines of text just as you would do in C.\n\
            Note that whitespace at the beginning of the line is\
         significant.\n"
        print hello

結(jié)果為

 

        This is a rather long string containing
        several lines of text just as you would do in C.
            Note that whitespace at the beginning of the line is significant.


對于特別長的字符串(比如包含說明的幾段文字),如果用上面的方式每行都用\n\結(jié)尾是很麻煩的,特別是這樣無法用象Emacs這樣的功能強(qiáng)大的編輯器重新編排。對這種情況,可以使用三重撇號,例如

        hello = """
 
            This string is bounded by triple double quotes (3 times ").
        Unescaped newlines in the string are retained, though \
        it is still possible\nto use all normal escape sequences.
 
            Whitespace at the beginning of a line is
        significant.  If you need to include three opening quotes
        you have to escape at least one of them, e.g. \""".
 
            This string ends in a newline.
        """


三重撇號字符串也可以用三個單撇號,沒有任何語義差別。 

多行的字符串常量可以直接連接起來,字符串常量之間用空格分隔則在編譯時可以自動連接起來,這樣可以把一個長字符串連接起來而不需要犧牲縮進(jìn)對齊或性能,不象用加號連接需要運算,也不象字符串串內(nèi)的換行其行首空格需要保持。

3.3 列表
Python中有幾種復(fù)合數(shù)據(jù)類型,用來把其它值組合到一起。其中最靈活的是列表,可以寫成在方括號之間用逗號隔開的若干值(項)。列表的項不必取同一類型。

>>> a = ['spam', 'eggs', 100, 1234]
>>> a
['spam', 'eggs', 100, 1234]
>>>


象字符串下標(biāo)那樣,列表下標(biāo)從0開始,列表可以取片段,可以連接,等等:

>>> a[0]
'spam'
>>> a[3]
1234
>>> a[-2]
100
>>> a[1:-1]
['eggs', 100]
>>> a[:2] + ['bacon', 2*2]
['spam', 'eggs', 'bacon', 4]
>>> 3*a[:3] + ['Boe!']
['spam', 'eggs', 100, 'spam', 'eggs', 100, 'spam', 'eggs', 100, 'Boe!']
>>>


與字符串不同的是列表是可變的,可以修改列表的每個元素:

>>> a
['spam', 'eggs', 100, 1234]
>>> a[2] = a[2] + 23
>>> a
['spam', 'eggs', 123, 1234]
>>>


也可以給一個片段重新賦值,這甚至可以改變表的大?。?

>>> # 替換若干項:
... a[0:2] = [1, 12]
>>> a
[1, 12, 123, 1234]
>>> # 去掉若干項:
... a[0:2] = []
>>> a
[123, 1234]
>>> # 插入若干項:
... a[1:1] = ['bletch', 'xyzzy']
>>> a
[123, 'bletch', 'xyzzy', 1234]
>>> a[:0] = a     # 在開頭插入自身
>>> a
[123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234]
>>>


內(nèi)置函數(shù)也使用于列表:

>>> len(a)
8
>>>


可以建立嵌套列表(表的元素也是列表),如:

>>> q = [2, 3]
>>> p = [1, q, 4]
>>> len(p)
3
>>> p[1]
[2, 3]
>>> p[1][0]
2
>>> p[1].append('xtra')     # 列表方法
>>> p
[1, [2, 3, 'xtra'], 4]
>>> q
[2, 3, 'xtra']
>>>


注意這個例子中p[1]和q實際是同一個對象!也就是說它們只不過是同一個東西的兩個名字(引用)而已。

3.4 編程初步
Python當(dāng)然不是只能用來把兩個數(shù)加到一起,它可以完成很復(fù)雜的工作。例如,我們可以寫出Fibonacci序列的開始幾個:

>>> # Fibonacci 序列:
... # 兩個元素的和定義下一個
... a, b = 0, 1
>>> while b < 10:
...       print b
...       a, b = b, a+b
... 
1
1
2
3
5
8
>>>


這個例子介紹了幾個新特色。 

第一行包含一個多重賦值: 變量a和b同時得到新值0和1。在最后一行又用了多重賦值,我們可以看出賦值時先把右邊都算出后再進(jìn)行賦值。

while循環(huán)當(dāng)循環(huán)條件(這里即: b < 10)成立時不斷執(zhí)行。在Python中和C中一樣,非零整數(shù)值為真值,零為假值。條件也可以是字符串或列表或任何序列,長度為非零的為真,空序列為假。例子中所用的是一個簡單比較。標(biāo)準(zhǔn)的比較算符和C一樣:

<, >, ==, <=, >= 和 !=。


循環(huán)體是縮進(jìn)的:縮進(jìn)是Python用來組合語句的方式。Python目前還不能提供智能自動縮進(jìn),所以你需要自己為每個縮進(jìn)行鍵入制表符或空格。實際使用中你可以用文本編輯程序為Python 準(zhǔn)備復(fù)雜的輸入,多數(shù)文本編輯程序都有自動縮進(jìn)的功能。在交互輸入復(fù)合語句時必修附加一個空行以指示復(fù)合語句的完成(因為解釋程序無法猜到哪是語句的最后一行)。print語句顯示后面的表達(dá)式值。這和直接寫出表達(dá)式不同,它可以顯示多個表達(dá)式和字符串,而且可以用于程序文件中。顯示時字符串沒有撇號,各項目之間插入一個空格,所以你可以以精美的格式顯示,如:

>>> 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,
...     a, b = b, a+b
... 
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>>


注意如果前一行沒有結(jié)束的話系統(tǒng)在顯示提示之前先換行。 

Python還提供了和C語言一樣的printf格式的輸出方式,這是用%實現(xiàn)的,左邊是格式,如: 

  
        >>> print 'The value of 1/7 is approximately %5.3f.' % 0.142857
        The value of 1/7 is approximately 0.143.
        >>>


如果有多個需要輸出的項百分號右邊的項可以是一個序組,如

        >>> print "Name: %-10s  Age: %3d" % ("White", 31)
        Name: White      Age:  31

相關(guān)文章

  • Python 中下劃線的幾種用法(_、_xx、xx_、__xx、__xx__)

    Python 中下劃線的幾種用法(_、_xx、xx_、__xx、__xx__)

    本文主要介紹了Python 中下劃線的幾種用法(_、_xx、xx_、__xx、__xx__),詳細(xì)的介紹了這幾種下劃線的用處,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 解決Python3中二叉樹前序遍歷的迭代問題

    解決Python3中二叉樹前序遍歷的迭代問題

    二叉樹是分層數(shù)據(jù)結(jié)構(gòu),其中每個父節(jié)點最多有 2 個子節(jié)點,在今天的文章中,我們將討論一個在大量技術(shù)編碼面試中出現(xiàn)的重要主題,對Python二叉樹遍歷相關(guān)知識感興趣的朋友一起看看吧
    2022-09-09
  • Python 提取dict轉(zhuǎn)換為xml/json/table并輸出的實現(xiàn)代碼

    Python 提取dict轉(zhuǎn)換為xml/json/table并輸出的實現(xiàn)代碼

    這篇文章主要介紹了Python 提取dict轉(zhuǎn)換為xml/json/table并輸出的實現(xiàn)代碼,需要的朋友可以參考下
    2016-08-08
  • python使用pypdf2實現(xiàn)pdf文檔解密

    python使用pypdf2實現(xiàn)pdf文檔解密

    利用pypdf2完成pdf的解密,這里的事例是python3環(huán)境下的,當(dāng)然python2下也可以運行,只需要修改名稱即可,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python selenium+cookie實現(xiàn)免密登陸的示例代碼

    Python selenium+cookie實現(xiàn)免密登陸的示例代碼

    本文主要介紹了Python selenium+cookie實現(xiàn)免密登陸的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python異常處理和日志處理方式

    python異常處理和日志處理方式

    今天小編就為大家分享一篇python異常處理和日志處理方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python及Pycharm安裝方法圖文教程

    Python及Pycharm安裝方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了Python及Pycharm安裝方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Tensorflow實現(xiàn)多GPU并行方式

    Tensorflow實現(xiàn)多GPU并行方式

    今天小編就為大家分享一篇Tensorflow實現(xiàn)多GPU并行方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 用python3教你任意Html主內(nèi)容提取功能

    用python3教你任意Html主內(nèi)容提取功能

    這篇文章主要介紹了用python3教你任意Html主內(nèi)容提取功能,主要使用到了requests、lxml、json等模塊,文中逐一對這幾個模塊做了介紹,需要的朋友可以參考下
    2018-11-11
  • 常用的Python代碼調(diào)試工具總結(jié)

    常用的Python代碼調(diào)試工具總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著Python代碼調(diào)試工具展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評論