摘要:例如是函數(shù)的別名二函數(shù)定義語法形式定義關(guān)鍵字。中將函數(shù)的聲明和定義視為一體,函數(shù)由聲明的標(biāo)題行和定義體組成。函數(shù)名參數(shù)列表函數(shù)體注意函數(shù)的返回值用關(guān)鍵字進(jìn)行返回。中不允許在函數(shù)未聲明定義前,對其進(jìn)行引用或者調(diào)用。使用語句函數(shù)名。
函數(shù),function,是一段代碼的集合體。是Python為了代碼最大程度的重用、減小代碼冗余而提供的最基本的程序結(jié)構(gòu)。
Python是一門面向?qū)ο蟮木幊陶Z言,對函數(shù)進(jìn)行分類和封裝,由對象實現(xiàn)對方法的調(diào)用。
在此之前,我們已經(jīng)接觸過一部分Python的Built-in內(nèi)建函數(shù),例如abs()、max()、min()、int()等。
要實現(xiàn)調(diào)用一個函數(shù),必須先知道函數(shù)的名稱以及所需要的參數(shù)信息。對于內(nèi)建函數(shù),可以通過命令help(func_name)查看函數(shù)的幫助信息。
通過函數(shù)名實現(xiàn)調(diào)用,其中的函數(shù)名其實就是指向一個函數(shù)的對象引用,可以把函數(shù)名賦給任何一個變量,相當(dāng)于給這個函數(shù)起了一個別名。
例如:
>>> a = abs # a 是函數(shù)abs()的別名 >>> a(-1) 1二、函數(shù)定義
語法形式
定義關(guān)鍵字def。Python中將函數(shù)的聲明和定義視為一體,函數(shù)由聲明的標(biāo)題行和定義體組成。
def 函數(shù)名(參數(shù)列表): 函數(shù)體 return sth.
【注意】:
函數(shù)的返回值用return關(guān)鍵字進(jìn)行返回。若沒有顯示的使用return,則默認(rèn)返回None。
函數(shù)的返回值是一個tuple類型的值。返回一個值時,括號省略;返回多個值時,為同一個tuple接收,把位置賦給相應(yīng)的值。如果要返回一個list的值,則需要顯示地使用“[]”進(jìn)行修改。
前向引用。Python中不允許在函數(shù)未聲明定義前,對其進(jìn)行引用或者調(diào)用。
【例子一】自定義一個求絕對值的函數(shù)為例:
>>> def my_abs(x): ... if x>= 0: ... return x ... else: ... return –x >>> my_abs(-3) 3
定義一個空函數(shù)
如何定義一個空函數(shù)?使用pass關(guān)鍵字。
pass語句用來作為占位符。
什么時候使用呢?一般是比如說這段代碼還沒想好怎么寫,可以使用pass讓代碼能運行起來。
def nop(): pass三、import 調(diào)用
函數(shù)定義完成后,把函數(shù)寫入到***.py文件中保存。進(jìn)入到該存放路徑下,啟動Python解釋器。
使用語句“from py_file_name import 函數(shù)名”。
import 語句可以導(dǎo)入需要的Python模塊,例如 import time;
也可以從模塊中導(dǎo)入某部分,from time import sleep,ctime;
也可以導(dǎo)入某個自定義的模塊或者模塊中的函數(shù)等。
有時候工程模塊存在層級目錄結(jié)構(gòu),而只需要導(dǎo)入工程中下的某文件的某部分,則可以使用“.”進(jìn)行導(dǎo)入,例如:
from 工程名層級.test_function import TestFunc
調(diào)用函數(shù)時,需要對函數(shù)的參數(shù)列表進(jìn)行檢查。
如果參數(shù)個數(shù)不對,python解釋器會自動檢查出來,并拋出TypeError。但如果參數(shù)類型不對,python解釋器就無法幫助檢查。
內(nèi)置函數(shù)
內(nèi)置函數(shù)參數(shù)類型不對時:
>>> abs("a") Traceback (most recent call last): File "", line 1, in TypeError: bad operand type for abs(): "str"
自定義函數(shù)
若函數(shù)定義沒有參數(shù)檢查,則出錯信息在下一句,與內(nèi)置函數(shù)不一樣,說明函數(shù)定義不夠完善。
def my_abs(x): if x>= 0: return x else : return -x >>> my_abs("a") Traceback (most recent call last): File "", line 1, in File "D:Python_project est1.py", line 2, in my_abs if x>= 0: (if語句報的錯) TypeError: ">=" not supported between instances of "str" and "int"
改為如下:
def my_abs1(x): if not isinstance(x,(int , float )): # 參數(shù)類型檢查 raise TypeError("not the type") # 拋出錯誤并提示“not the type” if x >=0: return x else: return -x >>> my_abs1("a") Traceback (most recent call last): File "", line 1, in File "D:Python_project est1.py", line 11, in my_abs1 raise TypeError("not the type") TypeError: not the type # (錯誤和異常的處理)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/42318.html
摘要:為我們提供了許多內(nèi)置函數(shù),例如并提供了創(chuàng)建用戶定義函數(shù)的能力。會將該變量視為函數(shù)級作用域中的局部變量?;氐侥夸浿泻瘮?shù)的用途是什么是中的內(nèi)置函數(shù)之一。請注意,這種類型的參數(shù)語法不允許將命名參數(shù)傳遞給函數(shù)。函數(shù)接受一個稱為的可選參數(shù)。 ...
摘要:回到目錄評論區(qū)抽粉絲送書啦歡迎大家在評論區(qū)提出意見和建議抽兩位幸運兒送書,實物圖如下開發(fā)從入門到精通內(nèi)容簡介案例教學(xué)。 ? 作者主頁:海擁 ? 作者簡介:?CSDN...
摘要:調(diào)用以回調(diào)函數(shù)地址為參數(shù)的函數(shù)這個主題就稍微繞一些了,也就是說在接口中,需要傳入回調(diào)函數(shù)作為參數(shù)。這個問題在中也可以解決,并且回調(diào)函數(shù)可以用定義。代碼代碼很簡單回調(diào)函數(shù)的傳入?yún)?shù)為,返回參數(shù)也是。 項目中要對一個用 C 編寫的 .so 庫進(jìn)行邏輯自測。這項工作,考慮到靈活性,我首先考慮用 Python 來完成。 研究了一些資料,采用 python 的 ctypes 來完成這項工作。已經(jīng)...
摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個整形數(shù),這里會申請空間增加引用計數(shù),交由來管理這個引用。 C++開發(fā)python windows版本的擴(kuò)展模塊示例測試環(huán)境介紹和準(zhǔn)備測試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費)相關(guān)工具下載:VS版本vs2015社區(qū)版(免費)...
摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個整形數(shù),這里會申請空間增加引用計數(shù),交由來管理這個引用。 C++開發(fā)python windows版本的擴(kuò)展模塊示例測試環(huán)境介紹和準(zhǔn)備測試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費)相關(guān)工具下載:VS版本vs2015社區(qū)版(免費)...
摘要:官方也宣布在停止對的維護(hù)。并且在很多面試過程中,面試官都會問與的區(qū)別。的版本,常被稱為,或簡稱。與部分地支持這種形式的語法。捕獲異常的語法由改為。在中,表示八進(jìn)制字面量的方式只有一種,就是。已經(jīng)支援新的模組。 前言 如果你是剛接觸 Python 的初學(xué)者,那你可能是直接學(xué)習(xí) Python 3.x 版本。對于 Python 2.x 的版本是不會有所接觸。官方也宣布在 2020 停止對 P...
閱讀 1097·2023-04-25 23:55
閱讀 2782·2023-04-25 14:13
閱讀 3361·2019-08-26 13:47
閱讀 3035·2019-08-23 18:16
閱讀 678·2019-08-23 17:20
閱讀 3277·2019-08-23 16:55
閱讀 3224·2019-08-22 15:39
閱讀 3266·2019-08-20 18:10