Python入門二基本常識
文字常量
一個常量的一個例子是一個數字等5
,1.23
或類似的字串'This is a string'
或"It's a string!"
。
它被稱為文字,因為它是文字的 - 你從字面上使用它的價值。數字2
總是代表自己而不是其他 - 它是一個常量,因為它的值不能改變。因此,所有這些都被稱為文字常量。
數字
數字主要有兩種型別 - 整數和浮點數。
整數的一個例子就是整數2
。
浮點數(或簡稱浮點數)的例子是3.23
和52.3E-4
。的E
符號表示10的冪在這種情況下,52.3E-4
裝置52.3 * 10^-4^
。
經驗豐富的程式設計師注意事項
沒有單獨的
long
型別。的int
型別可以是任意大小的整數。
字串
字串是一個序列的字元。字串基本上只是一堆字。
您將在幾乎所有編寫的Python程式中使用字串,因此請注意以下部分。
單引號
您可以使用單引號指定字串,例如'Quote me on this'
。
引號內的所有空格,即空格和製表符,都按原樣保留。
雙引號
雙引號中的字串與單引號中的字串完全相同。一個例子是"What's your name?"
。
三重行情
您可以使用三引號指定多行字串 - ("""
或'''
)。您可以在三引號內自由使用單引號和雙引號。一個例子是:
'''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."
'''
字串是不可改變的
這意味著一旦建立了字串,就無法更改它。雖然這可能看起來很糟糕,但事實並非如此。我們將會看到為什麼這不是我們後面看到的各種程式的限制。
格式方法
有時我們可能想要從其他資訊構造字串。這是該format()
方法有用的地方。
將以下行儲存為檔案Test.py
:
format可以通過{index}佔位符為字串中的字串進行賦值
需要注意的是引數的下標索引從0開始
另外index是可選的,所以我們也可以這樣寫
我們也可以命名引數,這樣寫
注意:此時我們需要給佔位符中指定的變數名進行賦值如果不賦值,將會報錯
Python 3.6引入了一種更簡單的方法來命名引數,稱為“f-strings”:
我們的引數將根據變數名進行自動注入,需要注意的是如果引數對應的變數不存在則會丟擲異常
Python在format
方法中的作用是將每個引數值替換為規範的位置。可以有更詳細的規格,例如:
# decimal (.) precision of 3 for float '0.333'
print('{0:.3f}'.format(1.0/3))
# fill with underscores (_) with the text centered
# (^) to 11 width '___hello___'
print('{0:_^11}'.format('hello'))
# keyword-based '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
或者你可以end
用空格:
print('a', end=' ')
print('b', end=' ')
print('c')
輸出是:
a b c
Python的print方法支援多個引數並且會將兩個相鄰的字串自動併成為一個字串
例:
下標/索引
Python中字串可以通過下標獲取其中的指定位置的字元起始下標為 0,並且支援負數獲取,通過負數獲取時,下標從字串末尾最後一位開始算起,起始下標為 -1
除索引外,還支援切片。雖然索引用於獲取單個字元,但切片允許您獲取子字串:
需要注意的是,下標擷取的字串是從下標引數1開始小於引數2結束!!!注意:是小於第二個引數的下標!!!
如果切片字串時不傳第一個引數,預設從0開始,如果不傳第二個引數預設到字串截止為止
如果感覺不好理解我們也可以通過索引的儲存形式來記下標的計算方式
由於Python中的字串是不可變的,所以當我們嘗試使用下標的方式來改變字串中的某個字元會丟擲異常
正確做法應該是建立一個新的字串
如果你想替換字串的最後一個字元又不知道這個字串的準確長度時,可以使用 len() 方法來獲取字串的長度
轉義序列
假設,你想要一個包含單引號('
)的字串,你將如何指定這個字串?例如,字串是"What's your name?"
。您無法指定,'What's your name?'
因為Python會對字串的開始和結束位置感到困惑。因此,您必須指定此單引號不表示字串的結尾。這可以藉助所謂的轉義序列來完成。您將單引號指定為\'
:注意反斜槓。現在,您可以將字串指定為'What\'s your name?'
。
指定此特定字串的另一種方法是"What's your name?"
使用雙引號。類似地,您必須使用轉義序列在雙引號字串中使用雙引號。此外,您必須使用轉義序列指示反斜槓本身\\
。
如果你想指定一個兩行字串怎麼辦?一種方法是使用如前所示的三引號字串,或者您可以使用轉義字元的轉義序列 - \n
指示新行的開頭。一個例子是:
'This is the first line\nThis is the second line'
另一個有用的轉義序列是標籤:\t
。還有更多的轉義序列,但我在這裡只提到了最有用的轉義序列。
需要注意的一點是,在字串中,行末尾的單個反斜槓表示字串在下一行中繼續,但不新增換行符。例如:
"This is the first sentence. \
This is the second sentence."
相當於
"This is the first sentence. This is the second sentence."
原始字串
如果需要指定一些不處理轉義序列等特殊處理的字串,那麼您需要的是通過字首或字串指定原始字串。一個例子是:
正常情況下如果我們輸入了轉義符又想讓他只作為一個字串中的符號,那麼我們可以在字串前面加 r 來宣告
例:
正則表示式使用者注意事項
處理正則表示式時始終使用原始字串。否則,可能需要進行大量的回擊。例如,反向引用可以稱為
'\\1'
或r'\1'
。
變數
使用文字常量很快就會變得無聊 - 我們需要某種方式來儲存任何資訊並操縱它們。這是變數進入圖片的地方。變數正是名稱所暗示的 - 它們的值可以變化,即,您可以使用變數儲存任何內容。變數只是計算機記憶體中儲存某些資訊的部分。與文字常量不同,您需要一些訪問這些變數的方法,因此您可以為它們命名。
識別符號命名
標示符由:字母 數字 下劃線 組成,其中數字不能開頭;
例如:abc __score ab2;
標示符區分大小寫;
helloworld , HelloWorld , HELLOWORLD為三個名字;
與java命名規範應該都是相同的,大家可以自行搜尋檢視下Java命名規範
資料型別
變數可以包含稱為資料型別的不同型別的值。基本型別是數字和字串,我們已經討論過了。在後面的章節中,我們將看到如何使用類建立自己的型別。
並且Python是一個強面嚮物件語言,也就是說包括變數在內都看做為一個物件
需要注意的就是在三引號內如(“”“xxx”“”)或('''xxx''')進行了換行輸入,那麼輸出結果也會進行換行
剩餘大部分的常識性的基礎就不在寫下去了如果學過一門變成語言的話 那麼這些都基本是通用的