【Python】数据类型之集合与函数
【摘要】 本文主要跟大家介绍Python的数据类型之集合和函数
一、集合简介
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而
不是 { },因为 { } 是用来创建一个空字典。
dict1 = {} # 创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
print(type(dict1)) # dict
set1 = set()
print(type(set1)) # set
set2 = {"a", "b", "c", "b", "e"}
print(set2) # 去重功能
print("a" in set2) # 判断元素是否在集合内
a = set('abrcd')
b = set('alczm')
# a-b 集合a中包含而集合b中不包含的元素 <=>a-a&b
print(a - b)
# a|b 集合a或b中包含的所有元素
print(a | b)
# a&b 集合a和b中都包含了的元素
print(a & b)
# a^b 不同时包含于a和b的元素 <=> a-b | b-a
print(a ^ b)
print(a - b | b - a)
# 1.difference() a-b 不改变原集合
set1 = {"a","b","c"}
set2 = {"c","d","e"}
print(set1.difference(set2))
# 2.difference_update() 改变原集合
# difference() 方法返回一个移除相同元素的新集合,而 difference_update() 方法是直接在原来的集合中移除元素
set1.difference_update(set2)
print(set1)
# 3.intersection()
set3 = {1,2,3}
set4 = {3,4,5}
print(set3.intersection(set4))
# 4.intersection_update()
# intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素
set3.intersection_update(set4)
print(set3)
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表):
函数体
return
Python中的函数与其他语言中的函数用法基本相同,这里不过多介绍。
需要注意的是,Python中的函数可以有多个返回值,请看下面的例题:
# 有多个返回值的函数
def getDate():
year = 2023
mouth = 2
return year, mouth
# 接收函数值也要使用两个变量
year, mouth = getDate()
print("year is %d,mouth is %d" % (year, mouth))
# 如果使用1个变量接收,接收到的就是元组
year = getDate()
print("year is %s and type is %s" % (str(year), type(year)))
函数可以直接调用,也可以嵌套调用。
def line():
print("-" * 40)
line() # 直接调用
def defineLine():
number = int(input("Please input a number for times:\n"))
i = 0
while i < number:
line() # 嵌套调用
i += 1
全局变量 | 局部变量 | |
---|---|---|
定义 | 定义在函数外的变量 | 定义在函数内的变量 |
作用范围 | 整个Python文件有效 | 函数内有效 |
冲突 | 当全局变量和局部变量重名时,使用的是局部变量 | 如果要使用全局变量,要使用global关键字声明 |
请看下面的例题:
a = 100
def getNum():
a = 200 # 当全局变量和局部变量重名时,使用的是局部变量
print("a=%d"%a)
def getNum2():
global a
a = 500 # 如果要使用全局变量,要使用global关键字声明
print("a=%d"%a)
getNum()
getNum2()
print(a)
这篇文章主要介绍了Python中的集合(set)数据类型,以及函数的定义和调用!今
日份的分享就到这里,我们下期再见,拜拜!
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)