1.python基礎知識
1.1 isinstance()與issubclass()
isinstance(object ,classinfo),用於判斷object是否為classinfo的乙個例項,或者是否為classinfo類的子類的乙個例項。
issubclass(class ,classinfo),用於判斷引數class是否為classinfo的子類。
1.2 收集引數
python函式引數分為位置引數、關鍵字引數、預設引數、收集引數。
def
test
(*params)
:print
("有%d個引數"
%len
(params)
)print
("第二個引數是:"
,params[1]
)print
(params)
test(
'f',
'i',
's',
'h',
'c')
有5個引數
第二個引數是: i
('f'
,'i'
,'s'
,'h'
,'c'
)
python就是把標誌為收集引數的引數們打包成乙個元組,引數標誌為乙個星號,兩個星號的收集引數表示將引數打包為字典的形式。如果在收集引數後邊還需要指定其他引數,在呼叫函式的時候就應該使用關鍵數引數來指定,如果引數中帶有收集引數,可將其他引數設定為預設引數。關鍵字引數和預設引數可位於收集引數後,位置引數只能位於收集引數前。
星號可以解包,如傳入引數a為乙個列表或字典,可以在a前面加以上星號表示實參需「解包」後才能使用,未解包直接輸入會報錯。
def
test
(*params)
:print
(params)a=[
'f',
'i',
's',
'h',
'c']
test(
*a)(
'f',
'i',
's',
'h',
'c')
1.3裝飾器
在函式**執行期間動態增加功能的方式稱為「裝飾器」(decorator)。本質上,decorator就是乙個返回函式的高階函式,我們定義乙個能列印日誌的decorator如下:
def
log(func)
:def
(*args,
**kw)
:print
('call %s():'
%func.__name__)
return func(
*args,
**kw)
觀察上面的log函式,因為他是乙個decorator,所以接收乙個函式作為引數,並放回乙個函式,我們借助@語法,把decorator置於函式定義處。
@log
defnow()
:print
('2020-11-1'
)
呼叫now()函式,不僅執行now()函式本身,還會在執行now()函式前列印一行日誌:
>>
>now(
)call now():
2020-11
-1
1.函式可以賦值給乙個變數
2.函式可以作為元素新增到集合物件中去
3.函式可以作為引數值傳遞給其他函式
4.函式可以當作函式的返回值
1.5 關於python中socket的描述
1.使用recfrom()接收tcp資料
2.使用connect()初始化tcp伺服器連線
3.伺服器端使用listen()開始tcp監聽
2.要點整理
2.1字串格式化語法
print('gnu\'s not %s %%' % 'unix')
輸出:gnu's not unix %
替換字串:%s
替換整型:%d
替換浮點型:%f
顯示%:%%
2.2 id() 函式和小整數池
id(object)是python的乙個用於返回object記憶體位址的函式。
已知a=[1,2,3]和b=[1,2,4],那麼id(a[1])==id(b[1])的執行結果為()
輸出:true
為提高記憶體利用率,python對一些簡單的物件(如數值較小的整型,字串等)採用重用物件記憶體的方法,python對於小整數物件有小整數物件池,範圍在[-5,257)之間,這個範圍內整數記憶體位址一樣,呼叫時均從小整數池中取。
2.3__name__
當執行模組時時__name__等於"main",當import到其他模組中,則__name__等於模組名稱(不包含字尾.py)。
2023年python學習筆記
第一課 python 注釋 第二課 識別符號及關鍵字 第三課 資料型別 第四課 輸入input 輸出print 以及format使用 第五課 運算子 第六課 條件判斷語句if 第七課 python迴圈語句 第八課 python字串操作 n t r 切片操作 第九課 python進製轉換 bin,oc...
python學習筆記(三)
python的序列 列表,元組,字串都是列表,列表的主要特點是索引和切片操作 序列的基本操作 1.len 求序列的長度 2.連線兩個序列 3.重複序列元素 4.in判斷序列是否在元組中 5.max 返回最大值 6.min 返回最小值 7.cmp tup1,tup2 比較兩個序列的值 元組 元組和字串...
python學習筆記三
一 輸出 print的幾種用法 print hello world hello world中間有空格 print hello wolrd helloworld 中間沒有空格 print hello wolrd helloworld 中間沒有空格 print hello world hello wor...