返回字典所有的健 { key }
示例1: d = {'1':'一','2':'二','3':'三',} print(d.keys()) >> dict_keys(['1', '2', '3']) 示例2: d = {'1':'一','2':'二','3':'三',} for i in d.keys(): print(d[i]) >> 一 >> 二 >> 三 values()返回字典所有的值 { value }
示例1: d = {'1':'一','2':'二','3':'三',} print(d.values()) >> dict_values(['一', '二', '三']) 示例2: for i in d.values(): print(i) >> 一 >> 二 >> 三 items()返回字典所有的项 { key : value }
示例1: d = {'1':'一','2':'二','3':'三',} print(d.items()) >> dict_items([('1', '一'), ('2', '二'), ('3', '三')]) 示例2: d = {'1':'一','2':'二','3':'三',} for i,k in d.items(): print(i,k) >> 1 一 >> 2 二 >> 3 三集合是一个无序的不重复元素的序列、 可以用大括号 { } 或者 set() 函数来创建集合
集合的特性:
集合是不可变序列集合中不能出现重复的元素集合中元素是无序的创建空集合可以用set() 函数创建
示例1: s = set() print(s,type(s)) >> set() <class 'set'> 示例2: l = [1,1,1,2,2,2,3,3,3] print(set(l)) >> {1, 2, 3} add() 添加元素到集合中 示例1: s = {1,2,3} s.add(4) print(s) >> {1, 2, 3, 4} update() 用一个集合扩展另一个集合 示例1: s1 = {1,2,3} s2 = {4,5,6} s1.update(s2) s1.update(s2) >> {1, 2, 3, 4, 5, 6} pop() 随机删除集合中的一个元素 示例1: s = {1,2,3} s.pop() print(s) >> {2, 3} remove() 删除集合中指定的元素 示例1: s = {1,2,3} s.remove(2) print(s) >> {1, 3} clear() 清空集合 示例1: s = {1,2,3,4,5} s.clear() print(s) >> set()交集运算 2个集合中都有的元素
示例1: s1 = {1,2,3,4} s2 = {3,4,5,6} s = s1 & s2 print(s) >> {3, 4} | 并集并集运算 2个集合的元素合并
示例1: s1 = {1,2,3,4} s2 = {3,4,5,6} s = s1 | s2 print(s) >> {1, 2, 3, 4, 5, 6} 差集差集运算 s1集合中s2集合没有的元素
示例1: s1 = {1,2,3,4} s2 = {3,4,5,6} s = s1 - s2 print(s) >> {1, 2} ^ 亦或集亦或集运算 s1集合与s2集合不相交的元素
示例1: s1 = {1,2,3,4} s2 = {3,4,5,6} s = s1 ^ s2 print(s) >> {1, 2, 5, 6} <检查一个集合是否是另一个集合的真子集
示例1: s1 = {1,2,3} s2 = {1,2,3,4} s = s1 < s2 print(s) >> True <=检查一个集合是否是另一个集合的子集
示例1: s1 = {1,2,3} s2 = {1,2,3,4} s = s1 <= s2 print(s) >> True >检查一个集合是否是另一个集合的真超集
示例1: s1 = {1,2,3} s2 = {1,2,3,4} s = s1 > s2 print(s) >> False >=检查一个集合是否是另一个集合的超集
示例1: s1 = {1,2,3} s2 = {1,2,3,4} s = s1 > s2 print(s) >> False函数也是一个对象 对象:是内存中专门用来储存数据的一块区域 函数可以保存可执行的代码,在需要的时候调用 可以用 def 来定义一个函数
语法: def 函数名(形参): 代码块 示例1: def haha(): print('haha') print(haha) haha() >> <function haha at 0x0000016C84C5B940> # 方括号是一个对象 >> hahafn 是函数对象 fn( ) 是调用函数
在定义函数的时候,可以在函数后面的括号中定义数量不等的形参; 形参与形参之间用逗号 ,分隔; 定义形参相当于在函数内部声明了变量名
实参定义函数形参的后,在调用函数的时候就需要传递实参,有多少个形参就需要传递多少个实参; 传递实参相当于给形参赋值;
示例1: def fn(a,b): print(a+b) fn(1,2) >> 3定义函数的形参时,可以给形参指定一个默认值 指定默认值后,在传递实参则会覆盖默认值,如果不传递则就是默认值
示例1: def fn(a,b=2): print(a+b) fn(1) >> 3 示例2: def fn(a,b=2): print(a+b) fn(1,3) >> 4 位置传参根据形参的顺序传递实参
示例1: def fn(a,b,c,d): print(a,b,c,d) fn(4,3,1,2) >> 4 3 1 2 示例2: def fn(a=1,b=3,c=2,d=4): print(a,b,c,d) fn(1,2,3,4) >> 1 2 3 4 关键字传参根据形参的名称传递实参
示例1: def fn(a,b,c): print(a,b,c) fn(a=5,b=1,c=2) >> 5 1 2 位置与关键字混合使用位置传参要在前面,关键字传参要在后面
示例1: def fn(a,b,c=3): print(a+b+c) fn(1,2,3) >> 6对象在内存中保存了三个数据 id (标识) type (类型) value (值)
每一个对象都有一个固定id和类型, 对象的值可以修改为任意值
形参可以接收任意类型: int 、 str 、 bool 、 list 、 set 、dict 、tuple 、Neno 、function等等…
在函数内对形参重新赋值不会影响到其他的变量 在函数内修改值会影响到其他值
示例1:不会影响到函数外部的变量,因为 a 和 b 是2个不同的对象 def fn(a): a = 20 print(a) c = 10 fn(c) print(c) >> 20 >> 10 示例2:修改了函数外部的值,因为 c 和 a 指向的时同一个值,因此会修改值 def fn(a): a[0] = 10 print(a) c = [1,2,3] fn(c) print(c) >> [10, 2, 3] >> [10, 2, 3]