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))
















猜你喜欢

转载自blog.csdn.net/awangbsi/article/details/80467367