五、作業
函式是帶名字的**塊,用於完成具體的工作。要執行函式定義的特定的任務,可呼叫該函式。需要在程式中多次的執行同一項任務時,無序反覆編寫完成該任務的**,只需要呼叫執行該任務的函式,讓python執行其中的**即可。你將發現,通過使用函式,程式編寫、閱讀、測試和修復起來更加容易。定義乙個函式,可以使用關鍵字def來告訴python,我要定義乙個函式,同時指出函式名。要呼叫時,只需要輸入函式名加上圓括號即可。
def
name()
:print
('hello world'
)name()
輸出:hello world
在括號中我們可以傳入引數,引數又分為實參和形參,在定義時傳入的引數叫形參,呼叫時傳入的引數叫實參。
def
student
(name)
:#這裡的name就是形參
print
(f'我的名字叫'
)student(
'張三'
)#這裡的張三就是實參
輸出:我的名字叫張三
函式的定義中可能包含多個形參,在函式呼叫中也可能包含多個實參,那在傳遞實參的時候,可以通過位置傳參,以及關鍵字傳參。
通過實參的順序來傳遞引數就叫位置傳參
def
student
(name,age)
:print
(f'我的名字叫,我今年歲了'
)student(
'張三'
,'20'
)輸出:我的名字叫張三,我今年20歲了
通過形參名與實參關聯起來進行傳參,這就是關鍵字傳參
def
student
(name,age)
:print
(f'我的名字叫,我今年歲了'
)student(age=
'20'
,name=
'張三'
)#這裡我將順序調換了,但依舊輸出的是我想要的型別
輸出:我的名字叫張三,我今年20歲了
編寫函式時,可以給每個形參指定預設值,在呼叫時,如果提供了實參,python將使用指定的實參值,否則,python將使用形參的預設值。
注意:使用預設值時,必須先在形參列表中列出沒有預設值的形參,在列出有預設值的實參
def
student
(name,age=20)
:print
(f'我的名字叫,我今年歲了'
)student(
'李四'
)輸出:我的名字叫李四,我今年20歲了
列印名片程式:輸入姓名,**號碼,性別,最後列印出來名片
• 控制姓名長度為6-20
• **號碼長度11
• 性別只能允許輸入男或女
• 每一樣資訊不允許為空
def
card
(name,phone,***):if
5<
len(name)
<21:
print
(name)
else
:print
('姓名長度應在6-20之間')if
len(phone)
==11
:print
(phone)
else
:print
('**號碼為十一位數'
)if *** ==
'男'or *** ==
'女':
print
(***)
else
:print
('性別只能輸入男或女'
)name =
input
('請輸入你的姓名:'
)phone =
input
('請輸入**號碼:'
)*** =
input
('請輸入你的性別'
)card(name,phone,***)
2、使用函式求前20個斐波那契數列斐波那契數列:1,1,2,3,5,8,13,21…即: 起始兩項均為1,此後的項分別為前兩項之和
def
feibo
(num)
: a,b =1,
1 list1 =
for i in
range
(num)
:if i ==0:
if i >0:
a,b = b,a+b
print
(list1)
feibo(
20)
3、編寫一段**,定義乙個函式求1-100之間所有整數的和,並呼叫該函式列印出結果
def
add():
a =0for i in
range
(101):
a += i
print
(a)add(
)
第八節 函式
函式的特性 減少 重複 使程式變得可擴充套件 使程式變得易維護 乙個函式只做一件事情 變數作用域 python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在 賦值的。變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4種,分別是 以 l...
python第八節(函式2)
內建函式 map zip 返回1 10的奇數列表 for i in range 1,10,2 print i li for i in range 1,10 if i 2 1 print i print li filter 過濾 defis odd n return n 2 1print list f...
編譯原理 第八節
分為兩大類 自頂向下分析 和 自底向上分析 其中前者又細分為 遞迴下降分析法 包含回溯的遞迴下降分析法和不含回溯的遞迴下降分析法 和非遞迴的 分析法 ll分析法 後者分為算符優先分析法和lr分析法。思想 從語法的開始符號出發,試探使用不同產生式,尋找匹配於輸入符號串的推導。或者說,從對應文法開始符號...