在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 基本概念
備份腳本——版本四
使用 <strong>init</strong> 方法
控制流
異常
表 15.1 一些特殊的方法
如何創(chuàng)建你自己的模塊
使用字典
前言
使用默認(rèn)參數(shù)值
表 5.1 運(yùn)算符與它們的用法
解決問題——編寫一個(gè) Python 腳本
使用 for 語句
使用 continue 語句
使用元組輸出
對(duì)象與參考
使用函數(shù)形參
使用默認(rèn)參數(shù)值
使用 if 語句
如何引發(fā)異常
使用源文件
使用對(duì)象的方法
使用表達(dá)式
定義函數(shù)
使用局部變量
使用列表綜合
使用 sys.argv
使用 lambda 形式
使用 global 語句
備份腳本——版本二
使用列表
使用 while 語句
備份腳本——版本一
使用元組
輸入/輸出
使用類與對(duì)象的變量
使用 sys 模塊
表 5.2 運(yùn)算符優(yōu)先級(jí)
處理異常
使用 break 語句
函數(shù)
基本概念
運(yùn)算符與表達(dá)式
介紹
使用文件
使用序列
接下來學(xué)習(xí)什么?
使用帶提示符的 Python 解釋器
使用 DocStrings
使用字面意義上的語句
最初的步驟
數(shù)據(jù)結(jié)構(gòu)
儲(chǔ)存與取儲(chǔ)存
使用 dir 函數(shù)
模塊
Python 標(biāo)準(zhǔn)庫
備份腳本——版本三(不工作?。?/span>
創(chuàng)建一個(gè)類
安裝 Python
面向?qū)ο蟮木幊?/span>
使用模塊的<strong>name</strong>
使用變量和字面意義上的常量
使用繼承

基本概念

僅僅打印“Hello World”就足夠了嗎?你應(yīng)該想要做更多的事——你想要得到一些輸入,然后做操作,再從中得到一些輸出。在 Python 中,我們可以使用常量和變量來完成這些工作。

字面意義上的常量

一個(gè)字面意義上的常量的例子是如同 5、1.23、9.25e-3 這樣的數(shù),或者如同'This is a string'、"It's a string!"這樣的字符串。它們被稱作字面意義上的,因?yàn)樗鼈兙邆?字面 的意義——你按照它們的字面意義使用它們的值。數(shù) 2 總是代表它自己,而不會(huì)是別的什么東西——它是一個(gè)常量,因?yàn)椴荒芨淖兯闹?。因此,所有這些都被稱為字面意義上的常量。

數(shù)

在 Python 中有 4 種類型的數(shù)——整數(shù)、長(zhǎng)整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。

  • 2 是一個(gè)整數(shù)的例子。
  • 長(zhǎng)整數(shù)不過是大一些的整數(shù)。
  • 3.23 和 52.3E-4 是浮點(diǎn)數(shù)的例子。E 標(biāo)記表示 10 的冪。在這里,52.3E-4 表示 52.3 * 10-4。
  • (-5+4j)和(2.3-4.6j)是復(fù)數(shù)的例子。

字符串

字符串是 字符的序列 。字符串基本上就是一組單詞。

我?guī)缀蹩梢员WC你在每個(gè) Python 程序中都要用到字符串,所以請(qǐng)?zhí)貏e留心下面這部分的內(nèi)容。下面告訴你如何在 Python 中使用字符串。

  • 使用單引號(hào)(')
    你可以用單引號(hào)指示字符串,就如同'Quote me on this'這樣。所有的空白,即空格和制表符都照原樣保留。

  • 使用雙引號(hào)(")
    在雙引號(hào)中的字符串與單引號(hào)中的字符串的使用完全相同,例如"What's your name?"。

  • 使用三引號(hào)('''或""")
    利用三引號(hào),你可以指示一個(gè)多行的字符串。你可以在三引號(hào)中自由的使用單引號(hào)和雙引號(hào)。例如:

    '''This is a multi-line string. This is the first line.
    This is the second line.
    "What's your name?," I asked.
    He said "Bond, James Bond."
    '''
  • 轉(zhuǎn)義符
    假設(shè)你想要在一個(gè)字符串中包含一個(gè)單引號(hào)('),那么你該怎么指示這個(gè)字符串?例如,這個(gè)字符串是 What's your name?。你肯定不會(huì)用'What's your name?'來指示它,因?yàn)?Python 會(huì)弄不明白這個(gè)字符串從何處開始,何處結(jié)束。所以,你需要指明單引號(hào)而不是字符串的結(jié)尾。可以通過 轉(zhuǎn)義符 來完成這個(gè)任務(wù)。你用\'來指示單引號(hào)——注意這個(gè)反斜杠?,F(xiàn)在你可以把字符串表示為'What\'s your name?'。

另一個(gè)表示這個(gè)特別的字符串的方法是"What's your name?",即用雙引號(hào)。類似地,要在雙引號(hào)字符串中使用雙引號(hào)本身的時(shí)候,也可以借助于轉(zhuǎn)義符。另外,你可以用轉(zhuǎn)義符\來指示反斜杠本身。

值得注意的一件事是,在一個(gè)字符串中,行末的單獨(dú)一個(gè)反斜杠表示字符串在下一行繼續(xù),而不是開始一個(gè)新的行。例如:


    "This is the first sentence.\
    This is the second sentence."

等價(jià)于"This is the first sentence. This is the second sentence."

  • 自然字符串
    如果你想要指示某些不需要如轉(zhuǎn)義符那樣的特別處理的字符串,那么你需要指定一個(gè)自然字符串。自然字符串通過給字符串加上前綴r或R來指定。例如r"Newlines are indicated by \n"。

  • Unicode 字符串
    Unicode 是書寫國(guó)際文本的標(biāo)準(zhǔn)方法。如果你想要用你的母語如北印度語或阿拉伯語寫文本,那么你需要有一個(gè)支持 Unicode 的編輯器。類似地,Python 允許你處理 Unicode 文本——你只需要在字符串前加上前綴 u 或 U。例如,u"This is a Unicode string."。

記住,在你處理文本文件的時(shí)候使用 Unicode 字符串,特別是當(dāng)你知道這個(gè)文件含有用非英語的語言寫的文本。

  • 字符串是不可變的
    這意味著一旦你創(chuàng)造了一個(gè)字符串,你就不能再改變它了。雖然這看起來像是一件壞事,但實(shí)際上它不是。我們將會(huì)在后面的程序中看到為什么我們說它不是一個(gè)缺點(diǎn)。

  • 按字面意義級(jí)連字符串
    如果你把兩個(gè)字符串按字面意義相鄰放著,他們會(huì)被 Python 自動(dòng)級(jí)連。例如,'What\'s' 'your name?'會(huì)被自動(dòng)轉(zhuǎn)為"What's your name?"。

給 C/C++程序員的注釋
在 Python 中沒有專門的 char 數(shù)據(jù)類型。確實(shí)沒有需要有這個(gè)類型,我相信你不會(huì)為此而煩惱。

給 Perl/PHP 程序員的注釋
記住,單引號(hào)和雙引號(hào)字符串是完全相同的——它們沒有在任何方面有不同。

給正則表達(dá)式用戶的注釋
一定要用自然字符串處理正則表達(dá)式。否則會(huì)需要使用很多的反斜杠。例如,后向引用符可以寫成'\1'或r'\1'。

變量

僅僅使用字面意義上的常量很快就會(huì)引發(fā)煩惱——我們需要一種既可以儲(chǔ)存信息 又可以對(duì)它們進(jìn)行操作的方法。這是為什么要引入 變量 。變量就是我們想要的東西——它們的值可以變化,即你可以使用變量存儲(chǔ)任何東西。變量只是你的計(jì)算機(jī)中存儲(chǔ)信息的一部分內(nèi)存。與字面意義上的常量不同,你需要一些能夠訪問這些變量的方法,因此你給變量名字。

標(biāo)識(shí)符的命名

變量是標(biāo)識(shí)符的例子。 標(biāo)識(shí)符 是用來標(biāo)識(shí) 某樣?xùn)|西 的名字。在命名標(biāo)識(shí)符的時(shí)候,你要遵循這些規(guī)則:

  • 標(biāo)識(shí)符的第一個(gè)字符必須是字母表中的字母(大寫或小寫)或者一個(gè)下劃線(‘ _ ’)。

  • 標(biāo)識(shí)符名稱的其他部分可以由字母(大寫或小寫)、下劃線(‘ _ ’)或數(shù)字(0-9)組成。

  • 標(biāo)識(shí)符名稱是對(duì)大小寫敏感的。例如,myname 和 myName 不是一個(gè)標(biāo)識(shí)符。注意前者中的小寫 n 和后者中的大寫 N。

  • 有效 標(biāo)識(shí)符名稱的例子有 i、__my_name、name_23 和 a1b2_c3。

  • 無效 標(biāo)識(shí)符名稱的例子有 2things、this is spaced out 和 my-name。

數(shù)據(jù)類型

變量可以處理不同類型的值,稱為數(shù)據(jù)類型?;镜念愋褪菙?shù)和字符串,我們已經(jīng)討論過它們了。在后面的章節(jié)里面,我們會(huì)研究怎么用創(chuàng)造我們自己的類型。

對(duì)象

記住,Python 把在程序中用到的任何東西都稱為 對(duì)象 。這是從廣義上說的。因此我們不會(huì)說“某某 東西 ”,我們說“某個(gè) 對(duì)象 ”。

給面向?qū)ο缶幊逃脩舻淖⑨?/strong>
就每一個(gè)東西包括數(shù)、字符串甚至函數(shù)都是對(duì)象這一點(diǎn)來說,Python 是極其完全地面向?qū)ο蟮摹?/p>

我們將看一下如何使用變量和字面意義上的常量。保存下面這個(gè)例子,然后運(yùn)行程序。

如何編寫 Python 程序
下面是保存和運(yùn)行 Python 程序的標(biāo)準(zhǔn)流程。

  1. 打開你最喜歡的編輯器。
  2. 輸入例子中的程序代碼。
  3. 用注釋中給出的文件名把它保存為一個(gè)文件。我按照慣例把所有的 Python 程序都以擴(kuò)展名.py 保存。
  4. 運(yùn)行解釋器命令 python program.py 或者使用 IDLE 運(yùn)行程序。你也可以使用先前介紹的可執(zhí)行的方法。

例 4.1 使用變量和字面意義上的常量


    # Filename : var.py
    i = 5
    print i
    i = i + 1
    print i

    s = '''This is a multi-line string.
    This is the second line.'''
    print s

(源文件:code/var.py

輸出


    $ python var.py
    5
    6
    This is a multi-line string.
    This is the second line.

它如何工作

下面來說明一下這個(gè)程序如何工作。首先我們使用賦值運(yùn)算符(=)把一個(gè)字面意義上的常數(shù) 5 賦給變量 i。這一行稱為一個(gè)語句。語句聲明需要做某件事情,在這個(gè)地方我們把變量名 i 與值 5 連接在一起。接下來,我們用print 語句打印 i 的值,就是把變量的值打印在屏幕上。

然后我們對(duì)i中存儲(chǔ)的值加 1,再把它存回 i。我們打印它時(shí),得到期望的值 6。

類似地,我們把一個(gè)字面意義上的字符串賦給變量 s 然后打印它。

給 C/C++程序員的注釋
使用變量時(shí)只需要給它們賦一個(gè)值。不需要聲明或定義數(shù)據(jù)類型。

邏輯行與物理行

物理行是你在編寫程序時(shí)所 看見 的。邏輯行是 Python 看見 的單個(gè)語句。Python 假定每個(gè) 物理行 對(duì)應(yīng)一個(gè) 邏輯行 。

邏輯行的例子如 print 'Hello World'這樣的語句——如果它本身就是一行(就像你在編輯器中看到的那樣),那么它也是一個(gè)物理行。

默認(rèn)地,Python 希望每行都只使用一個(gè)語句,這樣使得代碼更加易讀。

如果你想要在一個(gè)物理行中使用多于一個(gè)邏輯行,那么你需要使用分號(hào)(;)來特別地標(biāo)明這種用法。分號(hào)表示一個(gè)邏輯行/語句的結(jié)束。例如:


    i = 5
    print i

與下面這個(gè)相同:


    i = 5;
    print i;

同樣也可以寫成:


    i = 5; print i;

甚至可以寫成:


    i = 5; print i

然而,我強(qiáng)烈建議你堅(jiān)持在每個(gè)物理行只寫一句邏輯行。僅僅當(dāng)邏輯行太長(zhǎng)的時(shí)候,在多于一個(gè)物理行寫一個(gè)邏輯行。這些都是為了盡可能避免使用分號(hào),從而讓代碼更加易讀。事實(shí)上,我 從來沒有 在 Python 程序中使用過或看到過分號(hào)。

下面是一個(gè)在多個(gè)物理行中寫一個(gè)邏輯行的例子。它被稱為明確的行連接。


    s = 'This is a string. \
    This continues the string.'
    print s

它的輸出:


    This is a string. This continues the string.

類似地,


    print \
    i

與如下寫法效果相同:


    print i

有時(shí)候,有一種暗示的假設(shè),可以使你不需要使用反斜杠。這種情況出現(xiàn)在邏輯行中使用了圓括號(hào)、方括號(hào)或波形括號(hào)的時(shí)候。這被稱為暗示的行連接。你會(huì)在后面介紹如何使用列表的章節(jié)中看到這種用法。

縮進(jìn)

空白在 Python 中是重要的。事實(shí)上行首的空白是重要的。它稱為縮進(jìn)。在邏輯行首的空白(空格和制表符)用來決定邏輯行的縮進(jìn)層次,從而用來決定語句的分組。

這意味著同一層次的語句必須有相同的縮進(jìn)。每一組這樣的語句稱為一個(gè)。我們將在后面的章節(jié)中看到有關(guān)塊的用處的例子。

你需要記住的一樣?xùn)|西是錯(cuò)誤的縮進(jìn)會(huì)引發(fā)錯(cuò)誤。例如:


    i = 5
     print 'Value is', i # Error! Notice a single space at the start of the line
    print 'I repeat, the value is', i

當(dāng)你運(yùn)行這個(gè)程序的時(shí)候,你會(huì)得到下面的錯(cuò)誤:


    File "whitespace.py", line 4
    print 'Value is', i # Error! Notice a single space at the start of the line
    ^
    SyntaxError: invalid syntax

注意,在第二行的行首有一個(gè)空格。Python 指示的這個(gè)錯(cuò)誤告訴我們程序的語法是無效的,即程序沒有正確地編寫。它告訴你, 你不能隨意地開始新的語句塊 (當(dāng)然除了你一直在使用的主塊)。何時(shí)你能夠使用新塊,將會(huì)在后面的章節(jié),如控制流中詳細(xì)介紹。

如何縮進(jìn)
不要混合使用制表符和空格來縮進(jìn),因?yàn)檫@在跨越不同的平臺(tái)的時(shí)候,無法正常工作。我 強(qiáng)烈建議 你在每個(gè)縮進(jìn)層次使用 單個(gè)制表符兩個(gè)或四個(gè)空格 。 選擇這三種縮進(jìn)風(fēng)格之一。更加重要的是,選擇一種風(fēng)格,然后一貫地使用它,即 使用這一種風(fēng)格。

概括

現(xiàn)在我們已經(jīng)學(xué)習(xí)了很多詳細(xì)的內(nèi)容,我們可以開始學(xué)習(xí)更加令你感興趣的東西,比如控制流語句。在繼續(xù)學(xué)習(xí)之前,請(qǐng)確信你對(duì)本章的內(nèi)容清楚明了。

上一篇:使用源文件下一篇:前言