1. 程式人生 > >python入門:基礎語法

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入門:基礎語法