精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python3函數知識大全包括定義,調用,參數,變量等詳細舉例說明

馬哥Linux運維 ? 來源:未知 ? 作者:易水寒 ? 2018-06-02 10:33 ? 次閱讀

函數是組織好的,可重復使用的,用來實現(xiàn)單一,或相關聯(lián)功能的代碼段。

函數能提高應用的模塊性,和代碼的重復利用率。Python提供了許多內建函數,比如print()。但也可以自己創(chuàng)建函數,這被叫做用戶自定義函數。

Python3函數知識大全包括定義,調用,參數,變量等詳細舉例說明

1.函數的定義:

你可以定義一個由自己想要功能的函數,以下是簡單的規(guī)則:

函數代碼塊以def關鍵詞開頭,后接函數標識符名稱和圓括號()。

任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用于定義參數。

函數的第一行語句可以選擇性地使用文檔字符串—用于存放函數說明。

函數內容以冒號起始,并且縮進。

pass關鍵字,代表什么都不干

exit(num) 強行退出(num:是一個數字,顯示為退出碼)

return [表達式]結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None。

語法

def functionname( parameters ): function_suite return [expression]

默認情況下,參數值和參數名稱是按函數聲明中定義的的順序匹配起來的。

舉例1:

def add(x, y):print(“x = {0}”.format(x))print(“x = {0}”.format(x))print(“x + y = {0}”.format(x+y))return x+y

舉例2:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/4/14 20:31# @Author : Feng Xiaoqing# @File : demo1.py# @Function: -----------def f(x,l=[]): for i in range(x): l.append(i*i) print(l)# f(2) = f(2, l=[])f(2)# 結果:[0, 1]f(3,[3,2,1])# 結果: [3, 2, 1, 0, 1, 4]f(x=3, l=[])# 結果: [0, 1, 4]

運行結果:

[0, 1][3, 2, 1, 0, 1, 4][0, 1, 4]

2.函數的調用

定義一個函數只給了函數一個名稱,指定了函數里包含的參數,和代碼塊結構。

這個函數的基本結構完成以后,你可以通過另一個函數調用執(zhí)行,也可以直接從Python提示符執(zhí)行。

如下實例調用了add()函數:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/4/15 21:01# @Author : Feng Xiaoqing# @File : demo2.py# @Function: -----------# 自定義加法函數add()def add(x,y): print("{0} + {1} = {2}".format(x,y,x+y)) return print("finished") #在return后不會執(zhí)行這條語句# 調用函數,計算2+3的得數add(2,3)

運行結果:

2 + 3 = 5

3.函數的參數

形式參數和實際參數

在定義函數時,函數名后面,括號中的變量名稱叫做形式參數,或者稱為"形參"

在調用函數時,函數名后面,括號中的變量名稱叫做實際參數,或者稱為"實參"

def fun(x,y): //形參 print(x + y) fun(1,2) //實參 3 fun('a','b') ab

函數默認參數:

缺省參數(默認參數)

def fun(x,y=100) print x,y#調用:fun(1,2)fun(1)

定義:

#!/usr/bin/env python# -*- coding: utf-8 -*-def fun(x=2,y=3): print x+y

調用:

fun()#結果:5fun(23)#結果26fun(11,22)#結果:33

我們經常在看別人的代碼中,經常出現(xiàn)def(*args, **kwargs)這樣的表現(xiàn)形式:

*args 指的是:tuple (1, )**kwargs 指的是:dict {“k”: “v”}fun(*args, **keargs)fun(1, 2, 3, 4, 5, a=10, b=40)

4.函數的返回值

函數返回值:

函數被調用后會返回一個指定的值

函數調用后默認返回None

return返回值

返回值可以是任意類型

return執(zhí)行后,函數終止

return與print區(qū)別

#!/usr/bin/env python# -*- coding:utf-8 -*-def fun(): print 'hello world' return 'ok' print 123fun()#結果hello world123None

5.函數的變量

局部變量和全局變量:

Python中的任何變量都有特定的作用域

在函數中定義的變量一般只能在該函數內部使用,這些只能在程序的特定部分使用的變量我們稱之為局部變量

在一個文件頂部定義的變量可以供文件中的任何函數調用,這些可以為整個程序所使用的變量稱為全局變量。

def fun(): x=100 print xfun()x = 100def fun(): global x //聲明 x +=1 print xfun()print x

外部變量被改(x由100改為101):

x = 100def fun(): global x x += 1 print (x)fun()print (x)#結果101101

內部變量外部也可用:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/4/15 21:33# @Author : Feng Xiaoqing# @File : demo2.py# @Function: -----------x = 100def fun(): global x x +=1 global y y = 1 print(x)fun()print(x)print(y)#結果:1011011

統(tǒng)計程序中的變量,返回的是個字典

#!/usr/bin/env python# -*- coding:utf-8 -*-x = 100def fun(): x = 1 y = 1 print(locals())fun()print (locals())

結果:

{'y': 1, 'x': 1}{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x02FF6390>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'D:/PycharmProjects/PythonLive/untitled/day07/demo2.py', '__cached__': None, 'x': 100, 'fun': }

6.匿名函數

顧名思義就是沒有名字的函數,那為什么要設立匿名函數,他有什么作用呢?lambda 函數是一種快速定義單行的最小函數,可以用在任何需要函數的地方

python 使用 lambda 來創(chuàng)建匿名函數。

lambda只是一個表達式,函數體比def簡單很多。

lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。

lambda函數擁有自己的命名空間,且不能訪問自有參數列表之外或全局命名空間里的參數。

雖然lambda函數看起來只能寫一行,卻不等同于C或C++的內聯(lián)函數,后者的目的是調用小函數時不占用棧內存從而增加運行效率。

語法

lambda函數的語法只包含一個語句,如下:

lambda [arg1 [,arg2,.....argn]]:expression

舉例:

求兩數的乘積:

常規(guī)寫法:

def fun(x,y) return x*y

lambda版本寫法:

r = lambda x,y:x*y

7.高階函數

(1)map(f, list)

返回每個元素通過f計算完的value的list

map()函數接收兩個參數,一個是函數,一個是序列,map將傳入的函數依次作用到序列的每個元素,并把結果作為新的list返回。

舉例:計算列表里值的平方

#!/usr/bin/env python# -*- coding:utf-8 -*-def f(x): return x*xfor i in map(f,[1,2,3,4,5,6,7]): print(i)

結果:

14916253649

(2)reduce(f,list)函數(求list中數的和)

reduce把一個函數作用在一個序列[x1, x2, x3...]上,這個函數必須接收兩個參數,reduce把結果繼續(xù)和序列的下一個元素做累積計算,其效果就是:

舉例:計算列表中所有數的和

#!/usr/bin/env python# -*- coding:utf-8 -*-from functools import reduce #導入reduce函數def f(x,y): return x+yprint(reduce(f,[1,2,3,4,5,6,7,8,9,10]))print(reduce(f,range(1,101)))#結果:555050

(3)filter()函數(過濾)

filter函數接收一個函數f和一個list,函數f的作用是對每個元素進行判斷,返回True或者False,filter()根據判斷結果自動過濾掉不符合條件的元素,返回符合要求的元素組成的list

filter(lamdba x: x%2 ==1, [1, 2, 3, 4, 5])

舉例:計算list中小于7的數

#!/usr/bin/env python# -*- coding:utf-8 -*-for i in filter(lambda x:x<7, [1, 2, 3, 4, 5,40,8]): ? ?print(i)#結果:12345

(4)sorted()函數(排序)

sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

# sorted(iterable, key, reverse)# iterable 一個可迭代的對象# key 對什么進行排序# reverse bool類型,如果為true為反序, 默認為false# 返回值是一個list

舉例:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/4/15 22:47# @Author : Feng Xiaoqing# @File : demo3.py# @Function: -----------m = dict(a=1, c=10, b=20, d=15)print(sorted(m.items(), key = lambda d:d[1],reverse = True)) #按value值倒序排列#結果:[('b', 20), ('d', 15), ('c', 10), ('a', 1)]

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4307

    瀏覽量

    62432
  • 代碼
    +關注

    關注

    30

    文章

    4750

    瀏覽量

    68357
  • python3
    +關注

    關注

    0

    文章

    18

    瀏覽量

    3892

原文標題:最全 Python3 函數知識點大全

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一文詳解python調用函數

    函數定義后,本身是不會自動執(zhí)行的,只有在被調用后,函數才會被執(zhí)行,得到相應的結果。但是在 Python 中我們要注意一個關鍵點,就是
    發(fā)表于 10-01 10:45 ?626次閱讀

    python2和python3同時安裝的詳細步驟

    整理下python2和python3同時安裝詳細步驟希望對大家有幫助坑已踩過(親測可用?。。。?/div>
    發(fā)表于 10-27 09:31

    安裝python3的步驟

    我的只按照下面的鏈接到了安裝python3的前一步,安裝python3以及后面還沒弄。文章參考鏈環(huán)境說明操作系統(tǒng):macOS High Sierra這是我電腦系統(tǒng)的版本,理論上支持Mac的所有版本燒錄代碼到單片機安裝sdccsd
    發(fā)表于 11-19 06:43

    舉例說明如何使用TIME.SETUP() 中的新選項?

    很高興看到現(xiàn)在我們可以在 TIME.SETUP() 中指定 NTP 服務器! 我搜索了文檔,但我認為它還沒有實現(xiàn)。 然后我在源代碼中看到這個函數最多可以有 3參數。但是如果我在我的國家使用一個 NTP 服務器,時間會是正確的
    發(fā)表于 04-26 08:38

    python2與python3問題的分析

    這個問題困擾了我很久,也是在一次偶然的機會解決了?,F(xiàn)在就與大家分享一下,對于又想用python2又想用python3的小伙伴可以看看。 其實,這個方法也是挺簡單的。我使用的是python
    發(fā)表于 11-28 10:01 ?1038次閱讀

    python數組的使用詳細函數資料說明

    本文檔的主要內容詳細介紹的是python數組的使用詳細函數資料說明
    發(fā)表于 01-18 11:20 ?15次下載
    <b class='flag-5'>python</b>數組的使用<b class='flag-5'>詳細</b><b class='flag-5'>函數</b>資料<b class='flag-5'>說明</b>

    Python私有變量定義方法

    屬性,如init?,?__import__或是file?。只有當文檔有說明時使用,不要自己定義這類變量。其實,Python并沒有真正的私有化支持,用下劃線得到的也是偽私有,因此,在
    發(fā)表于 02-13 16:49 ?1649次閱讀

    C語言程序設計教程課件之函數詳細資料說明

    本文檔詳細介紹的是C語言程序設計教程課件之函數詳細資料說明主要內容包括了:1.概述,2.函數
    發(fā)表于 02-28 10:35 ?3次下載
    C語言程序設計教程課件之<b class='flag-5'>函數</b>的<b class='flag-5'>詳細</b>資料<b class='flag-5'>說明</b>

    C語言函數的實驗詳細資料說明

    實驗目的和要求(1)掌握C語言函數定義方法、函數的聲明及函數調用方法。(2)掌握函數實參和形
    發(fā)表于 12-06 08:00 ?4次下載
    C語言<b class='flag-5'>函數</b>的實驗<b class='flag-5'>詳細</b>資料<b class='flag-5'>說明</b>

    C語言教程之函數詳細資料說明

    本文檔的主要內容詳細介紹的是C語言教程之函數詳細資料說明包括了:1 函數概述 ,2 函 數
    發(fā)表于 03-21 15:39 ?9次下載
    C語言教程之<b class='flag-5'>函數</b>的<b class='flag-5'>詳細</b>資料<b class='flag-5'>說明</b>

    python定義函數調用函數的順序

    定義函數調用函數的順序 函數定義后,本身是不會自動執(zhí)行的,只有在被
    的頭像 發(fā)表于 10-04 17:17 ?1286次閱讀

    Python 函數參數分類

    文章應該對你會有不小的幫助。 接下來是正文。 1. 參數分類 函數,在定義的時候,可以有參數的,也可以沒有參數。 從
    的頭像 發(fā)表于 10-21 10:45 ?698次閱讀

    python如何定義一個函數

    一、Python3 函數 函數是組織好的,可重復使用的,用來實現(xiàn)單一,或相關聯(lián)功能的代碼段。 函數能提高應用的模塊性,和代碼的重復利用率。你已經知道
    的頭像 發(fā)表于 11-14 11:26 ?686次閱讀

    python調用math函數的方法

    中。本文將詳細介紹math模塊中的各種數學函數調用方法,包括函數的功能、參數的使用和返回值的含
    的頭像 發(fā)表于 11-22 11:01 ?2808次閱讀

    Python2與Python3的差異

    Python2中,print語句是一個關鍵字,而在Python3中,print函數被引入,必須使用括號。此外,Python3要求字符串必須使用括號括起來,而
    的頭像 發(fā)表于 11-23 16:48 ?916次閱讀