Python基础8 - for循环、集合、函数

tech2025-06-25  5

学习目录

六、序列(点击跳转)7、for循环7.2、遍历字典8、集合(set)8.1、集合的操作方法8.2、集合的运算 七、函数(function)1、函数的介绍1.1、函数的参数介绍:1.2、函数的传递方式:1.3、可变对象 2、实参的类型

六、序列(点击跳转)

7、for循环

7.2、遍历字典

keys()

返回字典所有的健 { 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(['一', '二', '三']) 示例2for 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

8、集合(set)

集合是一个无序的不重复元素的序列、 可以用大括号 { } 或者 set() 函数来创建集合

集合的特性:

集合是不可变序列集合中不能出现重复的元素集合中元素是无序的

8.1、集合的操作方法

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

8.2、集合的运算

& 交集

交集运算 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

七、函数(function)

1、函数的介绍

函数也是一个对象 对象:是内存中专门用来储存数据的一块区域 函数可以保存可执行的代码,在需要的时候调用 可以用 def 来定义一个函数

语法: def 函数名(形参): 代码块 示例1def haha(): print('haha') print(haha) haha() >> <function haha at 0x0000016C84C5B940> # 方括号是一个对象 >> haha

fn 是函数对象 fn( ) 是调用函数

1.1、函数的参数介绍:

形参

在定义函数的时候,可以在函数后面的括号中定义数量不等的形参; 形参与形参之间用逗号 ,分隔; 定义形参相当于在函数内部声明了变量名

实参

定义函数形参的后,在调用函数的时候就需要传递实参,有多少个形参就需要传递多少个实参; 传递实参相当于给形参赋值;

示例1def fn(a,b): print(a+b) fn(1,2) >> 3

1.2、函数的传递方式:

形参的默认值

定义函数的形参时,可以给形参指定一个默认值 指定默认值后,在传递实参则会覆盖默认值,如果不传递则就是默认值

示例1def fn(a,b=2): print(a+b) fn(1) >> 3 示例2def fn(a,b=2): print(a+b) fn(1,3) >> 4 位置传参

根据形参的顺序传递实参

示例1def fn(a,b,c,d): print(a,b,c,d) fn(4,3,1,2) >> 4 3 1 2 示例2def fn(a=1,b=3,c=2,d=4): print(a,b,c,d) fn(1,2,3,4) >> 1 2 3 4 关键字传参

根据形参的名称传递实参

示例1def fn(a,b,c): print(a,b,c) fn(a=5,b=1,c=2) >> 5 1 2 位置与关键字混合使用

位置传参要在前面,关键字传参要在后面

示例1def fn(a,b,c=3): print(a+b+c) fn(1,2,3) >> 6

1.3、可变对象

对象

对象在内存中保存了三个数据 id (标识) type (类型) value (值)

每一个对象都有一个固定id和类型, 对象的值可以修改为任意值

2、实参的类型

形参可以接收任意类型: 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]
最新回复(0)