python基础、集合、函数一(入门篇 六)

tech2024-08-06  44

python基础集合、函数一(入门篇 六)

1.集合1.1集合方法1.2集合的运算 2.函数一2.1简介2.2函数的参数2.3函数的传递方式2.4实参的类型 3.可变对象(列表)3.1可变对象 4.总结

1.集合

集合表现形式为set 集合和列表非常相似。不同点: 集合只能存储不可变对象集合中存储的对象是无序的集合不能出现重复元素 使用{}来创建集合可以通过set()来将序列和字典转换成集合 # 集合创建放方法 s = {1,2,3} s = set("hello") # 括号里面必须是可迭代的 ''' 集合只能存储不可变对象(不能是列表这种可变对象) 集合中存储的对象是无序的(是随机的所以无法运用索引) 集合不能出现重复元素(含有重复元素只会出现一次) '''

1.1集合方法

len() 使用len()来获取集合中元素的数量add()像集合中添加元素update()将一个集合中的元素添加到另一个集合当中pop()随机删除集合中的一个元素一般是删除最后一个元素remove() 删除集合中指定的元素clear() 清空集合 # len() 使用len()来获取集合中元素的数量 s = {1,2,3,4} print(len(s)) # 输出为4 # add()像集合中添加元素 s = {1,2,3,4} s.add(5) print(s) # 输出为{1, 2, 3, 4, 5} # update()将一个集合中的元素添加到另一个集合当中 s = {1,2,3,4} s2 = {'a','b','c','d'} s.update(s2) print(s) # 输出为{1, 2, 3, 4, 'b', 'c', 'd', 'a'} # pop()随机删除集合中的一个元素一般是删除最后一个元素 s = {1,2,3,4} s.pop() print(s) # 输出为{ 2, 3, 4} # remove() 删除集合中指定的元素 s = {1,2,3,4} s.remove(3) print(s) # 输出为{1, 2, 4} #clear() 清空集合 s = {1,2,3,4} s.clear() print() # 输出为{}

1.2集合的运算

& 交集运算| 并集运算差集运算^ 亦或集‘<=’ 检查一个集合是否是另一个集合的子集‘<’ 检查一个集合是否是另一个集合的真子集'>='检查一个集合是否是另一个集合的超集'>'检查一个集合是否是另一个集合的真超集 s1 = {1,2,3,4} s2 = {2,3,4,5} s3 = s1 & s2 # & 交集运算 print(s3) # 输出为{2, 3, 4} s3 = s1 | s2 # | 并集运算 print(s3) # 输出为{1, 2, 3, 4, 5} s3 = s1 - s2 # - 差集运算 print(s3) # 输出为{1} s3 = s1 ^ s2 # ^ 亦或集 print(s3) # 输出为{1, 5} s3 = s1 <= s2 # <= 检查一个集合是否是另一个集合的子集 print(s3) # 输出为False s3 = s1 < s2 # < 检查一个集合是否是另一个集合的真子集 print(s3) # 输出为False s3 = s1 >= s2 # >=检查一个集合是否是另一个集合的超集 print(s3) # 输出为False s3 = s1 > s2 # >检查一个集合是否是另一个集合的真超集 print(s3) # 输出为False

2.函数一

2.1简介

是一个对象函数 可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用语法。

# 语法: def 函数名([形参1,形参2,形参3....]): 代码块

注意: 函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)

2.2函数的参数

形参(形式参数) 定义形参就相当于在函数内部声明了变量,但是并不是赋值实参(实际参数)指定了形参,那么在调用函数时必须传递实参,实参将会赋值给对应的形参,简单来说有几个形参就要有几个实参。 def fn(a,b): # 定义函数fn(),a,b就是形参(形式参数),这里有两个形参。 s = a + b print(s) fn(1,2) # 调用函数fn(),1,2是实参(实际参数)形参用了几个实参就要用几个,这里用两个实参。

2.3函数的传递方式

定义形参时,可以为形参指定默认值。指定了默认值以后,如果用户传递了参数则默认值不会生效。如果用户没有传递,则默认值就会生效。位置参数:位置参数就是将对应位置的实参赋值给对应位置的形参。关键字参数 : 关键字参数可以不按照形参定义的顺序去传递,而根据参数名进行传递。混合使用位置参数和关键字参数的时候必须将位置参数写到关键字参数前面去。 def fn(a,b,c=10): # 定义函数fn(),有a,b,c三个形参,其中c的默认值为10。 s = a + b + c print(s) fu(1,2,3) # 输出为6 # 调用函数fn(),实参为1,2,3,因为用户定义了三个实参,则优先使用用户定义的实参c为3,而不是默认值10. fu(1,2) # 输出为13 # 调用函数fn(),实参为1,2,用户没有定义c的实参,所以c应该使用的是默认值10. # 位置参数就是将对应位置的实参赋值给对应位置的形参。 def fn(a,b,c): # 定义函数fn(),有a,b,c三个形参。 s = a + b + c print(s) fu(1,2,3) # 输出为6 # 三个形参三个实参,实参1对应形参a,实参2对应形参b,实参3对应形参c,实参与形参的位置是一一对应的,按照形参定义的顺序传递。 # 关键字参数可以不按照形参定义的顺序去传递,而根据参数名进行传递。 def fn(a,b,c): # 定义函数fn(),有a,b,c三个形参。 s = a + b + c print(s) fu(a=1,b=2,c=3) # 输出为6 # 不按照形参定义的顺序传递,而根据参数名进行传递。 # 混合使用位置参数和关键字参数的时候必须将位置参数写到关键字参数前面去 def fn(a,b,c): # 定义函数fn(),有a,b,c三个形参。 s = a + b + c print(s) fu(a,b,c=3) # 输出为6

2.4实参的类型

函数调用时解释器不会检查实参的类型,实参可以传递任意类型,但在计算过程中会出现类型因素而报错,所以可以传入任意类型,但计算会因为类型不同而报错。

def fn(a): # 定义函数fn(),有a,b,c三个形参。 print(a) b = 1 b = '1' b = None b = Ture fu(b) # 调用函数时,实参b可以是任意类型,整数型,字符串,布尔型,空值。 def fn(a,b): # 定义函数fn(),有a,b,c三个形参。 s = a + b print(s) fu(10'11') # 报错 # 实参可以传入整数型和字符串型,但在计算过程中,整数型和字符串不能进行算术运算所以会报错

3.可变对象(列表)

3.1可变对象

列表是一个可变对象

通过变量修改列表对象的值,但不会改变对象。不会改变变量所指向的对象

(改变变量所对应的列表中元素的值,变量所指对象不变,列表的id不变)

将一个新的列表赋值给变量,则是重新赋值的过程,变量所指对象改变。

(将新的列表赋值给变量,变量所指向的对象改变,id改变,为新列表的id,之前的列表id被系统回收)

a = [1,2,3] # 定义列表 print(id(a)) # 观察列表id a[0] = 4 # 修改列表中的值 print(a) # 输出修改后的列表 print(id(a)) # 观察修改后变量所指对象列表的id值 # 观察原来和修改后的id值,发现id值不变,说明修改列表中的值不会改变列表的id值,则变量所指对象不变,修改前的修改后是同一个对象。 a = [1,2,3] # 定义列表 print(id(a)) # 观察列表id a = [2,3,4] # 给变量a赋值一个新的列表 print(id(a)) # 观察赋值后变量所指对象列表的id值 # 发现赋值后变量的id值改变,说明给变量a重新赋值列表,变量a则会指向新的对象(赋值列表的id值)赋值前和赋值后是两个对象。

4.总结

最新回复(0)