python入門:基礎語法
使用python自帶程序IDLE,啟動後可看到類似下面提示符:
表達式:
由一個或者幾個數字或者變量和運算符組合成的一行代碼,通常返回一個值。
運算符:
運算符用於執行程序代碼運算,會針對一個以上 操作數項目來進行運算。例如:2+3,其操作數是2和3,而運算符則是“+”
算術運算符(+、-、*、/、%、**、//)
比較運算符(==、!=、>、<、>=、<=)
賦值運算符(=、+=、-=、*=、/+、%=、**=、//=)
邏輯運算符(not、and、or)
位運算符(按位運算符是把數字看作二進制來進行計算)
成員運算符(in、not in)
身份運算符(is、is not)
運算符優先級(冪運算、正負號、算術操作符、比較操作符、邏輯運算符)這是比較常見的。
算術運算符:
>>> 2+3
5
>>> 3-1
2
>>> 2*3
6
>>> 4/2
2.0
>>> 10%3
1
>>> 2**3
8
>>> -3 ** 2
-9
>>> (-3) ** 2
9
>>> 10 //3
3
>>> 10 % -3
-2
>>> -10 % 3
2
>>> -10 % -3
-1
比較運算符
>>> age=10 # "="為下面要講的賦值運算符
>>> ages=20
>>> age==ages
False
>>> age>ages
False
>>> age<ages
True
>>> age!=ages
True
>>> age>=ages
False
>>> age<=ages
True
賦值運算符
>>> X,Y,Z=10,11,12
>>> X
10
>>> Y
11
>>> Z
12
>>> age +=10
>>> age
20
>>> age -=5
>>> age
15
>>> age *= 5
>>> age
75
>>> age /=2
>>> age
37.5
>>> age %= 8
>>> age
5.5
>>> age **= 2
>>> age
30.25
>>> 10
>>> age
15.0
邏輯運算符:邏輯運算符在後面學習語法時再講。
成員運算符:在學習列表和元組時在舉例。
在舉例運算符時age =10 ,即定義變量age同時賦值為10.
變量是表示(或指向)特定值的名稱。
變量的命名規則:只能由字母、數字、下劃線(_)構成,且不能以數字開頭。
模塊盡量使用小寫命名,首字母保持小寫
類名使用駝峰(CamelCase)命名風格,首字母大寫,私有類可用一個下劃線開頭
函數名一律小寫,可用下劃線隔開
變量名盡量小寫, 如有多個單詞,用下劃線隔開
常量使用以下劃線分隔的大寫命名
下面我們使用print語句打印“HelloWorld”.
>>> print("HelloWorld")
按回車鍵後將如下輸出:
HelloWorld
如果你熟悉其它編程語言如java等編程都在行尾加上分號,python不需要這樣;
我們使用IDLE優點來編寫一個簡單的腳本命名test.py 。
在選擇菜單File-New File 這樣將創建新的編輯窗口,其中沒有交互式提示符,輸入如下代碼:
print("HelloWorld")
接下來,選擇菜單File-Save(或是ctrl+s)保存程序,現在開始運行程序Run-Run Module(或是快捷鍵F5),在解釋器窗口將打印出HelloWorld.
上一章已經設置了python的環境變量現在直接使用(設置環境變量僅適用於windows).
使用DOS窗口:將可執行文件存入目錄,輸入下列命令:
A:\>python test.py
HelloWorld
使用UXIN編輯腳本:
#!/usr/bin/env python
print("HelloWorld")
執行程序:
$ chmod a+x test.py #添加執行權限
$ ./test.py
查看保留字 關鍵字命令:
>>> import keyword
>>> keyword.kwlist
>>> ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try',
'while', 'with', 'yield']
這些保留字不能用作常數或變數,或任何其他標識符名稱。
函數:
前面介紹了乘方(**)運算,其實也可以不使用這種方式進行計算而使用函數pow。
>>> 2 ** 3
8
>>> pow(2,3)
8
函數猶如小型程序,來執行特定的操作。python提供了很多函數,也可以自己編寫函數(後面介紹),因此通常將pow等標準函數稱為內置函數。
例如:abs計算絕對值,round四舍五入。
>>> abs(-9)
9
>>> round(5.2)
5
>>> round(5.8)
6
模塊:通常模塊作為一個文件,import語句將一個源代碼文件作為模塊導入函數模塊。
>>> import math
>>> math.floor(32.9) #向下取整
32
>>> math.ceil(32.9) #向上取整
33
還可使用from模塊調用函數.from module import function
>>> from math import sqrt
>>> sqrt(9) #sqrt計算平方根函數
3.0
使用這種方式可在調用函數時不指定模塊前綴。
cmath和復數
函數sqrt用戶計算平方根,如果出現負數情況可不好用。
>>> sqrt(-1)
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
sqrt(-1)
ValueError: math domain error
報錯了,說明函數sqrt來計算負數並不合適,負數的平方根為虛數,而由實部和虛部組成的數為復數,python標準庫提供了一個專門用於處理復數的模塊。
>>> import cmath
>>> cmath.sqrt(-1)
1j
1是個虛數,虛數都以J(或j)結尾,復數算術運算都基於如下定義:-1的平方根為1j。
註釋:
單行註釋用#表示,在python中,井號後面的行尾的所有內容都將被忽略。
#打印圓的周長
print(2 * pi * r)
多行註釋用''' '''表示
註釋讓程序員更容易理解代碼,對其他人來說也是如此,在編寫程序一段時間後回來繼續閱讀代碼將毫無阻礙。
註釋應言簡意賅,比如:
name="joy" # 定義變量name同時將joy賦值給name.這種註釋在前期剛學代碼時為了加強記憶理解標註很正常 但是在工作中就很雞肋,應避免類似註釋出現。
字符串:主要用途是表示一短文本。
>>> "helloworld"
'helloworld'
>>> 'helloworld'
'helloworld'
>>> "let's go"# 字符串本身帶有單引號,如果繼續用單引號括起來,就會報錯,只有用雙引號括起來才可以。同理,如果字符串本身帶有雙引號,
"let's go" # 則必須用單引號括起來
>>> 'let 's go'
SyntaxError: invalid syntax # 這裏把'let'認為是字符串,當前行余下的內容不知如何處理所以就報錯了
>>> "let \'s go!" #或者對引號進行轉義
"let 's go!"
拼接字符串
>>> X = 'Hello,'
>>> Y = 'Andy.'
>>> X + Y
'Hello,Andy.'
長字符串
表示很長的字符串(跨越多行的字符串)可使用三引號。
print('''What do you think was the author's
intention in this passage?
''')
還可使用三個雙引號,“““ Hello”””,解釋器能夠識別表示字符串開始和結束位置的引號,因此字符串本身可包含單引號和雙引號,無需使用反斜杠進行轉義。
常規字符串也可橫跨多行,只要在行尾加上反斜杠,反斜杠和換行符將被轉義。
>>> print \
("HelloWorld")
HelloWorld
>>> 2 + 3 \
+4+5
14
原始字符串
\n表示換行
>>> print('Hello,\nworld')
Hello,
world
如果想在字符串中包含\n呢,例如字符串中包含路徑C:\nowhere
>>> path='C:\nowhere'
>>> path
'C:\nowhere'
>>> print(path)
C:
owhere
示例中打印出來就出現問題了,有時候這種結果並非你想要的
>>> print('C:\\nowhere')
C:\nowhere
使用反斜杠本身進行轉義也可以達到目的,但是有個更好的方法。另外原始字符不可以使用單個反斜杠結尾。
>>> print(r'C:\nowhere')
C:\nowhere
python入門:基礎語法