成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python - 函數(shù)

fengxiuping / 2766人閱讀

摘要:例如是函數(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)用。


一、函數(shù)調(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ù)檢查

調(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ò)誤和異常的處理)

? thanks for watching, keep on updating...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42318.html

相關(guān)文章

  • 100 個(gè)基本 Python 面試問題第二部分(21-40)

    摘要:為我們提供了許多內(nèi)置函數(shù),例如并提供了創(chuàng)建用戶定義函數(shù)的能力。會(huì)將該變量視為函數(shù)級(jí)作用域中的局部變量?;氐侥夸浿泻瘮?shù)的用途是什么是中的內(nèi)置函數(shù)之一。請(qǐng)注意,這種類型的參數(shù)語法不允許將命名參數(shù)傳遞給函數(shù)。函數(shù)接受一個(gè)稱為的可選參數(shù)。 ...

    2450184176 評(píng)論0 收藏0
  • 100 個(gè)基本 Python 面試問題第二部分(41-60)

    摘要:回到目錄評(píng)論區(qū)抽粉絲送書啦歡迎大家在評(píng)論區(qū)提出意見和建議抽兩位幸運(yùn)兒送書,實(shí)物圖如下開發(fā)從入門到精通內(nèi)容簡(jiǎn)介案例教學(xué)。 ? 作者主頁:海擁 ? 作者簡(jiǎn)介:?CSDN...

    Tikitoo 評(píng)論0 收藏0
  • Python 調(diào)用 C 動(dòng)態(tài)鏈接庫,包括結(jié)構(gòu)體參數(shù)、回調(diào)函數(shù)

    摘要:調(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)...

    NickZhou 評(píng)論0 收藏0
  • C++開發(fā)python windows版本的擴(kuò)展模塊示例

    摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(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))...

    junfeng777 評(píng)論0 收藏0
  • C++開發(fā)python windows版本的擴(kuò)展模塊示例

    摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(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))...

    Meathill 評(píng)論0 收藏0
  • Python 2.x 與 Python 3.x 的區(qū)別

    摘要:官方也宣布在停止對(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...

    LittleLiByte 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<