1. 註釋註釋 是任何存在於 # 號右側的文字,其主要用作寫給程式讀者看的筆記。 2. 字面常量一個字面常量(Literal Constants)的例子是諸如 5、1.23 這樣的數字,或者是如 這是一串文本 或 This is a string 這樣的文本。 &每天都有程式員定時講解Python技 ...
1. 註釋
註釋 是任何存在於 # 號右側的文字,其主要用作寫給程式讀者看的筆記。
2. 字面常量
一個字面常量(Literal Constants)的例子是諸如 5、1.23 這樣的數字,或者是如 這是一串文本 或 This is a string 這樣的文本。
&每天都有程式員定時講解Python技術,分享一些學習的方法和需要留意的小細節,要資料加 624440745
2.1 數字
數字主要分為兩種類型——整數(Integers)與浮點數(Floats)。
有關整數的例子即 2,它只是一個整數。
有關浮點數(Floating Point Numbers,在英文中也會簡寫為 floats )的例子是 3.23 或 52.3E-4。其中,E 表示 10 的冪。在這裡,52.3E-4 表示 52.3 * 10^-4。
2.2 字元串
一串字元串(String)是 字元(Characters) 的 序列(Sequence)。
2.2.1 單引號
你可以使用單引號來指定字元串,例如 '將我這樣框進來' 或 'Quote me on this'。
所有引號內的空間,諸如空格與製表符,都將按原樣保留。
2.2.2 雙引號
被雙引號包括的字元串和被單引號括起的字元串其工作機制完全相同。例如 "你的名字是?" 或 "What's your name?" 。
2.2.3 三引號
你可以通過使用三個引號----""" 或 ''' 來指定多行字元串。你可以在三引號之間自由地使用單引號與雙引號。
'''這是一段多行字元串。這是它的第一行。
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''
2.2.4 格式化方法
有時候我們會想要從其他信息中構建字元串。這正是 format() 方法大有用武之地的地方。
age = 20
name = 'Swaroop'
print('{0} was {1} years old when he wrote this book'.format(name, age))
print('Why is {0} playing with that python?'.format(name))
輸出:
Swaroop was 20 years old when he wrote this book
Why is Swaroop playing with that python?
我們可以通過聯立字元串來達到相同的效果:
name + 'is' +str(age) + 'years old'
1
同時還應註意數字只是一個可選選項,所以你同樣可以寫成:
age = 20
name = 'Swaroop'
print('{} was {} years old when he wrote this book'.format(name, age))
print('Why is {} playing with that python?'.format(name))
這樣做同樣能得到與前面的程式一樣的輸出結果。
Python 中 format 方法所做的事情便是將每個參數值替換至格式所在的位置。這之中可以有更詳細的格式,例如:
# 對於浮點數 '0.333' 保留小數點(.)後三位
print('{0:.3f}'.format(1.0/3))
# 使用下劃線填充文本,並保持文字處於中間位置
# 使用 (^) 定義 '___hello___'字元串長度為 11
print('{0:_^11}'.format('hello'))
# 基於關鍵詞輸出 'Swaroop wrote A Byte of Python'
print('{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python'))
輸出:
0.333
___hello___
Swaroop wrote A Byte of Python
由於我們正在討論格式問題,就要註意 print 總是會以一個不可見的“新一行”字元(\n)結尾,因此重覆調用 print 將會在相互獨立的一行中分別列印。為防止列印過程中出現這一換行符,你可以通過 end 指定其應以空白結尾:
print('a', end='')
print('b', end='')
輸出結果如下:
ab
1
或者你通過 end 指定以空格結尾:
print('a', end=' ')
print('b', end=' ')
print('c')
輸出結果如下:
a b c
2.2.5 轉義序列
想象一下,如果你希望生成一串包含單引號(')的字元串,你應該如何指定這串字元串?例如,你想要的字元串是 "What's your name?"。你不能指定 'What's your name?',因為這會使 Python 對於何處是字元串的開始、何處又是結束而感到困惑。所以,你必須指定這個單引號不代表這串字元串的結尾。這可以通過 轉義序列(Escape Sequence) 來實現。你通過 \ 來指定單引號:要註意它可是反斜杠。現在,你可以將字元串指定為 'What\'s your name?'。
另一種指定這一特別的字元串的方式是這樣的: "What's your name?" ,如這個例子般使用雙引號。類似地, 你必須在使用雙引號括起的字元串中對字元串內的雙引號使用轉義序列。同樣,你必須使用轉義序列 \\ 來指定反斜杠本身。
如果你想指定一串雙行字元串該怎麼辦?一種方式即使用如前所述的三引號字元串,或者你可以使用一個表示新一行的轉義序列---- \n 來表示新一行的開始。下麵是一個例子:
'This is the first line\nThis is the second line'
1
還有一件需要的事情,在一個字元串中,一個放置在末尾的反斜杠表示字元串將在下一行繼續,但不會添加新的一行。來看看例子:
"This is the first sentence. \
This is the second sentence."
相當於
"This is the first sentence. This is the second sentence."
1
2.2.6 原始字元串
如果你需要指定一些未經過特殊處理的字元串,比如轉義序列,那麼你需要在字元串前增加 r 或 R 來指定一個 原始(Raw) 字元串4。下麵是一個例子:
r"Newlines are indicated by \n"
1
3. 變數
變數(Variables)的值是可以變化的,也就是說,你可以用變數來存儲任何東西。變數只是電腦記憶體中用以存儲信息的一部分。與文字常量不同,你需要通過一些方式來訪問這些變數,因此,你需要為它們命名。
4. 標識符命名
變數是標識符的一個例子。標識符(Identifiers) 是為某些東西提供的給定名稱。在你命名標識符時,你需要遵守以下規則:
第一個字元必須是字母表中的字母(大寫 ASCII 字元或小寫 ASCII 字元或 Unicode 字元)或下劃線 _)。
標識符的其它部分可以由字元(大寫 ASCII 字元或小寫 ASCII 字元或 Unicode 字元)、下劃線(_)、數字(0~9)組成。
標識符名稱區分大小寫。例如,myname 和 myName 並不等同。要註意到前者是小寫字母 n 而後者是大寫字母 N。
5. 數據類型
變數可以將各種形式的值保存為不同的數據類型(Data Type)。基本的類型是我們已經討論過的數字與字元串。在後面的章節中,我們會瞭解如何通過 類(Classes) 創建我們自己的類型。
6. 對象
需要記住的是,Python 將程式中的任何內容統稱為 對象(Object)。
7. 邏輯行與物理行
所謂物理行(Physical Line)是你在編寫程式時 你所看到 的內容。所謂邏輯行(Logical Line)是 Python 所看到 的單個語句。Python 會假定每一 物理行 會對應一個 邏輯行。
有關邏輯行的一個例子是諸如 print('hello world') 這樣一句語句----如果其本身是一行(正如你在編輯器里所看到的那樣),那麼它也對應著一行物理行。
如果你有一行非常長的代碼,你可以通過使用反斜杠將其拆分成多個物理行。這被稱作顯式行連接(Explicit Line Joining):
s = 'This is a string. \
This continues the string.'
print(s)
輸出:
This is a string. This continues the string.
1
在某些情況下,會存在一個隱含的假設,允許你不使用反斜杠。這一情況即邏輯行以括弧開始,它可以是方括弧或花括弧,但不能是右括弧。這被稱作 隱式行連接(Implicit Line Joining)。
8. 縮進
空白區在 Python 中十分重要。實際上,空白區在各行的開頭非常重要。這被稱作 縮進(Indentation)。在邏輯行的開頭留下空白區(使用空格或製表符)用以確定各邏輯行的縮進級別,而後者又可用於確定語句的分組。
這意味著放置在一起的語句必須擁有相同的縮進。每一組這樣的語句被稱為 塊(block)。
有一件事你需要記住:錯誤的縮進可能會導致錯誤。下麵是一個例子:
i = 5
# 下麵將發生錯誤,註意行首有一個空格
print('Value is', i)
print('I repeat, the value is', i)
當你運行這一程式時,你將得到如下錯誤:
File "whitespace.py", line 3
print('Value is', i)
^
IndentationError: unexpected indent
# 縮進錯誤:意外縮進
使用四個空格來縮進。這是來自 Python 語言官方的建議。好的編輯器會自動為你完成這一工作。請確保你在縮進中使用數量一致的空格,否則你的程式將不會運行,或引發不期望的行為。
本文的文字及圖片來源於網路加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。
P