函式不定長引數
引數的解包
#交集運算 &
s1 & s2
(s1 &s2)
# 並集 |
s1=s2=
(s1|s2)
# 差集運算 -
s1=s2=
(s1 - s2)
#s2中沒有的元素
(s2 - s1)
#s1中沒有的元素
# 異或集 ^
s1=s2=
(s1 - s2)
# s1、s2除去共有的
# <= :檢查乙個集合是否是另乙個集合的子集
s1 =
s2 =
result = s2 <= s1
(result)
# < :檢查乙個集合是否是另乙個集合的真子集
s1 =
s2 =
result = s2 < s1
(result)
# >= :檢查乙個集合是否是另乙個集合的超集
# > :檢查乙個集合是否是另乙個集合的真超集
注意:語法
def 函式名(
[形參1
,形參2
,形參3..
..])
: **塊
函式名必須符合識別符號的規範(可以包含字母、數字、下劃線但是不能以數字開頭)
print是函式物件 print()是呼叫函式
def
mine()
('我的第乙個函式'
(mine)
# 列印函式
mine(
)#呼叫函式,實現功能
# mine 是函式物件
# mine() 呼叫函式
函式的傳遞方式:# 定義乙個函式求任意兩個數的和
方法1def
addition()
: a =
int(
input
('輸入第乙個數:'))
b =int(
input
('輸入第二個數:'))
(a+b)
addition(
)#定義函式的時候,可以在()裡面定義數量不等的形參,有幾個形參,就有就幾個實參
方法2def
addition
(a,b)
('a='
,a)print
('b='
,b)print
(a+b)
addition(2,
3)#a = 2,b =3。對應位置傳遞
定義形參時,可以指定預設值
當使用者沒有傳遞引數則預設值生效,傳遞則不生效
def
fn(a,b=
4,c=20)
('a='
,a)print
('b='
, b)
('c='
, c)
fn(1,2
)fn(1,
2,3)
def
fn(a,b=
4,c=20)
('a='
,a)print
('b='
, b)
('c='
, c)
fn(c=
1,a=
2,b=
3)
def
fn(a,b=
4,c=20)
('a='
,a)print
('b='
, b)
('c='
, c)
fn(2
,c=50
)
#實參可以是各種型別
deffn
(a,b=
4,c=20)
('a='
,a)print
('b='
, b)
('c='
, c)
fn(c=
1,a=
2,b=3)
deffn2
(a):
('a='
,a)b=
123fn2(b)
b=false
fn2(b)
b='123e'
fn2(b)
fn2(fn)
deffn2
(a):
# 在函式中對形參賦值,不會影響其他變數
a=20print
('a='
,a)b=
123fn2(b)
('b='
,b)def
fn2(a)
:# 當a是乙個列表時,修改列表中的元素,通過形參修改時,會修改所有指向該形參的變數
a[0]
=20print
('a=',id
(a))b=[
1,2,
3]fn2(b.copy())
#副本:此時兩個沒有什麼影響copy()
('b=',id
(b))
fn2(b)
#這時候有影響
('b=',id
(b))
#定乙個函式求任意個數引數的函式
defaddition
(*a)
('a='
,a,type
(a))
s =0#遍歷元組,獲得資料,將元素相加
for i in a:
s += i
(s)addition(1,
2,3,
4,5,
6,7)
deffn2
(a,b,
*c):
('a='
, a)
('b='
, b)
('c='
, c)
fn2(1,
2,3,
4,5)
deffn2
(a,*b,c)
:#只有這種寫法*b可以在中間
('a='
, a)
('b='
, b)
('c='
, c)
fn2(1,
2,3,
4,c=5)
deffn2
(*a,b,c)
:#只有這種寫法*a可以在開頭
('a='
, a)
('b='
, b)
('c='
, c)
fn2(1,
2,3,b=
4,c=5)
#不定長引數不一定都要在最後面,*後的引數,必須用關鍵字傳參來傳遞
#不定長引數不接受關鍵字引數此時需要**b,儲存在字典裡面:只能在最後
字典的key是引數的名字,value是引數的值
# *a處理的是位置引數
#**a處理關鍵字引數
deffn3
(**a)
('a='
,a)fn3(a=
3,b=
4,c=
5)
def
fn2(a,b,c)
('a='
, a)
('b='
, b)
('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 可以建立集合 注意 該方法...