Python3元組、字典、集合、函數

1.元組

    1>介紹,Python序列之一,與列表相似,但元素不可變(不可增刪改)

     2>聲明方法 

tup1=(1,2,3);

    3>修改 

tup1[0]=2 #非法,報錯

    4>刪除

del tup1[0] 
#TypeError: 'tuple' object doesn't support item deletion
del tup1
#可以刪除整個元組引用

    5>內置函數

    tuple(seq) 將列表轉化爲元組

2.字典

   1>介紹:同Java的Map,以鍵值對存儲數據

     注:鍵是唯一的,且類型必須爲不可變數據類型

    2>聲明方法:dic1={key1:value1,key2:value2}

    3>訪問(通過鍵) 

dic1={'name':'張三','age':18}
print(dic1['name'])

    4>修改

dic1['name']='李四'

    5>內置函數

print(dic1.copy())#複製列表
print(dic1.fromkeys(('name','age'),10)) #key爲序列的各個元素,值爲10
print(dic1.get('ss')) #獲取key爲name的值,鍵不存在,返回None
print(dic1.keys()) #獲取所有的key
print(dic1.values()) #獲取所有的value
print(dic1.items()) #獲取集合所有的元組數組
dic1.popitem() #刪除末尾鍵值對
dic1.setdefault("gender",1)#添加鍵值對,值不給默認爲None
dic2={}
dic2.update(dic1) #將dic1的值更新到dic2中
print(dic1,dic2)

3.集合

    1>介紹:無序,唯一的序列

      2>聲明: set([1,2,3]) 或{1,2,3}

      注:set() 爲空集合,{}代表空字典

      3>

set1=set([1,2,3,4])
set2={3,4,5,6}
print(set1.union(set2)) #並集
print(set1.intersection(set2)) #交集
print(set1.difference(set2)) #差集
print(set1.symmetric_difference(set2)) #對稱差集

#另一種寫法
print(set1|set2) #並集
print(set1&set2) #交集
print(set1-set2) #差集
print(set1^set2) #對稱差集

4.函數  

    函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段

    1>語法:

        def 函數名(參數列表):
                 函數體
                 return XXX

       2>參數類型:

def calc(x,y=None,*numbers,*,city,job,**kw):
    print(numbers)

        x     必需參數            必需參數須以正確的順序傳入函數。調用時的數量必須和聲明時的一樣。

        y     默認參數            調用函數時,如果沒有傳遞參數,則會使用默認參數

    *args   不定長參數         可以傳0或任意個參數

     **kw   關鍵字參數         可以傳0或任意個帶參數名的參數

city、job 命名關鍵字參數    限制參數名的關鍵字參數,只接收city和job作爲關鍵字參數

def person(name, age, *, city, job):
    print(name, age, city, job)
#和關鍵字參數**kw不同,命名關鍵字參數需要一個特殊分隔符*,*後面的參數被視爲命名關鍵字參數

    3>參數傳遞

        Python都是對象的引用,所以不分值傳遞和引用傳遞,根據參數類型可變和不可變。

        可變類型:fun(la)   la值發生改變
        不可變類型:fun(a)   a值不發生改變

      4>匿名函數     lambda  

           語法:

lambda [arg1 [,arg2,.....argn]]:expression
a= lambda a,b:a+b
print(a(1,2))
















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章