1 基礎語法
識別符號
識別符號由字母、數字和下劃線(_)組成,其中不能以數字開頭,并且區分大小寫,
以下劃線開頭的識別符號是有特殊意義的:
- 單下劃線開頭的如 _foo,表示不能直接訪問的類屬性,需要通過類提供的介面進行訪問,不能通過 from xxx import * 匯入;
- 雙下劃線開頭的如 __foo ,表示類的私有成員;
- 雙下劃線開頭和結尾的如 __foo__ 代表 Python 中的特殊方法,比如 __init()__ 代表類的構建函式
保留字
保留字是不能用作常數或變數,或者其他任何識別符號名稱, keyword 模塊可以輸出當前版本的所有關鍵字:
import keyword
print(keyword.kwlist)
所有的保留字如下所示:
|
|
|
|
|
and |
exec |
not |
|
assert |
finally |
or |
|
break |
for |
pass |
|
class |
from |
|
|
continue |
global |
raise |
|
def |
if |
return |
|
del |
import |
try |
|
elif |
in |
while |
|
else |
is |
with |
|
except |
lambda |
yield |
行和縮進
和其他編程語言的最大區別就是,Python 的代碼塊不采用大括號 {} 來控制類、函式以及其他邏輯判斷,反倒是采用縮進來寫模塊,
縮進的空白數量是可變的,但是所有代碼塊陳述句必須包含相同的縮進空白數量,這個必須嚴格執行,如下所示:
# 正確示例
i = 2if i == 3:
print('true!')else:
print('False')
# 錯誤示例if i == 3:
print('i:')
print(i)else:
print('wrong answer!')
# 沒有嚴格縮進,執行時會報錯
print('please check again')
這里將會報錯 IndentationError: unindent does not match any outer indentation level,這個錯誤表示采用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改為一致即可,
而如果錯誤是 IndentationError: unexpected indent,表示格式不正確,可能是 tab 和空格沒對齊的問題,
因此,按照約定俗成的管理,應該始終堅持使用4個空格的縮進,并且注意不能混合使用 tab 鍵和四格空格,這會報錯!
注釋
注釋分為兩種,單行和多行的,
# 單行注釋
print('Hello, world!')
'''
這是多行注釋,使用單引號,
這是多行注釋,使用單引號,
這是多行注釋,使用單引號,
'''
"""
這是多行注釋,使用雙引號,
這是多行注釋,使用雙引號,
這是多行注釋,使用雙引號,
"""
輸入輸出
通常是一條陳述句一行,如果陳述句很長,我們可以使用**反斜杠(\)**來實作多行陳述句,在 [], {}, 或 ()中的多行陳述句,則不需要反斜杠,
sentence1 = "I love " + \"python"
sentence2 = ["I", "love",
"python"]
另外,我們也可以同一行顯示多條陳述句,陳述句之間用分號(;)分割,示例如下:
print('Hello');print('world')
對于用戶輸入,Python2 采用的是 raw_input(),而 3 版本則是 input() 函式:
# 等待用戶輸入# python 2
user_input = raw_input('請輸入一個數字:\n')# python 3
user_input = input('請輸入一個數字:\n')
print('user_input=', user_input)
其中 \n 實作換行,用戶按下回車鍵(enter)退出,其他鍵顯示,
對于 print 輸出,默認輸出是換行的,如果需要實作不換行,可以指定引數 end,如下所示:
a = 3
b = 2
c = 4
d = 5# 默認換行
print(a)
print(b)# 不換行,并設定逗號分隔
print(c, end=',')
print(d)
如果你有關于python的問題,可以加博主的扣扣群來交流:879151479
2 基本變數型別
計算機程式要處理不同的資料,需要定義不同的資料型別,Python 定義了六種標準的資料型別,分布如下所示:
- Numbers(數字)
- Strings(字串)
- List(串列)
- Tuple(元組)
- Set(集合)
- Dictionary(字典)
變數賦值
Python 并不需要宣告變數的型別,所說的"型別"是變數所指的記憶體中物件的型別,但每個變數使用前都必須賦值,然后才會創建變數,給變數賦值的方法是采用等號(=),等號左邊是變數名,右邊是存盤在變數中的值,
一個示例如下:
counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = "John" # 字串
print(counter)
print(miles)
print(name)
Python 還允許同時為多個變數賦值,有以下兩種實作方式:
# 創建一個整型物件,值為1,三個變數被分配到相同的記憶體空間上
n = m = k = 2# 創建多個物件,然后指定多個變數
cc, mm, nn = 1, 3.2, 'abc'
print('n=m=k=', n, m, k)
print('cc=', cc)
print('mm=', mm)
print('nn=', nn)
其中同時給多個變數賦值的方式也是 Python 獨特的一種變數賦值方法,
數字
數字型別用于存盤數值,它是不可改變的資料型別,Python 3 支持以下幾種數字型別:
int (整數)
float (浮點型)
complex(復數)
bool (布爾)
數字型別的使用很簡單,也很直觀,如下所示:
# int
q = 1# float
w = 2.3# bool
e = True# complex
r = 1 + 3j
print(q, w, e, r) # 1 2.3 True (1+3j)
# 內置的 type() 函式可以用來查詢變數所指的物件型別
print(type(q)) # <class 'int'>
print(type(w)) # <class 'float'>
print(type(e)) # <class 'bool'>
print(type(r)) # <class 'complex'>
# 也可以采用 isinstance()# isinstance 和 type 的區別在于:type()不會認為子類是一種父型別別,isinstance()會認為子類是一種父型別別
print(isinstance(q, int)) # True
print(isinstance(q, float)) # False
對于數字的運算,包括基本的加減乘除,其中除法包含兩個運算子,/ 回傳一個浮點數,而 // 則是得到整數,去掉小數點后的數值,而且在混合計算的時候, Python 會把整數轉換為浮點數,
# 加
print('2 + 3 =', 2 + 3) # 2 + 3 = 5# 減
print('3 - 2 =', 3 - 2) # 3 - 2 = 1# 乘
print('5 * 8 =', 5 * 8) # 5 * 8 = 40# 除# 得到浮點數,完整的結果
print('5 / 2 =', 5 / 2) # 5 / 2 = 2.5# 得到一個整數
print('5 // 2 =', 5 // 2) # 5 // 2 = 2# 取余
print('5 % 2 =', 5 % 2) # 5 % 2 = 1# 乘方
print('5 ** 2 =', 5 ** 2) # 5 ** 2 = 25
字串
如果你有關于python的問題,可以加博主的扣扣群來交流:879151479
字串或串(String)是由數字、字母、下劃線組成的一串字符,一般是用單引號 '' 或者 "" 括起來,
注意,Python 沒有單獨的字符型別,一個字符就是長度為 1 的字串,并且,Python 字串是不可變,向一個索引位置賦值,如 strs[0]='m' 會報錯,
可以通過索引值或者切片來訪問字串的某個或者某段元素,注意索引值從 0 開始,例子如下所示:
切片的格式是 [start:end],實際取值范圍是 [start:end) ,即不包含 end 索引位置的元素,還會除了正序訪問,還可以倒序訪問,即索引值可以是負值,
具體示例如下所示:
s1 = "talk is cheap"
s2 = 'show me the code'
print(s1)
print(s2)
# 索引值以 0 為開始值,-1 為從末尾的開始位置
print('輸出 s1 第一個到倒數第二個的所有字符: ', s1[0:-1]) # 輸出第一個到倒數第二個的所有字符
print('輸出 s1 字串第一個字符: ', s1[0]) # 輸出字串第一個字符
print('輸出 s1 從第三個開始到第六個的字符: ', s1[2:6]) # 輸出從第三個開始到第六個的字符
print('輸出 s1 從第三個開始的后的所有字符:', s1[2:]) # 輸出從第三個開始的后的所有字符
# 加號 + 是字串的連接符# 星號 * 表示復制當前字串,緊跟的數字為復制的次數
str = "I love python "
print("連接字串:", str + "!!!")
print("輸出字串兩次:", str * 2)
# 反斜杠 \ 轉義特殊字符# 若不想讓反斜杠發生轉義,可以在字串前面添加一個 r
print('I\nlove\npython')
print("反斜杠轉義失效:", r'I\nlove\npython')
注意:
- 1、反斜杠可以用來轉義,使用 r 可以讓反斜杠不發生轉義,
- 2、字串可以用 + 運算子連接在一起,用 * 運算子重復,
- 3、Python 中的字串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始,
- 4、Python 中的字串不能改變,
字串包含了很多內置的函式,這里只介紹幾種非常常見的函式:
- strip(x):當包含引數 x 表示洗掉句首或者句末 x 的部分,否則,就是洗掉句首和句末的空白字符,并且可以根據需要呼叫 lstrip() 和 rstrip() ,分別洗掉句首和句末的空白字符;
- split():同樣可以包含引數,如果不包含引數就是將字串變為單詞形式,如果包含引數,就是根據引數來劃分字串;
- join():主要是將其他型別的集合根據一定規則變為字串,比如串列;
- replace(x, y):采用字串 y 代替 x
- index():查找指定字串的起始位置
- startswith() / endswith():分別判斷字串是否以某個字串為開始,或者結束;
- find():查找某個字串;
- upper() / lower() / title():改變字串的大小寫的三個函式
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84134.html
標籤:Python
上一篇:Java修飾符
下一篇:Python爬蟲開發者工具介紹

