集合和函数

集合

集合的特征


集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重

集合的格式

变量名=set()

变量名.add(元素)

必须不能初始化值

添加元素


add

nums={11,24,45,96,28}

nums.add(42)

print(nums)

update

nums={11,24,45,96,28}

nums2=["anfly","tom"]

nums.update(nums2)

print(nums)

删除元素

remove,pop,discard

nums={11,24,45,96,28}

nums.remove(24)

print(nums)

pop

1、如果集合的元素都是数字, 删除时, 删掉的是最小的数字, 其余数字升序排列

2、如果集合的元素是非数字, 删除时, 删掉的是随机的元素, 其余元素随机排列

3、如果集合里既有数字又有非数字元素, 删除时:

若删掉的是数字, 则一定是删掉了最小的, 其他数字升序排列, 非数字元素随机排列;

若删掉的非数字, 则一定是随机删掉了一个, 其他数字升序排列, 非数字则随机排列.

如果集合没有元素程序报错

discard

使用discard删除 如果元素存在直接删除 如果元素不存在不做任何操作


集合的交集和并集

交集

使用&连接多个集合,得到相同的元素

set1={"anfly","tom","haha"}

set2={"anfly","susala"}

set3=set1&set2

print(set3)

并集

使用|连接多个集合,得到全部集合中全部的元素

set1={1,2,3,4}

set2={3,4,5,6}

new_set=set1|set2

print(new_set)


函数

什么是函数

在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数

函数定义和调用

def函数名():

执行语句

函数名()

defhello():

print("hello word")

hello()

函数参数

defadd2num():

a=11

b=22

c=a+b

printc

位置参数

def函数名(参数1,参数2):

代码块

函数名(值1,值2)

deffun(a,b):

print("a:",a)

print("b:",b)

fun(2,3)

关键字参数

def函数名(参数1,参数2):

代码块

函数名(参数1=值1,参数2=值2)

deffun(a,b):

print("a:",a)

print("b:",b)

fun(a=2,b=3)

缺省参数

在形参中默认有值的参数,称之为缺省参数

defprintinfo(name,age=20):

print("name:",name)

print("age:",age)

printinfo(name="anfly")

不定长参数

有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名。

defprintinfo(*args,**kwargs):

print("args:",args)

print("kwargs:",kwargs)

printinfo(参数)


参数位置顺序


deffun(位置参数,*args,缺省参数,**kwargs):

代码块

fun(参数值)

defsun(a,*args,b=22,**kwargs):

print("a:",a)

print("args:",args)

print("b:",b)

print("kwargs:",kwargs)

sun(100,200,300,b=2,m=3,n=4)

函数返回值

defsum():

代码块

return值sum()


defcreate_nums(num):

print("---1---")ifnum==100:

print("---2---")returnnum+1

print("return执行之后不会继续执行")

print(“1231223")else:

print("---3---")

returnnum+2

print("---4---")result1=create_nums(100)

print(result1)

101result2=create_nums(200)

print(result2)


返回多个数据

defdivid(a,b):

shang=a//b

yushu=a%b#

returnshang,yushu

result=divid(5,2)

print(result)

函数类型

1. 无参数,无返回值

2. 无参数,有返回值

3. 有参数,无返回值

4. 有参数,有返回值

无参数,无返回值的函数

此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数

defprintMenu():

print('--------------------------')

print(' xx涮涮锅 点菜系统')

print('')print(' 1. 羊肉涮涮锅')

print(' 2. 牛肉涮涮锅')

print(' 3. 猪肉涮涮锅')

print('--------------------------')

无参数,有返回值的函数

•此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数

defgetTemperature():

# 这里是获取温度的一些处理过程

# 为了简单起见,先模拟返回一个数据

return24

有参数,无返回值的函数

•此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数

有参数,有返回值的函数

此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数

函数的嵌套

deftestb():

print("testb start")

print("testb testb 执行")

print("testb end")

deftesta():

print("testa start")testb()

print("testa end")

匿名函数

lambda函数也叫匿名函数,即函数没有具体的名称

变量

局部变量

局部变量,就是在函数内部定义的变量

deftest1():

a=120

print("我是局部变量a:",a)a=240

print("修改之后的局部变量a:",a)

deftest2():a=360

print("我是test02函数中的局部变量a",a)

test1()

test2()

全局变量

在函数外边定义的变量叫做全局变量

全局变量能够在所有的函数中进行访问

全局变量和局部变量名字相同

a=100

deftest1():

a=300

print("修改后的a:",a)

deftest2():

print(a)

test1()

test2()

全局变量的修改

a=100

deftest1():

global    a

a=300

print("修改后的a",a)

deftest2():

print(a)

test1()

test2()

你可能感兴趣的:(集合和函数)