文章目錄
- 4、變數:
- 5、標識符的命名:
- 6、資料類型:
- 7、對象:
- 8、邏輯行和物理行:
- 9、縮排:
4、變數:
只用常量是不夠的,我們需要一種既可以儲存資訊 又可以對它們進行操作的方法,這時就需要變數了。變數只是電腦中儲存資訊的一部分記憶體,我們需要一個變數名來訪問它們。
5、標識符的命名:
- 標識符的第一個字元必須是字母表中的字母(大寫或小寫)或者一個底線(‘ _ ’)。
- 標識符名稱的其他部分可以由字母(大寫或小寫)、底線(‘ _ ’)或數字(0-9)組成。
- 標識符名稱是對大小寫敏感的。例如,myname和myName不是一個標識符。注意前者中的小寫n和後者中的大寫N。
- 有效 標識符名稱的例子有i、__my_name、name_23和a1b2_c3。
- 無效 標識符名稱的例子有2things、this is spaced out和my-name。
6、資料類型:
變數可以處理不同類型的值,稱為資料類型。基本的類型是數和字串,我們也可以自己用類定義資料類型。
7、對象:
Python把在程式中用到的任何東西都稱為對象
註:就每一個東西包括數、字串甚至函數都是對象這一點來說,Python是極其完全地物件導向的。
例:使用變數和字面意義上的常量
# Filename : var.py i = 5print(i)i = i + 1print(i) s = '''This is a multi-line string.This is the second line.'''print(s)
輸出:
C:\Users\Administrator>python D:\python\var.py
5
6
This is a multi-line string. This is the second line.
工作原理:
首先我們使用賦值運算子(=)把一個字面意義上的常數5賦給變數i。這一行稱為一個語句。語句聲明需要做某件事情,在這個地方我們把變數名i與值5串連在一起。接下來,我們用print語句列印i的值,就是把變數的值列印在螢幕上。
然後我們對i中儲存的值加1,再把它存回i。我們列印它時,得到期望的值6。
類似地,我們把一個字面意義上的字串賦給變數s然後列印它。
註:使用變數時只需要給它們賦一個值。不需要聲明或定義資料類型。
8、邏輯行和物理行:
物理行是你在編寫程式時所看見的。邏輯行是Python看見的單個語句。Python假定每個物理行對應一個邏輯行 。
邏輯行的例子如print 'Hello World'這樣的語句——如果它本身就是一行,那麼它也是一個物理行。Python希望每行都只使用一個語句,這樣使得代碼更加易讀。如果你想要在一個物理行中使用多於一個邏輯行,那麼你需要使用分號(;)來特別地標明這種用法。分號表示一個邏輯行/語句的結束。例如:
i = 5 print(i)'''與下面這個相同:''' i = 5; print(i);'''同樣也可以寫成:''' i = 5; print(i);'''甚至可以寫成:''' i = 5; print(i)
建議堅持在每個物理行唯寫一句邏輯行。僅僅當邏輯行太長的時候,在多於一個物理行寫一個邏輯行。這些都是為了儘可能避免使用分號,從而讓代碼更加易讀。
下面是一個在多個物理行中寫一個邏輯行的例子。稱為明確的行串連。
s = 'This is a string. \ This continues the string.' print(s)
輸出:
This is a string. This continues the string.
類似地,
print \ (i)
與如下寫法效果相同:
print(i)
有時候,有一種暗示的假設,可以使你不需要使用反斜線。這種情況出現在邏輯行中使用了圓括弧、方括弧或波形括弧的時候。這被稱為暗示的行串連。
9、縮排:
空白在Python中是重要的,行首的空白稱為縮排。在邏輯行首的空白(空格和定位字元Tab)用來決定邏輯行的縮排層次,從而用來決定語句的分組。
這意味著同一層次的語句必須有相同的縮排。每一組這樣的語句稱為一個塊。
例如以下輸入是錯誤的:
i = 5 print('Value is', i) # Error! Notice a single space at the start of the line print('I repeat, the value is', i)
運行時,提示錯誤:
print('Value is ', i) # Error! Notice a single space at the start of the line
^
IndentationError: unexpected indent
注意,在第二行的行首有一個空格。Python指示的這個錯誤告訴我們程式的文法是無效的,即程式沒有正確地編寫。它告訴我們不能隨意地開始新的語句塊。
這裡強調一下,print()在python2版本中是可以不使用括弧的,而python3是不允許的。也就是說上面的輸出不能寫成print 'I repeat, the value is', i
在版本上python3表現出來的是徹底不向下相容的姿態。
不要混合使用定位字元和空格來縮排,因為這在跨越不同的平台的時候,無法正常工作。強烈建議在每個縮排層次使用單個定位字元或兩個或四個空格。