[Python]入門教程(二):Python中的一些基本概念

來源:互聯網
上載者:User

最近忙著做Unity3D,Python的學習筆記落下不少,現在慢慢補上。

說到基本概念,熟悉編程的同學應該都不陌生,但是作為筆記的一部分,還是慢慢介紹一下吧。

字串

先來說說:字串String
字串,字面解釋就是一串字元。

嚴格意義上來講,字串是 字元的序列 。
大致分為以下三種情況:
1.使用單引號(')
你可以用單引號指示字串,就如同'Quote me on this'這樣。所有的空白,即空格和定位字元都照原樣保留。

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

3.使用三引號('''或""")
利用三引號,你可以指示一個多行的字串。你可以在三引號中自由的使用單引號和雙引號。例如:

'''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."
'''

轉義符

再談談轉義符的概念吧。
假設你想要在一個字串中包含一個單引號('),那麼你該怎麼指示這個字串?

例如,這個字串是:What's your name?你肯定不會用'What's your name?'來指示它,因為Python會弄不明白這個字串從何處開始,何處結束。所以,你需要指明單引號而不是字串的結尾。可以通過 轉義符 來完成這個任務。你用\'來指示單引號——注意這個反斜線。現在你可以把字串表示為'What\'s your name?'。

另一個表示這個特別的字串的方法是"What's your name?",即用雙引號。類似地,要在雙引號字串中使用雙引號本身的時候,也可以藉助於轉義符。另外,你可以用轉義符\\來指示反斜線本身。

值得注意的一件事是,在一個字串中,行末的單獨一個反斜線表示字串在下一行繼續,而不是開始一個新的行。例如:

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

等價於"This is the first sentence. This is the second sentence."


自然字串

那麼不用轉義符是否可以?當然,下面來看一下:自然字串
如果你想要指示某些不需要如轉義符那樣的特別處理的字串,那麼你需要指定一個自然字串。自然字串通過給字串加上首碼r或R來指定。例如r"Newlines are indicated by \n"。

Unicode字串
Unicode是書寫國際文本的標準方法。如果你想要用你的母語如北印度語或阿拉伯語寫文本,那麼你需要有一個支援Unicode的編輯器,比如EditPlus就是我的菜。

類似地,Python允許你處理Unicode文本——你只需要在字串前加上首碼u或U。

例如,u"This is a Unicode string."
在你處理文字檔的時候使用Unicode字串,特別是當你知道這個檔案含有用非英語的語言寫的文本。

在Python中注意以下幾點特別的地方:

1.字串是不可變的

這意味著一旦你創造了一個字串,你就不能再改變它了。雖然這看起來像是一件壞事,但實際上它不是。

2.按字面意義級連字號串
如果你把兩個字串按字面意義相鄰放著,他們會被Python自動級連。例如,'What\'s' 'your name?'會被自動轉為"What's your name?"。

3.給JAVA/C++程式員的注釋
在Python中沒有專門的char資料類型。

4.給Perl/PHP程式員的注釋
記住,單引號和雙引號字串是完全相同的——它們沒有在任何方面有不同。

5.給Regex使用者的注釋
一定要用自然字串處理Regex。否則會需要使用很多的反斜線。例如,後向引用符可以寫成'\\1'或r'\1'。

下面再來看下標識符命名的問題。

標識符 是用來標識 某樣東西 的名字。在命名標識符的時候,你要遵循這些規則:
標識符的第一個字元必須是字母表中的字母(大寫或小寫)或者一個底線(‘ _ ’)。
標識符名稱的其他部分可以由字母(大寫或小寫)、底線(‘ _ ’)或數字(0-9)組成。
標識符名稱是對大小寫敏感的。例如,myname和myName不是一個標識符。注意前者中的小寫n和後者中的大寫N。
有效 標識符名稱的例子有i、__my_name、name_23和a1b2_c3。
無效 標識符名稱的例子有2things、this is spaced out和my-name。

對象

Python把在程式中用到的任何東西都稱為 對象 。

給物件導向編程使用者的注釋
就每一個東西包括數、字串甚至函數都是對象這一點來說,Python是極其完全地物件導向的。

為了進一步解釋對象的概念,先來看下如何編寫Python程式
下面是儲存和運行Python程式的標準流程。
   1. 開啟你最喜歡的編輯器。
   2. 輸入例子中的程式碼。
   3. 用注釋中給出的檔案名稱把它儲存為一個檔案。我按照慣例把所有的Python程式都以副檔名.py儲存。
   4. 運行解譯器命令python program.py或者使用IDLE運行程式。你也可以使用先前介紹的可執行檔方法。


我們將看一下如何使用變數和字面意義上的常量。儲存下面這個例子,然後運行程式。
例4.1 使用變數和字面意義上的常量(源檔案:02.var_test.py)

# Filename : var.pyi = 5print(i)i = i + 1print(i)s = '''This is a multi-line string.This is the second line.'''print(s) 

輸出
5
6
This is a multi-line string.
This is the second line.

和C++或java不同,使用變數時只需要給它們賦一個值。不需要聲明或定義資料類型。這點有點像PHP和JS,但是也沒有var的概念。


再說一個和JAVA與C++大不相同的地方:縮排。

空白在Python中是重要的。事實上行首的空白是重要的。它稱為縮排。在邏輯行首的空白(空格和定位字元)用來決定邏輯行的縮排層次,從而用來決定語句的分組。

這意味著同一層次的語句必須有相同的縮排。每一組這樣的語句稱為一個塊。我們將在後面的章節中看到有關塊的用處的例子。

你需要記住的一樣東西是錯誤的縮排會引發錯誤。例如:

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

當你運行這個程式的時候,你會得到下面的錯誤:

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

注意,在第二行的行首有一個空格。Python指示的這個錯誤告訴我們程式的文法是無效的,即程式沒有正確地編寫。它告訴你, 你不能隨意地開始新的語句塊 (當然除了你一直在使用的主塊)。何時你能夠使用新塊,將會在後面的章節,如控制流程中詳細介紹。

如何縮排
不要混合使用定位字元和空格來縮排,因為這在跨越不同的平台的時候,無法正常工作。我 強烈建議 你在每個縮排層次使用 單個定位字元 或 兩個或四個空格 。
選擇這三種縮排風格之一。更加重要的是,選擇一種風格,然後一貫地使用它,即只使用這一種風格。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.