python函數(shù)

封裝的具有獨立功能的小模塊,在調(diào)用前定義

定義:

def ? job()

? ? ? pass

? ? ? return

調(diào)用:

? ? ?? job()

參數(shù):

? ? ? 形參:定義函數(shù)時使用的參數(shù),用來接收傳遞過來的參數(shù),可以給形參一個默認值

? ? ? 實參:用來傳遞參數(shù)

? ? ? 例子:def study(work="hard") #給定默認參數(shù)hard

類型標注:

? ? ? def study(work:str) ??

? ? ? def study(work) ->代表 return 類型

? ? ? 函數(shù)的嵌套使用

函數(shù)的嵌套調(diào)用:

? ? ?? 在一個函數(shù)中調(diào)用另一個函數(shù)

? ? ? 函數(shù)的遞歸調(diào)用:

? ? ? 自己調(diào)用自己 例如階乘

模塊函數(shù):

模塊就是工具包,模塊具有不同的功能,根據(jù)需求調(diào)用

模塊的調(diào)用方式:

1.import random

2.from random import randint

3.from random import? *

在調(diào)用模塊時,避免被調(diào)用執(zhí)行,在被調(diào)用模塊中調(diào)用前__main__=__name___

注意:import keyword

? ?? print(keyword.kwlist)

打印出關(guān)鍵詞,查看系統(tǒng)變量,防止變量與系統(tǒng)變量重名。

函數(shù)參數(shù)和返回值:

1.無參無返 ,不接收參數(shù)也沒有返回值。只是做界面顯示

2.有參有返,根據(jù)接收的參數(shù),做相應(yīng)的響應(yīng),并顯示處理結(jié)果

3.有參無返,根據(jù)接收的參數(shù),處理不同的數(shù)據(jù)

4.無參有返,例如溫度計

根據(jù)不同的需求

注:使用元組可以返回多個值 ? ? ? a,b=b,a(互換變量)

不可變和可變參數(shù):

傳遞參數(shù)是不可變類型的:函數(shù)內(nèi)部賦值只會影響局部變量的引用,不會影響外部變量

傳遞參數(shù)是可變類型的:函數(shù)內(nèi)部方法修改了數(shù)據(jù),外部內(nèi)容也會改變。例如append、extend 、pop、clear等

缺省參數(shù):

就是默認參數(shù)

def? job(name='bab'):

? ? ? ? ? print(name)

job() ? ? #? 如果不給參數(shù)就用默認的,要修改具有多個變量的某個變量值,最好是將此變量提取出來

例子:def? study(name='xiaoming',study='hard'):

? ? ?? print(name,study)

study(study='easy')

注意:保證帶有默認值的缺省參數(shù)在參數(shù)列表末尾

不定長參數(shù):

def? job(name,*args,**kwargs):

? ? ? print(name,*args,kwargs) ? ? 加*解包,不加*整體。args是參數(shù)的元組,不用缺省參數(shù)傳遞進來的會被放在args作為元組存在,*args是對前面元組的解包。缺省參數(shù)傳遞進來的會被放在kwargs中作為字典存在。

當傳入元組或字典時,使用*解包

def? People(*args,**kwargs):

? ? ? print(name,args,kwargs)?

gl_name=('xiaohong','xiaoming',xiaobai')

gl_xiaohong={"name":xiaohong,"age":45}

People(*gl_name,**gl_xiaohong)? 等價于People('xiaohong','xiaoming',xiaobai',"name":xiaohong,"age":45)?

遞歸函數(shù):

一個函數(shù)內(nèi)部調(diào)用自己,針對不同的參數(shù)處理方法不同。當參數(shù)滿足一個條件時,不再執(zhí)行,否則會陷入死循環(huán)。

君子協(xié)議:

base64加密庫
import base64

data ='2580'

print(base64.b64encode(data.encode()).decode()) ? ? #加密

print(base64.b64decode('MjU4MA==').decode()) ? ? ?? #解密

哈希算法:

hash加密庫

import hashlib

枚舉函數(shù):enumerate

for i,j in enumerate([1,2,3,4,5,6]):

? ? ? ? print(i,j)

枚舉帶索引號的列表元素

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫在前面的話 代碼中的# > 表示的是輸出結(jié)果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 3,208評論 0 9
  • python起源: python 創(chuàng)始人為吉多-范羅蘇姆。 計算機不能直接理解任何除機器語言以...
    WaoYouCanDance閱讀 173評論 0 0
  • SMP (Symmetrical Multi-Processing):指在一個計算機上匯集了一組處理器(多CPU)...
    龍飛1107閱讀 4,391評論 0 1
  • if判斷語句: if condition1: run1 #條件1成立...
    WaoYouCanDance閱讀 188評論 0 0
  • 轉(zhuǎn)載分享: [玫瑰]今天早上財富班作業(yè)是,寫宇宙訂單,你們當下最想解決的事情,最想完成的事情,最想實現(xiàn)得夢想,都可...
    A000珠珠閱讀 2,792評論 0 4

友情鏈接更多精彩內(nèi)容