Python 基础:集合运算,可变对象, 函数

集合使用

in 和not in
s={'a','b',1,2,3}
print('a' in s)
>> True
print(len(s))
>>
add() 向集合中添加元素
s={'a','b',1,2,3}
s.add(4)
print(s)
update() 将一个集合中元素添加到另一个集合中
s={'a','b',1,2,3}
s2=set('hello')
s.update(s2)
pop 删除随机元素
r=s.pop()
remove() 删除集合中指定元素 无返回值
clear() 清空集合
交集运算s1&s2
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1&s2 #交集
并集运算s1|s2
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1|s2 #并集
差集运算s1-s2
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1-s2 #差集
异或集运算s1^s2:集合里面不相交的部分
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1^s2 #异或集
>>{1,2,5,7,8,9}
<= 检查是否是子集
< 检查是否是真子集
>= 检查是否是超集
> 检查是否是真超集
a={1,2,3}
b={1,2,3,4,5}
r=a<=b  #True
r=a

可变对象

1.id(标识)
2.type(类型)
3.value( 值)==》可变

列表就是可变对象

a=[1,2,3]
a[0]=10 (改的是对象里面的value,通过变量修改对象的值,不会改变变量所指向的对象)
a=[6,5,4] (改的是对象的变量,给变量重新赋值,会给变量指向新的对象)

a=[1,2,3]
print('修改前',a,id(a))
a[0]=10
print('修改后',a,id(a))
a=[8,9,13]
print('重新赋值后',a,id(a))
>>>修改前 [1, 2, 3] 2954855408200
>>>修改后 [10, 2, 3] 2954855408200
>>>重新赋值后 [8, 9, 13] 2954855408264

函数

  • 函数简介
    函数也是一个对象
    函数用来保存一些可执行的代码,可多次调用
    fn是函数对象,fn() 调用此函数
    def 函数名([形参1,...]):
    代码块
def fn():
     print('My first function')
fn()
  • 函数的参数
    形参相当于在函数内部声明了变量,但没有赋值
    有几个形参 就要对应传几个实参
def s(a,b):
    print(a+b)
s(4,3)
>>7
  • 函数的传递方式
    1默认值没有传递时生效
    2函数的传递方式 位置参数就是将对应位置上的实参传给位置上的形参
def fn(a,b,c=20):
   print('a=',a)
   print('b=',b)
   print('c=',c)
fn(1,2)

3关键字传参:可以不按照定义的顺序传递,根据参数名来传参

def fn(b=1,c=20,a=13):
   print('a=',a)
   print('b=',b)
   print('c=',c)
fn()
>>a= 13
>>b= 1
>>c= 20

4位置参数和关键字参数混用,但必须将位置参数写在前面
5参数可以是各种类型,但函数计算时要避免错误
6.在函数中对形参进行赋值,不会影响其他变量
7.通过形参赋一个对象的值(可变对象)时,会影响到所指向该对象的变量 列表C : c.copy 或切片c[:]

不定长参数
  • 定义一个函数的时候,可以在形参的前面加上一个* ,这样这个形参将会获取到所有的实参会保存到一个元组当中
  • *a会接受所有位置的实参,并将这些实参统一保存到一个元组当中,只能有一个带参数
def s(*a):
     r=0
    for n in a:
        r+=n
   print(r)
s(1,23,435)
>>459
  • ** 形参可以接受其他关键字参数,保存到字典当中,只能有一个,必须放在参数最后
def s(**a):
   print('a=',a)
s(b=1,a=3,c=4)
>>a= {'b': 1, 'a': 3, 'c': 4}
  • 解包
def fn(a,b,c,):
  print('a=',a)
  print('b=',b)
  print('c=',c)
t=(4,5,6)
d= {'b': 1, 'a': 3, 'c': 4}
fn(*t)
fn(**d)
  • args 形参==》接收位置参数
    **keywords ==》解决关键字

你可能感兴趣的:(Python 基础:集合运算,可变对象, 函数)