python函式的基本使用

不太機靈的春天發表於2021-03-04

函式的基本使用

"""
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]
"""

相關文章