天天看點

Python入門之函數的介紹/定義/定義類型/函數調用/Return

 本篇目錄:

    一、 函數的介紹

    二、 函數的定義

    三、 定義函數的三種類型

    四、 函數調用的階段

    五、 Return傳回值

==========================================================================

一、 函數的介紹

  1. 什麼是函數?為什麼要有函數?

    1.1. 具備一個特定功能的工具(類比)>>>函數

    1.2  事先準備工具的過程(類比)>>>函數的定義

    1.3 工具直接拿來使用,使用其特定的功能>>>函數的調用

    1.4 沒有函數的話,程式會有以下缺點:

      a. 組織結構不清晰,可讀性差

      b. 管理維護難度大,擴充性差

      c. 代碼備援,重複

#1 定義函數
def print_sym(sym*count):
    print(sym*count)

def print_msg(msg):
    print('\033[35m%s\033[0m' %msg)      

二、函數的定義

  1. 函數的文法結構

    1.1 函數的結構,def是define的意思,代表定義

    def  函數名(參數1,參數2,參數3。。。):

    '''

    此處用來增加文檔描述,闡述函數的功能,增加可讀性

    '''
      代碼塊部分
      

    1.2 函數可以通過函數名直接調用,函數的命名必須能準備反應函數的功能

    1.3 代碼塊部分是函數功能實作的代碼

    注意點:

# 函數和變量都是占用記憶體位址,過程相似,但是函數并不是變量      

    

Python入門之函數的介紹/定義/定義類型/函數調用/Return

三、定義函數的三種類型

  1. 帶參函數

    1.1 參數是外部調用函數的部分傳入函數的值

    1.2 函數中的代碼塊邏輯中需要函數調用者傳入值     

def max2(x,y):
'''
  這是一個比較大小的函數,傳回較大的數
'''
    if x >y:
        print(x)
    else:
        print(y)

#調用函數max2
max2(100, 200)      
def auth(username,pwd):
'''
該函數用來驗證使用者輸入的使用者名和密碼
'''
    if username == inp_name and pwd == inp_pwd:
        print('登陸成功!')
    else:
        print('登陸失敗')

#調用auth()
auth()      
def interactive():
'''
該函數用來傳回使用者輸入的使用者名和密碼
'''
    inp_name = input('Username>>>:').strip()
    inp_pwd = input('Password>>>:').strip()
    return inp_name, inp_pwd

def auth(inp_name, pwd):
'''
該函數用來驗證return的結果是元組類型
'''
    res = interactive()
    x = res[0]
    y = res[1]
    print(x)
    print(y)      

  2. 無參函數

    1.1 函數本身定義無參數,調用者也不需要傳入參數

def print():
'''
該函數用來展示無參函數
'''
    print('\033[35m--------------------\033[0m')
    print('--------------不需要傳入參數------------')      

    1.2 函數體的代碼邏輯不需要函數的調用者傳入值

def auth():
'''
該函數用來展示無參函數
'''
    inp_name = input('Username>>>:').strip()
    inp_pwd = input('Password>>>:').strip()
    if username == inp_name and pwd == inp_pwd:
        print('登陸成功!')
    else:
        print('登陸失敗')

#調用auth()
auth()          

  3. 空函數

    什麼事都不做的函數就是一個空函數。

    即便是一個空函數,它也會有如下屬性:

    ['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__',     '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__',     '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',     '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals',     'func_name']

  

Python入門之函數的介紹/定義/定義類型/函數調用/Return
# Tips:當我們在寫程式的過程中,遇到一個卡殼的地方,我們可以在函數末尾加一個pass,暫時的跳過思維的斷路的地方。      

四、 函數調用的階段

  1. 調用守則: 必須先定義再調用

    定義階段不執行代碼,隻檢測文法

Python入門之函數的介紹/定義/定義類型/函數調用/Return

  2. 調用方式:函數名+括号

    調用階段根據函數名找到函數的記憶體位址,執行函數的代碼體

Python入門之函數的介紹/定義/定義類型/函數調用/Return

五、 Return傳回值

  1. 什麼時候該有傳回值

    函數代碼體執行完畢後,需要傳回一個結果給調用者

Python入門之函數的介紹/定義/定義類型/函數調用/Return

  2. Return傳回值的三種情況

    2.1 當函數代碼塊中沒有Return,傳回為None

Python入門之函數的介紹/定義/定義類型/函數調用/Return

    2.2 如果傳回值後跟一個值,就傳回值本身

Python入門之函數的介紹/定義/定義類型/函數調用/Return

    2.3 return傳回的值用逗号分割,傳回多個值,組成一個元組(類型)

Python入門之函數的介紹/定義/定義類型/函數調用/Return

    2.4 如果函數體内有多個Return,則傳回第一Return的值(Return代表函數結束)

# return傳回值沒有類型限制
# 函數内可以寫多個return,但是隻到第一個return就結束
# return是函數結束的标志      
上一篇: hdu5740