python基礎 集合 函式一(入門篇 六)

2021-10-24 07:16:21 字數 4100 閱讀 2012

2.函式一

3.可變物件(列表)

4.總結

使用{}來建立集合可以通過set()來將序列和字典轉換成集合

# 集合建立放方法

s =s =

set(

"hello"

)# 括號裡面必須是可迭代的

'''集合只能儲存不可變物件(不能是列表這種可變物件)

集合中儲存的物件是無序的(是隨機的所以無法運用索引)

集合不能出現重複元素(含有重複元素只會出現一次)

'''

# len() 使用len()來獲取集合中元素的數量

s =print

(len

(s))

# 輸出為4

# add()像集合中新增元素

s =s.add(5)

print

(s)# 輸出為

# update()將乙個集合中的元素新增到另乙個集合當中

s =s2 =

s.update(s2)

print

(s)# 輸出為

# pop()隨機刪除集合中的乙個元素一般是刪除最後乙個元素

s =s.pop(

)print

(s)# 輸出為

# remove() 刪除集合中指定的元素

s =s.remove(3)

print

(s)# 輸出為

#clear() 清空集合

s =s.clear(

)print()

# 輸出為{}

s1 =

s2 =

s3 = s1 & s2 # & 交集運算

print

(s3)

# 輸出為

s3 = s1 | s2 # | 並集運算

print

(s3)

# 輸出為

s3 = s1 - s2 # - 差集運算

print

(s3)

# 輸出為

s3 = s1 ^ s2 # ^ 亦或集

print

(s3)

# 輸出為

s3 = s1 <= s2 # <= 檢查乙個集合是否是另乙個集合的子集

print

(s3)

# 輸出為false

s3 = s1 < s2 # < 檢查乙個集合是否是另乙個集合的真子集

print

(s3)

# 輸出為false

s3 = s1 >= s2 # >=檢查乙個集合是否是另乙個集合的超集

print

(s3)

# 輸出為false

s3 = s1 > s2 # >檢查乙個集合是否是另乙個集合的真超集

print

(s3)

# 輸出為false

是乙個物件函式

可以用來儲存一些可執行的**,並且可以在需要時,對這些語句進行多次呼叫語法。

# 語法:

def 函式名(

[形參1

,形參2

,形參3..

..])

: **塊

注意:函式名必須符合識別符號的規範(可以包含字母、數字、下劃線但是不能以數字開頭)

def

fn(a,b)

:# 定義函式fn(),a,b就是形參(形式引數),這裡有兩個形參。

s = a + b

print

(s)fn(1,

2)# 呼叫函式fn(),1,2是實參(實際引數)形參用了幾個實參就要用幾個,這裡用兩個實參。

def

fn(a,b,c=10)

:# 定義函式fn(),有a,b,c三個形參,其中c的預設值為10。

s = a + b + c

print

(s)fu(1,

2,3)

# 輸出為6

# 呼叫函式fn(),實參為1,2,3,因為使用者定義了三個實參,則優先使用使用者定義的實參c為3,而不是預設值10.

fu(1,2

)# 輸出為13

# 呼叫函式fn(),實參為1,2,使用者沒有定義c的實參,所以c應該使用的是預設值10.

# 位置引數就是將對應位置的實參賦值給對應位置的形參。

deffn

(a,b,c)

:# 定義函式fn(),有a,b,c三個形參。

s = a + b + c

print

(s)fu(1,

2,3)

# 輸出為6

# 三個形參三個實參,實參1對應形參a,實參2對應形參b,實參3對應形參c,實參與形參的位置是一一對應的,按照形參定義的順序傳遞。

# 關鍵字引數可以不按照形參定義的順序去傳遞,而根據引數名進行傳遞。

deffn

(a,b,c)

:# 定義函式fn(),有a,b,c三個形參。

s = a + b + c

print

(s)fu(a=

1,b=

2,c=3)

# 輸出為6

# 不按照形參定義的順序傳遞,而根據引數名進行傳遞。

# 混合使用位置引數和關鍵字引數的時候必須將位置引數寫到關鍵字引數前面去

deffn

(a,b,c)

:# 定義函式fn(),有a,b,c三個形參。

s = a + b + c

print

(s)fu(a,b,c=3)

# 輸出為6

函式呼叫時直譯器不會檢查實參的型別,實參可以傳遞任意型別,但在計算過程中會出現型別因素而報錯,所以可以傳入任意型別,但計算會因為型別不同而報錯。

def

fn(a)

:# 定義函式fn(),有a,b,c三個形參。

print

(a)b =

1b =

'1'b =

none

b = ture

fu(b)

# 呼叫函式時,實參b可以是任意型別,整數型,字串,布林型,空值。

deffn

(a,b)

:# 定義函式fn(),有a,b,c三個形參。

s = a + b

print

(s)fu(

10,'11'

)# 報錯

# 實參可以傳入整數型和字串型,但在計算過程中,整數型和字串不能進行算術運算所以會報錯

列表是乙個可變物件

(改變變數所對應的列表中元素的值,變數所指物件不變,列表的id不變)

(將新的列表賦值給變數,變數所指向的物件改變,id改變,為新列表的id,之前的列表id被系統**)

a =[1

,2,3

]# 定義列表

print(id

(a))

# 觀察列表ida[0

]=4# 修改列表中的值

print

(a)# 輸出修改後的列表

print(id

(a))

# 觀察修改後變數所指物件列表的id值

# 觀察原來和修改後的id值,發現id值不變,說明修改列表中的值不會改變列表的id值,則變數所指物件不變,修改前的修改後是同乙個物件。

a =[1,

2,3]

# 定義列表

print(id

(a))

# 觀察列表id

a =[2,

3,4]

# 給變數a賦值乙個新的列表

print(id

(a))

# 觀察賦值後變數所指物件列表的id值

# 發現賦值後變數的id值改變,說明給變數a重新賦值列表,變數a則會指向新的物件(賦值列表的id值)賦值前和賦值後是兩個物件。

python入門基礎 集合

不允許有重複元素,如果新增重複元素,則會自動過濾,可以進行交集 並集的運算。s1 set 空集合 不能是 這是字典 s2 print s1 print set 30,40,50 通過列表建立 print set 11,22,33 通過元組建立 print set hello 通過字串建立 print...

Python基礎入門 集合(set)

1.是否為序列型別 即該資料的元素是否能夠索引.其中序列型別的包括str list tuple 2.是否可以原處修改 即該資料的元素是否能夠原處修改 特別提醒看官,這裡說的是原處修改問題,有的資料裡面說str不能修改,也是指原處修改問題.為了避免誤解,特別強調了原處 能夠原處修改的list dict...

Python基礎入門(十一) 集合set

1 什麼是set 1 與dict 字典 區別 dict的作用是建立一組 key 和一組 value 的對映關係,dict的key是不能重複的。set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重複,而且是無序的,這點和 dict 的 key很像。2 建立 set 的方式 呼叫 s...