Python 基礎(chǔ):集合運算,可變對象, 函數(shù)

集合使用

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)鍵字
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容