2021-02-02

集合简介

• 集合表现形式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)| 并集运算
• - 差集运算
• ^ 亦或集
• <= 检查一个集合是否是另一个集合的子集
• < 检查一个集合是否是另一个集合的真子集
• >=检查一个集合是否是另一个集合的超集
• >检查一个集合是否是另一个集合的真超集

函数

  1. 函数简介
    • 函数也是一个对象
    • 函数用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用
语法
def 函数名([形参1,形参2,形参3....]):
    代码块
函数名(实参) {
     有几个形参,就有几个实参}

注意

函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)
print是函数对象  print()是调用函数
  1. 函数的参数
    2.1 形参和实参
• 形参(形式参数) 定义形参就相当于在函数内部声明了变量,但是并不是赋值
• 实参(实际参数)指定了形参,那么在调用函数时必须传递实参,
实参将会赋值给对应的形参,简单来说有几个形参就要有几个实参

2.2. 函数的传递方式

• 定义形参时,可以为形参指定默认值。指定了默认值以后,如果用户传递了参数则默认值不会生效。如果用户没有传递,则默认值就会生效

 位置参数:位置参数就是将对应位置的实参赋值给对应位置的形参
 关键字参数 : 关键字参数可以不按照形参定义的顺序去传递,
而根据参数名进行传递
 混合使用位置参数和关键字参数的时候必须将位置参数写到关键字参数前面去
  1. 不定长参数
    • 定义函数时,可以在形参前面加一个*,这样这个形参可以获取到所有的实参,它会将所有的实参保存到一个元组中
    • 带*号的形参只能有一个,可以和其他参数配合使用
    • *形参只能接受位置参数,不能接受关键字参数
    • **形参可以接收其他的关键字参数,它会将这些参数统一保存到字典当中。字典的key就是参数的名字,字典的value就是参数的值
    • **形参只有一个,并且必须写在所有参数的后面
  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)

作业

  1. 打印名片程序:输入姓名,电话号码,性别,最后打印出来名片
    • 控制姓名长度为6-20
    • 电话号码长度11
    • 性别只能允许输入男或女
    • 每一样信息不允许为空
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)

你可能感兴趣的:(2021-02-02)