函式的基本使用
"""
1,什麼是函式?
函式就相當於具備某一功能的工具
函式的使用必須遵循一個原則:先定義、後呼叫
2,為什麼要用函式
組織結構不清晰,可讀性差
程式碼冗餘
可維護性、擴充套件性差
3,如何用函式
先定義:三種定義方式
後呼叫:三種呼叫方式
4,函式的返回值
三種返回方式
"""
定義函式
"""
函式的使用必須遵循‘先定義,後呼叫’的原則。函式的定義就相當於事先將函式體程式碼儲存起來,然後將記憶體地址賦值給函式名,函式名就是對這段程式碼的引用,這和變數的定義是相似的。沒有事先定義函式而直接呼叫,就相當於在引用一個不存在的‘變數名’。
定義函式的語法
def 函式名(引數1,引數2,..):
"""文件描述"""
函式體
return 值
1,def:定義函式的關鍵字;
2,函式名:函式名指向函式記憶體地址,是對函式體程式碼的引用。函式的命名應該反映出函式的功能;
3,括號:括號就是觸發函式體程式碼的執行,括號內定義引數,引數是可有可無的,而且無需指定引數的型別;
4,冒號;括號後要加冒號,然後在下一行開始縮排編寫函式體的程式碼;
5,"""文件描述""":描述函式功能,引數介紹等資訊的文件,非必要,但是建議加上,從而增強函式的可讀性;
6,函式體:由語句和表示式組成;
7,return值:定義函式的返回值,return是可有可無的。
"""
函式的三種形式
"""
1,無參函式
例如:
def func():
print('hello')
應用:
def func():
name = input("請輸入姓名:").strip()
age = input("請輸入年齡:").strip()
gender = input("請輸入性別:").strip()
msg = '姓名:{} 年齡:{} 性別:{}' .format(name,age,gender)
print(msg) # 相當於存放了一段程式碼
func() # 呼叫函式
2,有參函式
例如:
def func(x,y):
print(x,y)
func(1,2)
3,空函式
函式體為pass代表什麼都不做,稱為空函式。定義空函式通常是有用的,因為在程式設計的開始,往往是先想好程式都需要完成什麼功能,然後把所有功能都列舉出來用pass充當函式體‘佔位符’,這將使得程式的體系結構立見,清晰且可讀性強。
例如:
def func(x,y):
pass
ps:空函式,函式體程式碼為pass
應用:
def auth_user():
"""user authentication function"""
pass
def download_file():
"""download file function"""
pass
def upload_file():
"""upload file function"""
pass
ps:在規劃階段使用
"""
函式的呼叫
"""
函式的使用分為定義階段與呼叫階段,定義函式時只檢測語法,不執行函式體程式碼,函式名加括號即函式呼叫,只有呼叫函式時才會執行函式體程式碼。
定義階段:
def func():
print('in the func')
def foo():
print('in the foo')
func()
foo() # 呼叫階段
執行結果:
in the fun
in the foo
"""
函式的返回值
"""
return是函式結束的標誌,即函式體程式碼一旦執行到return會立即終止函式的執行,並會將return的值當作本次執行的結果返回給呼叫者,return後無值或直接省略return,則預設返回None,return的返回值無型別限制,且可以將多個返回值放到一個元組內。
1.返回None
函式體內沒有return
return
return None
2,返回一個值:
def func():
return 10
3,返回多個值
def func():
return 10,'aa',[1,2]
"""