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