>>如果python的or關鍵字連線的是0 or 1 則 0 代表false,1代表true,
>>區分集合的add和update方法:
當引數為可遍歷元素:
1)add將引數作為乙個整體新增如集合中。注意add的引數必須是不可變物件(如列表和字典不能作為add的引數)
2)update將引數分為子元素,遍歷新增入集合中。update的引數沒有要求。
>>元組是不可變物件,是基於元組整體而言是不可變的,即元組中的每個元素所引用的資料的位址是不變的。如果元組的子元素是可變元素比如列表,該子元素是可變的。如下圖
>>函式的預設引數必須是不可變型別的資料,即不能是列表(不管是空列表還是有資料的列表) 如:
可以看到第一次以後再次呼叫函式,預設引數不再是空列表。解決辦法:
>>可變引數: 如果要將乙個可迭代變數作為 可變引數傳入函式中,則在呼叫引數時 在此變數前新增 * 。但是可迭代變數的長度(即元素個數)要等於函式的引數個數,
>>關鍵字引數(類似於字典), 定義函式引數時,def func( n1,n2 , **n3) n3即為關鍵字引數。關鍵字引數在函式中預設轉化為字典格式。
關鍵字引數和可變引數共同使用
>>序列解包的用法:解包變數的賦值與位置無關,永遠是在其他變數賦值完成後再給解包變數賦值,如果其他變數賦值後沒有剩餘的值,則給解包變數賦值為空列表。
>>format方法巧用:詳見:python format 格式化函式
如下圖如果引數為字典,通過鍵的值來確定引數,如果引數是多個列表,通過數字(0表示第乙個my_list1,1代表第二個my_list2)和括號下標來確定引數。如果想要對引數進行設定,對要設定的引數後新增冒號進行設定,如下圖2
>> python中的and 、or操作的計算規則:
and : 從左至右計算操作物件,返回第乙個為假的物件的計算結果,如果沒有假(即全部為真),則 返回最右側的操作物件的計算結果
or : 從左至右計算操作物件,返回第乙個為真的物件的計算結果,如果沒有真(即全部為假),則 返回最右側的操作物件的計算結果
>>檔案讀寫的注意事項,為保證速度,盡量不適用readlines()方法
>>對可迭代物件中每個元素進行修改,在for迴圈中要通過索引確定元素進行修改。
如果是通過列表解析式對列表元素進行修改,則實質是生成新的物件,然後將原變數引用到新的物件,變數的位址會發生改變,見下圖
>>迭代器:
1)檔案本身就是迭代器,迭代器本身就具有 __next__()方法,不需要 iter()方法轉化成迭代器
2) 列表等其他可迭代物件需要通過iter方法轉化為迭代器,才能使用 __next__() 或者 next()方法
3)range物件只支援迭代(即可迭代物件,可以使用for迴圈) 索引 和len,但本身不是迭代器,需要iter方法手動轉化為迭代器,map filter zip三個函式本身是迭代器,可以直接使用 next __next__()方法
4)通過手動iter方法將range物件轉化為和 map filter zip方法本身的迭代器的區別:
range手動的迭代器可以生成多個互不影響的迭代器,互相之間不會記錄位置
map filter zip方法生成的本身的迭代器通過iter方法手動生成多個迭代器,多個迭代器相互影響,記錄上一次迭代器next的位置
>>變數名的legb原則:
>>修改全域性變數的方法:
>>可變物件在函式中作為引數時,如果該可變物件是全域性變數,在執行函式後,該可變物件可能發生修改。
>>收集引數:函式的形參為*args或者**kwargs。將實參的數值收集為元組或者字典。
>>解包引數,函式的實參形式為*args或者**kwargs.
>>keyword-only引數: keyword-only引數必須在 *args之後,在**args之前。必須顯示給定變數並賦值。
在建立函式時,函式的形參中keyword-only必須在**args之前,*args之後,實際呼叫函式即作為實參時,keyword-only引數因為指明了關鍵字,所以可以在任何位置。
python基礎總結 一
1.基本資料型別 字串 整數 小數 bool 2.基本語法 以python3.0為準 輸入 input 得到輸入的值 value eval input 得到乙個數字 value int input 輸出 print print d is a num 4 print s is a string str...
Python基礎總結
如果字串裡面有很多字元都需要轉義,就需要加很多 為了簡化,python還允許用r 表示 內部的字串預設不轉義,可以自己試試 print t print r t t 我們可以比較容易的將字典 dict 型別轉為字串 string 型別。通過遍歷dict中的所有元素就可以實現字典到字串的轉換 for k...
Python基礎總結
輸入 模組 執行指令碼 在指令碼的第一行表明直譯器的位置即可在linux中不必顯示的呼叫python直譯器而執行指令碼 注釋字串 字串拼接 str repr和長字串 通用的序列操作 切片str hello print str 2 4 切片的引數 序列相加 乘法 成員資格 長度 最大值 最小值 列表 ...