一、集合
1.集合的特征
集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元组去重
2.元素添加
2.1:add
nums = {11,24,45,96,28}
nums.add(42)
print(nums)
返回的结果:
#{96, 42, 11, 45, 24, 28}
2.2:update
案例:
nums = {11,24,45,96,28}
nums2=["jack","tom"]
nums.update(nums2)
print(nums)
返回的结果:
#{96, 'jack', 11, 45, 24, 28, 'tom'}
3.删除元素
remove,pop,discard
3.1:remove
使用remove删除集合中的元素 如果有直接删除 如果没有程序报错
案例:该元素存在
nums = {11,24,45,96,28}
nums.remove(24)
print(nums)
返回的结果:
#{96, 11, 45, 28}
案例:该元素不存在
nums = {11,24,45,96,28}
nums.remove(245)
print(nums)
返回的结果:
#KeyError: 245
3.2:pop
使用pop删除是随机删除集合中的元素 如果集合没有元素程序报错
案例:有元素
nums = {11,24,45,96,28}
nums.pop()
print(nums)
返回结果:
#{11, 45, 24, 28}
案例:无元素
nums = {}
nums.pop()
print(nums)
结果:
#TypeError: pop expected at least 1 arguments, got 0
3.3:discard
使用discard删除 如果元素存在直接删除 如果元素不存在不做任何操作
案例:该元素存在
nums = {11,24,45,96,28}
nums.discard(24)
print(nums)
返回结果:
#{96, 11, 45, 28}
案例:该元素不存在
nums = {11,24,45,96,28}
nums.discard(242)
print(nums)
返回结果:
#{96, 11, 45, 24, 28}
4.集合的交集和并集
4.1:交集
使用&连接多个集合,得到相同的元素
案例:存在相同元素
set1 = {"jack","tom","haha"}
set2 = {"jack","susala"}
set3= set1 & set2
print(set3)
返回结果:
{"jack"}
案例:存在相同的元素
set1 = {"jack","tom","haha"}
set2 = {"jack2","susala"}
set3= set1 & set2
print(set3)
返回值:set()
4.2:并集
使用|连接多个集合,得到全部集合中全部的元素
案例:
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 | set2
print(new_set)
返回值:
#{1, 2, 3, 4, 5, 6}
二、函数
1.1:什么是函数
在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块
组织为一个小模块,这就是函数
1.2:函数定义和调用
格式
def 函数名():
执行语句
函数名() #调用函数
案例:
def hello():
print("hello word")
hello()
注意:
定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它
调用函数很简单的,通过 函数名() 即可完成调用
每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束了
当然了如果函数中执行到了return也会结束函数
1.3:函数参数
案例:
def add2num():
a = 11
b = 22
c = a+b
print c
2.1:位置参数
格式
def 函数名(参数1,参数2):
代码块
函数名(值1,值2)
案例:
def fun(a,b):
print("a:",a)
print("b:",b)
fun(2,3)
结果:a: 2 b:3
2.2:关键字参数
格式
def 函数名(参数1,参数2):
代码块
函数名(参数1=值1,参数2=值2
案例:
def fun(a,b):
print("a:",a)
print("b:",b)
fun(a=2,b=3)
结果:a: 2 b:3
注意:参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面
案例:
def fun(a,b):
print("a:",a)
print("b:",b)
fun(3,b=2)
结果:a: 3 b:2
如果关键字参数传参要在位置参数之前,将会报错
案例:错误
def fun(a,b):
print("a:",a)
print("b:",b)
fun(a = 3,2)
#SyntaxError: positional argument follows keyword argument
三、变量
定义:
在函数外边定义的变量叫做全局变量
约束:
全局变量能够在所有的函数中进行访问
代码
a = 100
def test1():
print(a) # 虽然没有定义变量a但是依然可以获取其数据
def test2():
print(a) # 虽然没有定义变量a但是依然可以获取其数据
# 调用函数
test1()
test2()
返回值:100 100
1.1:全局变量和局部变量名字相同
代码:
a = 100 #全局变量
def test1():
a= 300
print("修改后的a:",a)
def test2():
print(a)
# 调用函数
test1()
test2()
返回值:修改后的a:300 100
注意:函数中的变量修改不会导致全局变量改变
1.2:全局变量的修改
代码:global的使用
a = 100 #全局变量
def test1():
global a #将a变成全局变量
a= 300
print("修改后的a",a)
def test2():
print(a)
# 调用函数
test1()
test2()
注意:在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据
也理解为对全局变量进行修改,而不是定义局部变量