1. 程式人生 > >python函式知識總結

python函式知識總結

函式知識點總結

  • 1.什麼是函式

    函式就是具備某一特定功能的工具

  • 2.函式的作用以及如何使用

    函式可以減少重複程式碼、增強程式的擴充套件性、可讀性;使用原則是先定義後呼叫,在定義階段只檢測語法不執行函式體程式碼,呼叫階段才執行函式體程式碼。

語法:

def foo(引數1, 引數2):

    ''' 文件註釋 '''

    code1

    code2

    return 返回值

  • 引數:形參與實參

形參:位置形參,預設形參,可變長引數

def foo(x, y): #位置形參

    pass

def foo(x, y = 1):   #預設形參y

    pass

def foo(x, *args, **kwargs): # 可變長引數*args,**kwargs

    pass

實參:位置實參,關鍵字實參,可變長實參(*後面必須跟可迭代物件, **後面必須是字典)

呼叫階段:

foo(1, 2)

foo(x = 1, y =2)

foo(*"hello", **{'x': 1, 'y': 2})

  • 函式的返回值:

    return是函式結束的標誌,函式內可以有多個return,但只要執行一次函式就會立刻結束,並把return的值作為本次呼叫結果返回。返回值可以是任意型別,沒有個數限制,沒有return預設返會None,若返回多個值,會將多個值放在一個元組裡一起返回。

def foo(x, y):

    return x + y

  • 函式物件:函式物件可以被當做資料去處理

1、引用

def foo():

    pass

f = foo

2、當做引數

print(foo)

3、當做返回值

def bar()

    def wrapper()

        pass

     return wrapper

f = bar()

4、當做容器型別的元素

def f1():

    pass

def f2():

    pass

l = [f1, f2,]

l[0]()  #函式名加括號即呼叫該函式

  • 函式巢狀:

函式巢狀呼叫

def foo():

    bar()

    f1()

    f2()

foo()

函式巢狀定義

def f1():

    def f2():

        pass

    f2()

  • 名稱空間與作用域

名稱空間:內建名稱空間、全域性名稱空間、區域性名稱空間

def foo(x, y):

    pass

foo(1,2)

載入順序:內建———>全域性———>區域性

載入是指程式執行之初,名稱空間載入至記憶體的順序

查詢的順序:從當前位置向上查詢,若當前位置為區域性,即:區域性——>全域性——>內建

查詢指的是查詢一個變數名所對應的值

x=1
def outter():
    def wrapper():
        print(x)
    return wrapper
f=outter()
def bar():
    x=111111
f()

全域性作用域:全域性存活,全域性有效(全域性名稱空間,內建名稱空間)

區域性作用域:臨時存活,臨時有效(區域性名稱空間)

  • 閉包函式: 

x=1

def outter():

    x=10

    def wrapper():

        print(x)

    return wrapper

f=outter()
  • 裝飾器
def deco(func): # 無參裝飾器
    def wrapper(*args,**kwargs):
        res=func(*args,**kwargs)
        retutrn res
    return wrapper


def deco1(x=1,y=2):  #有參裝飾器
    def deco(func):
        def wrapper(*args,**kwargs):
            res=func(*args,**kwargs)
            retutrn res
        return wrapper
    return deco


@deco   #使用裝飾器
def index():
    pass
  • 迭代器(迭代器後面必須跟可迭代物件)

for

max (求可迭代物件中的最大值)

min (求可迭代物件中的最小值)

sorted (將可迭代物件進行排序)

filter (按照條件篩選可迭代物件中滿足條件的元素)

map (對映)

具體用法參見之前的部落格內容。。。。。

  • 匿名函式

lambda  引數1, 引數2 :  表示式

通常配合以下函式使用:max、min、sorted、map、filter

  • 三元表示式、列表推導式,字典生成式,生成器表示式

res=條件成立的結果 if 條件 else 條件成立的結果 # 三元表示式

l=[表示式 for i in 可迭代物件 if 條件] # 列表推導式

g=(表示式 for i in 可迭代物件 if 條件) #生成器表示式

d={k:v for i in 可迭代物件 if 條件} #字典生成式
  • 還有部分內建函式以及函式遞迴,參見之前寫的部落格,這裡不在贅述。

相關推薦

python函式知識總結

函式知識點總結1.什麼是函式    函式就是具備某一特定功能的工具2.函式的作用以及如何使用    函式可以減少重複程式碼、增強程式的擴充套件性、可讀性;使用原則是先定義後呼叫,在定義階段只檢測語法不執行函式體程式碼,呼叫階段才執行函式體程式碼。語法:def foo(引數1,

python基礎知識總結

基礎 roc python基礎 C4D water pytho tex ima adf python基礎知識總結

Python培訓知識總結系列- 第一章Python編程基礎

python培訓 編程 數據 相關 python 歷史 類型 charm 進制 第一章主要是講了下面幾點: Python的基本歷史,Python2,Python3的差別。 Python的數據類型,變量,順序執行,分支,循環語句。 Python的開發工具,老師推薦的是Pyt

Python培訓知識總結系列- 第二章Python數據結構第一部分,列表與for循環

數據結構 hello actual 答案 系列 define print count man 列表與循環問題 編寫一個函數 tag_count,其參數以字符串列表的形式列出。該函數應該返回字符串中有多少個 XML 標簽。XML 是類似於 HTML 的數據語言。你可以通過一

Python培訓知識總結系列- 第二章Python數據結構第二部分,字符串拼接

拼接 連接 pytho 適用場景 必須 不可 第二章 但是 通過 python字符串連接的三種方法及其效率、適用場景詳解python字符串連接的方法,一般有以下三種:方法1:直接通過加號(+)操作符連接website=& 39;python& 39;+&am

Python培訓知識總結系列- 第二章Python數據結構第四部分-字典操作

... 哈希 int lis san 變量 ems python python字典 python字典鍵值對的添加和遍歷 添加鍵值對 首先定義一個空字典 dic={}1直接對字典中不存在的key進行賦值來添加 dic[‘name‘]=‘zhangsan‘dic{‘name‘:

Python培訓知識總結系列- 第二章Python數據結構第三部分-字典,集合

而是 結構 move 原子 返回 總結 刪除 添加元素 pen 編寫一個函數 remove_duplicates,該函數將列表作為參數,並返回一個包含源列表中唯一元素的新列表。新列表中未重復出現的元素可采用任何順序。target=[]def remove_duplicate

Python培訓知識總結系列- 第三章 Python3文件操作(一)

readline new socket 總結 排序 tin strip() list 是否 open 123456789f = open(‘filename‘,‘r‘) # 讀模式f = open(‘filename‘,‘w‘) # 寫模式f = open(‘filenam

python面試知識總結

出現 數據庫引擎 字典 訪問 管理員 value 學什麽專業 生成器 說明 2. 做Python幾年了?為什麽選擇Python?3. 學歷?大學什麽專業?4. 除了Python以外對其他語言有沒有了解?5. 你對Python這門語言的看法?6. 在學習Python過程中有

第二篇 python基礎知識總結:數據、運算符

pre http 賦值 float 異或 mage IT ext inpu   引子 我們跟任何人交流,說的每一句都是都一些文字組成,包含名詞、動詞、語句、標點符號等,組成我們說普通話構成的基本要素。同理我們學習python語言也要明白這些基本要素,也就是我們常說的

python基礎知識總結(不斷更新。。。。)

python可以簡便的方法:(1)lambda x,y:x*y(2)list1 = list(filter(lambda x:x%3 == 0,range(100)))filter 第一個參數是過濾條件,第二個是要過濾的內容返回值是個Object,得轉換為其他類型(3)map: list1 = map(lam

python爬蟲知識總結

con import spa 運行 結果 span 知識總結 har 環境 環境要求:   1、編程語言版本python3;   2、系統:win10; 一、安裝python3 不是本文重點,提供幾個思路:   1、官網:https://www.python.org/

python基礎知識總結(一)

字母 內容 查看 二進制 代碼 大寫字母 del 源碼 解決 一。python版本區別 宏觀上python2與python3的區別: python2:源碼不標準,混亂,重復的代碼太多,默認編碼方式是ascill碼。 python3:

python基礎知識總結(二)

優先 轉化 情況 顯示 判斷 指定 賦值運算 true 比較運算 基礎數據類型初始:   int(數字):+ 加         - 減         * 乘         / 除         % 取余數   str(字符串):python中凡是用引號引起

python基礎知識總結之一

1.字符集問題 windows下面儘量用#coding:gbk  Linux下面儘量用#coding:utf-8 2.什麼是序列 序列是指有序和無序的資料結構  包括:字串,列表,元組,字典,集合 3.程式設計規範 命名規範:  類定義用駝峰式 &n

python route 知識總結

route 可以從url提取相應的引數,如controller,action或者其它使用者自己定義的變數 1.Mapper().connect    Mapper().match from routes import Mapper   map = Mapper()   map.connect(No

函式知識總結

一、函式引數 函式的引數按位置順序傳遞 #Example x = '全域性變數' def example(a,b='2b',*c,**d): y = '實參' print('所有引數:', a, b, c, d, y) return print('已執行函式') examp

python入門知識總結

window = Tk() counter=IntVar() counter.set(0)        #設定計數器初值 def click(var,value):     var.set(var.get()+value)                                          

Python函式引數總結(位置引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數)

Python函式的引數多達5種,不像Java那樣引數只有一種,而是像C++那樣提供預設引數,除此之外,還提供可變引數、關鍵字引數、命名關鍵字引數,這樣就使得Python函式的引數變得十分複雜。但複雜意味著靈活便捷,Python語言之所以流行起來,與起本身巨大

Python 入門、量化策略、量化知識總結

量化交易 移動平均 出了 編程入門 股票 知識 經濟學 python 入門 原因 Ricequant 量化社區的初衷讓各位愛好量化的人士可以碰撞思維,在分享和爭辯中學習到有用且實戰的量化知識。有賴於各位在社區中貢獻滿滿的幹貨以及有質量的討論,從編程入門教學到技術指標再到多因