• 集合表现形式set 集合和列表非常相似
• 不同点
• 集合只能存储不可变对象
• 集合中存储的对象是无序的
• 集合不能出现重复元素
• 使用{
}来创建集合
• 可以通过set()来将序列和字典转换成集合
• len() 使用len()来获取集合中元素的数量
• add()像集合中添加元素
• update()将一个集合中的元素添加到另一个集合当中
• pop()随机删除集合中的一个元素一般是删除最后一个元素
• remove() 删除集合中指定的元素
• clear() 清空集合
集合的运算
• & 交集运算
a={
1,2,3,4,5,6,7}
b={
4,5,6,7,8}
s=a&b
print(s)
• | 并集运算
• - 差集运算
• ^ 亦或集
• <= 检查一个集合是否是另一个集合的子集
• < 检查一个集合是否是另一个集合的真子集
• >=检查一个集合是否是另一个集合的超集
• >检查一个集合是否是另一个集合的真超集
语法
def 函数名([形参1,形参2,形参3....]):
代码块
函数名(实参) {
有几个形参,就有几个实参}
注意:
函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)
print是函数对象 print()是调用函数
• 形参(形式参数) 定义形参就相当于在函数内部声明了变量,但是并不是赋值
• 实参(实际参数)指定了形参,那么在调用函数时必须传递实参,
实参将会赋值给对应的形参,简单来说有几个形参就要有几个实参
2.2. 函数的传递方式
• 定义形参时,可以为形参指定默认值。指定了默认值以后,如果用户传递了参数则默认值不会生效。如果用户没有传递,则默认值就会生效
• 位置参数:位置参数就是将对应位置的实参赋值给对应位置的形参
• 关键字参数 : 关键字参数可以不按照形参定义的顺序去传递,
而根据参数名进行传递
• 混合使用位置参数和关键字参数的时候必须将位置参数写到关键字参数前面去
• 传递实参时,也可以在序列类型的参数前添加星号,
这样它会自动的将序列中元素依次作为参数传递
• 要求序列中的元素的个数必须和形参的个数一致
函数的解包
def fun(a,b,c)
print(a)
print(b)
print(c)
t=(1,2,3)
fun(*t)
def fun(a,b,c)
print(a)
print(b)
print(c)
t=('a':1,'b':2,'c':3)
fun(**t)
def Print_name_card(name,phone,sex):
falg = True
while falg:
if name !='' and phone != '' and sex != '':
if len(name) < 6 or len(name) > 20:
print("您输入不符合规范姓名(6-20)长度,请重新输入姓名:")
name = input("请输入姓名:")
elif len(phone) != 11:
print("您输入不符合规电话号码(11)长度,请重新输入电话号码:")
phone = input("请输入电话:")
elif sex != '男' and sex != '女':
print("您输入不符合性别,请重新输入性别:")
sex = input("请输入性别:")
else:
Print_name_cards = """
姓名:%s,
电话:%s,
性别:%s
""" % (name, phone, sex)
print(Print_name_cards)
falg = False
else:
if name =='':
print("您的姓名不能为空")
name = input("请输入姓名:")
elif phone =='':
print("您的电话不能为空")
phone = input("请输入电话号码:")
elif sex =='':
print("您的性别不能为空")
sex = input("请输入性别:")
name = input("请输入姓名:")
phone = input("请输入电话:")
sex = input("请输入性别:")
Print_name_card(name,phone,sex)