旅途 Python函式與集合

2021-10-05 12:36:30 字數 4519 閱讀 7710

函式不定長引數

引數的解包

#交集運算 &

s1 & s2

print

(s1 &s2)

# 並集 |

s1=s2=

print

(s1|s2)

# 差集運算 -

s1=s2=

print

(s1 - s2)

#s2中沒有的元素

print

(s2 - s1)

#s1中沒有的元素

# 異或集 ^

s1=s2=

print

(s1 - s2)

# s1、s2除去共有的

# <= :檢查乙個集合是否是另乙個集合的子集

s1 =

s2 =

result = s2 <= s1

print

(result)

# < :檢查乙個集合是否是另乙個集合的真子集

s1 =

s2 =

result = s2 < s1

print

(result)

# >= :檢查乙個集合是否是另乙個集合的超集

# > :檢查乙個集合是否是另乙個集合的真超集

語法

def 函式名(

[形參1

,形參2

,形參3..

..])

: **塊

注意:

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

print是函式物件 print()是呼叫函式

def

mine()

:print

('我的第乙個函式'

)print

(mine)

# 列印函式

mine(

)#呼叫函式,實現功能

# mine 是函式物件

# mine() 呼叫函式

# 定義乙個函式求任意兩個數的和

方法1def

addition()

: a =

int(

input

('輸入第乙個數:'))

b =int(

input

('輸入第二個數:'))

print

(a+b)

addition(

)#定義函式的時候,可以在()裡面定義數量不等的形參,有幾個形參,就有就幾個實參

方法2def

addition

(a,b)

:print

('a='

,a)print

('b='

,b)print

(a+b)

addition(2,

3)#a = 2,b =3。對應位置傳遞

函式的傳遞方式:

定義形參時,可以指定預設值

當使用者沒有傳遞引數則預設值生效,傳遞則不生效

def

fn(a,b=

4,c=20)

:print

('a='

,a)print

('b='

, b)

print

('c='

, c)

fn(1,2

)fn(1,

2,3)

def

fn(a,b=

4,c=20)

:print

('a='

,a)print

('b='

, b)

print

('c='

, c)

fn(c=

1,a=

2,b=

3)

def

fn(a,b=

4,c=20)

:print

('a='

,a)print

('b='

, b)

print

('c='

, c)

fn(2

,c=50

)

#實參可以是各種型別

deffn

(a,b=

4,c=20)

:print

('a='

,a)print

('b='

, b)

print

('c='

, c)

fn(c=

1,a=

2,b=3)

deffn2

(a):

print

('a='

,a)b=

123fn2(b)

b=false

fn2(b)

b='123e'

fn2(b)

fn2(fn)

deffn2

(a):

# 在函式中對形參賦值,不會影響其他變數

a=20print

('a='

,a)b=

123fn2(b)

print

('b='

,b)def

fn2(a)

:# 當a是乙個列表時,修改列表中的元素,通過形參修改時,會修改所有指向該形參的變數

a[0]

=20print

('a=',id

(a))b=[

1,2,

3]fn2(b.copy())

#副本:此時兩個沒有什麼影響copy()

print

('b=',id

(b))

fn2(b)

#這時候有影響

print

('b=',id

(b))

#定乙個函式求任意個數引數的函式

defaddition

(*a)

:print

('a='

,a,type

(a))

s =0#遍歷元組,獲得資料,將元素相加

for i in a:

s += i

print

(s)addition(1,

2,3,

4,5,

6,7)

deffn2

(a,b,

*c):

print

('a='

, a)

print

('b='

, b)

print

('c='

, c)

fn2(1,

2,3,

4,5)

deffn2

(a,*b,c)

:#只有這種寫法*b可以在中間

print

('a='

, a)

print

('b='

, b)

print

('c='

, c)

fn2(1,

2,3,

4,c=5)

deffn2

(*a,b,c)

:#只有這種寫法*a可以在開頭

print

('a='

, a)

print

('b='

, b)

print

('c='

, c)

fn2(1,

2,3,b=

4,c=5)

#不定長引數不一定都要在最後面,*後的引數,必須用關鍵字傳參來傳遞

#不定長引數不接受關鍵字引數此時需要**b,儲存在字典裡面:只能在最後

字典的key是引數的名字,value是引數的值

# *a處理的是位置引數

#**a處理關鍵字引數

deffn3

(**a)

:print

('a='

,a)fn3(a=

3,b=

4,c=

5)

def

fn2(a,b,c)

:print

('a='

, a)

print

('b='

, b)

print

('c='

, c)

#建立乙個元組

t =(20,

30,40)

fn2(t[0]

,t[1

],t[2]

)#普通操作

#傳遞實參的時候,也可以在序列型別的前面加*,這樣子會自動將序列的元素作為引數傳遞

#但是,必須要求序列元素和形參=個數保持一致

fn2(

*t)#建立乙個字典

s =#通過**對字典解包

fn2(

**s)

Python旅途 入門基礎

作為近幾年計算機程式語言中很火的python,是一種物件導向的動態型別語言,最初被設計用於編寫自動化指令碼 shell 隨著版本的不斷更新和語言新功能的新增,越來越多被用於獨立的 大型專案的開發。主要說一下作業系統吧,以下是我們常見的作業系統 mac1.解釋和編譯型語言 2.為什麼要安裝直譯器?3....

集合與函式

集合的定義 一堆東西 放在一起稱為集合,通常用大寫字母表示。描述方式 1.列舉 a 2.描述a 子集 a每乙個元素都在b中,稱為a為b的子集,記作a b。如果a b,且b a,則a b。如果a b,且a b,則a為b的真子集,記作a b。所以集合都包含的子集 空集 集合的運算 1.交集 a b 2....

集合與函式

1.集合中元素只能儲存不可變物件 2.集合中的元素是無序的 3.集合中的元素不能重複,如果重複集合也將會將元素自動去重。1.集合可用來表示,注意該方法裡面如果是空的將會變成是乙個空的字典。2.表示空的字典而不是表示空的集合。3.空集合的表現形式 set 1.使用方法set 可以建立集合 注意 該方法...