集合使用
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<b #True
可變對象
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
函數(shù)
- 函數(shù)簡介
函數(shù)也是一個對象
函數(shù)用來保存一些可執(zhí)行的代碼,可多次調(diào)用
fn是函數(shù)對象,fn() 調(diào)用此函數(shù)
def 函數(shù)名([形參1,...]):
代碼塊
def fn():
print('My first function')
fn()
- 函數(shù)的參數(shù)
形參相當于在函數(shù)內(nèi)部聲明了變量,但沒有賦值
有幾個形參 就要對應(yīng)傳幾個實參
def s(a,b):
print(a+b)
s(4,3)
>>7
- 函數(shù)的傳遞方式
1默認值沒有傳遞時生效
2函數(shù)的傳遞方式 位置參數(shù)就是將對應(yīng)位置上的實參傳給位置上的形參
def fn(a,b,c=20):
print('a=',a)
print('b=',b)
print('c=',c)
fn(1,2)
3關(guān)鍵字傳參:可以不按照定義的順序傳遞,根據(jù)參數(shù)名來傳參
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位置參數(shù)和關(guān)鍵字參數(shù)混用,但必須將位置參數(shù)寫在前面
5參數(shù)可以是各種類型,但函數(shù)計算時要避免錯誤
6.在函數(shù)中對形參進行賦值,不會影響其他變量
7.通過形參賦一個對象的值(可變對象)時,會影響到所指向該對象的變量 列表C : c.copy 或切片c[:]
不定長參數(shù)
- 定義一個函數(shù)的時候,可以在形參的前面加上一個* ,這樣這個形參將會獲取到所有的實參會保存到一個元組當中
- *a會接受所有位置的實參,并將這些實參統(tǒng)一保存到一個元組當中,只能有一個帶參數(shù)
def s(*a):
r=0
for n in a:
r+=n
print(r)
s(1,23,435)
>>459
- ** 形參可以接受其他關(guān)鍵字參數(shù),保存到字典當中,只能有一個,必須放在參數(shù)最后
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 形參==》接收位置參數(shù)
**keywords ==》解決關(guān)鍵字