菜鳥教程傳送門
環境:windows + python-3.7.4
$ 檢視python版本
python -v ,注意:大寫的v
例如以下是 helloworld.py 的內容
1)執行 python helloworld.py , "#!/usr/bin/python3" 被忽略,相當於注釋
2)執行 ./helloworld.py , "#!/usr/bin/python3" 指定直譯器的路徑
#!/usr/bin/python3
print("hello, world!")
$ 檢視python保留字
>>> import keyword
>>> keyword.kwlist
$ 多行語句 -> 行末用反斜槓(\),注意: , {}, 或 () 中的多行語句,不需要使用反斜槓(\)
$ 同一行中使用多條語句 -> 語句之間使用分號(;)分割
$ 不換行輸出
print 預設輸出是換行的,如果要實現不換行需要在變數末尾加上 end="":
[例]>>> print("good");print("evening")
good
evening
>>> print("good",end="");print("evening",end="")
goodevening
>>>
$ import 與 from...import
1)將整個模組匯入,例如:import time,在引用時格式為:time.sleep(5)
2)將整個模組中全部函式匯入,例如:from time import *,在引用時格式為:sleep(5)
3)將模組中特定函式匯入,例如:from time import sleep,在引用時格式為:sleep(5)
4)將模組換個別名,例如:import time as abc,在引用時格式為:abc.sleep(5)
$ python3 的六個標準資料型別
不可變資料(3 個):number(數字)、string(字串)、tuple(元組)
可變資料(3 個):list(列表)、dictionary(字典)、set(集合)
$ 變數的物件型別
>>> a, b, c, d = 20, 5.5, true, 4+3j
>>> print(type(a), type(b), type(c), type(d))
還可以用 isinstance 來判斷:
>>> isinstance('aaa',str)
true
>>>
注意:isinstance 和 type 的區別 -> type()不會認為子類是一種父類型別; isinstance()會認為子類是一種父類型別。
$ 列表切片實現 翻轉字串
將下文儲存為test.py,執行得到輸出 honey and bee
def reversewords(input):
# 通過空格將字串分隔符,把各個單詞分隔為列表
inputwords = input.split(" ")
# 翻轉字串
# inputwords[-1::-1] 第乙個引數 -1 表示最後乙個元素;第二個引數為空,表示移動到列表末尾;第三個引數為步長,-1 表示逆向
inputwords=inputwords[-1::-1]
# 重新組合字串,以空格分隔
output = ' '.join(inputwords)
return output
if __name__ == "__main__":
input = 'bee and honey'
rw = reversewords(input)
print(rw)
$ 構造包含0個或1個元素的元組
tup1 = () # 空元組
tup2 = (2,) # 乙個元素,需要在元素後新增逗號
$ 集合
可以使用大括號 {} 或者 set() 函式建立集合(可接收字串、元組、列表)
注意:建立乙個空集合必須用 set() 而不是 {},因為 {} 是用來建立乙個空字典。
>>> a=set('today is thursday.') #字串
>>> b=set(('today','is','thursday')) #元組
>>> c=set(['today','is','thursday']) #列表
>>> a
>>> b
>>> c
>>>
$ 建構函式 dict() 構建字典
[例] 1)
>>> dict([('mon',1),('tue',2),('wed',3)])
注意:鍵值對用元組,以下列表/元組 包列表也可以,但是 集合包列表就不可以(集合中的元素必須是不可變型別)
>>> dict1=dict([[1,111],[2,222]])
>>> dict1
>>> dict2=dict()
traceback (most recent call last):
file "", line 1, in
dict2=dict()
typeerror: unhashable type: 'list'
>>> dict3=dict(([1,111],[2,222]))
>>> dict3
>>>
2)>>> dict(jan=1,feb=2,mar=3)
3)>>>
建立空字典使用 。
$ 遍歷字典
1)遍歷字典的鍵:
>>> def printkey(dict): # dict 是乙個字典物件
for k in dict:
print(k)
>>> dict1=dict([('a',1),('b',1)])
>>> printkey(dict1)ab
>>>
2)遍歷字典的鍵值:
>>> for k in dict1:
print(k,':',dict1[k])
a : 1
b : 1
>>>
>>> for k in dict1:
print(k,end=':')
print(dict1[k])
a:1b:1
>>>
>>> for k,v in dict1.items():
print(k,':',v)
a : 1
b : 1
>>>
$ python成員運算子
運算子描述
例項in
如果在指定的序列中找到值返回 true,否則返回 false
1在 [1, 2, 3, 4, 5 ] 中,返回 true
not in
如果在指定的序列中沒有找到值返回 true,否則返回 false
6不在 [1, 2, 3, 4, 5 ] 中,返回 false
$ python身份運算子
運算子描述
例項is
is 是判斷兩個識別符號是不是引用自乙個物件
x is y, 類似id(x) == id(y), 如果引用的是同乙個物件則返回 true,否則返回 false
>>> a=1
>>> b=1
>>> a is b
true
>>> a=[1,2]
>>> b=[1,2]
>>> a is b
false
is not
is not 是判斷兩個識別符號是不是引用自不同物件
x is not y, 類似id(a) != id(b)。如果引用的不是同乙個物件則返回結果 true,否則返回 false。
>>> a = (1,2,3)
>>> b = a[:]
>>> b is not a
false
>>>
>>> a = [1,2,3]
>>> b = a[:]
>>> b is not a
true
>>>
python 菜鳥 Python3 教程
python 3 教程 python 的 3.0 版本,常被稱為 python 3000,或簡稱 py3k。相對於 python 的早期版本,這是乙個較大的公升級。為了不帶入過多的累贅,python 3.0 在設計的時候沒有考慮向下相容。python 介紹及安裝教程我們在python 2.x 版本的...
python3菜鳥教程pdf Python3 集合
本課一句話通俗話總結函式 新增元素 setx.add string tuple bool number void setx.update y z.void y z 為 list tuple dict setx.clear void setx.copy set 深拷貝 指向新的記憶體位址 刪除元素 s...
裝飾器python3菜鳥教程 Python 裝飾器
首先 需求來了 有如下幾個封裝好的函式供呼叫 現在需要在每個函式執行前進行日誌記錄 第乙個方案 修改每個函式,新增日誌記錄的 但這樣顯然不太好,存在大量的重複 可以將重複 封裝為乙個方法 第二個方案 這樣的確是比第乙個方案好多了,但是不符合開閉原則,即現有的 不要去修改,而在基礎的功能上進行二次開發...