1. 程式人生 > >Python函數語言程式設計-講解函式

Python函數語言程式設計-講解函式

Python函式優點:

  函式是使用者自己編寫好的,因為在很多的情況下一個程式的執行需要重複很多的同一種工作,這個時候可以把重複工作的程式碼封裝成一個函式,每次使用的時候只需要呼叫這個函式就可以了,就算實在修改程式碼的時候,我們也只是修改自定一的函式塊的程式碼就可以了,不用修改很多的程式碼,這樣帶給我門的開發效率提高了很多。

如何定義一個函式:

  • 自定義的函式必須是def開頭
  • 需要使用到的引數必須放在小括號內,每個引數之間使用逗號隔開
  • 在括號後面需要使用冒號(:)來說明下一行程式碼是函式體,並且函式體的程式碼需要縮排
  • 函式結束時如果需要返回值需要return返回,return後可以跟列表、自變數、字典、元組等等。。

定於函式的語法:在直接輸入實際引數的情況下,引數的對應關係是根據引數的位置來定義的

1 def 函式名(引數1,引數2):
2     """這裡是函式體的程式碼"""
3     """實現相應的功能"""
4     pass

接下來咱們看一個例子:寫一個列印的函式來列印引數1和引數2的值:

1 def print_func(x,y):
2     print('x==',x,'y==',y)

函式是定義好了,那麼如何來使用自定義函式:

  使用函式也是灰常的簡單:直接:函式名(),如果函式有引數,在括號內寫上引數如果沒有就不用寫了

1 def
print_func(x,y): 2 print('x==',x,'y==',y) 3 #執行函式 4 print_func(1,2)
x== 1 y== 2

好了,函式的建立和使用說完了,那麼接下來到了重點了:

在實現一些功能的時候,有時我們自己也不知道需要傳入多少個引數,有的可能只需要傳入1個,有的時候需要傳入2個,這個時候就不能使用以上這種函式的定義方式了,因為引數是可變長的,我們只能使用*args或者是**kwagrs,

說了這麼多,這兩個引數到底是什麼意思呢?

*args 如果實際引數中傳入了很多值,列印args的時候他是列印了一個包含這些值的一個元組
**kwargs 這個大家看名字不知道能不能看出來,k代表key,w代表word,這樣就明白了,列印kwargs是列印的一個字典

接下來,我們就看下程式碼是如何編寫的,這麼牛逼的功能我們多少應該試試是吧:

1 def  test1(*args):
2     print(args)
3     
4 #執行函式
5 test1(1,2,3,4,5)

看,這裡我的自定義函式就只有一個引數,而下面呼叫引數的時候我傳入了很多的引數,那麼列印效果是什麼呢?看下面

他是將我輸入的引數當作了元組來輸出的。我們使用的時候只需要將元素在元組中提取出來就可以了,還是很方便的,不用寫那麼多的引數了

接下來看下**kwargs如何使用:

1 def test2(**kwargs):
2     print(kwargs)
3 
4 #執行函式
5 test2(name="愛啃蘿蔔的兔子",age = '22',gerden = '')

這個和上面的一樣也是值有一個形式引數,列印下,看效果

相關推薦

Python語言程式設計-講解函式

Python函式優點:   函式是使用者自己編寫好的,因為在很多的情況下一個程式的執行需要重複很多的同一種工作,這個時候可以把重複工作的程式碼封裝成一個函式,每次使用的時候只需要呼叫這個函式就可以了,就算實在修改程式碼的時候,我們也只是修改自定一的函式塊的程式碼就可以了,不用修改很多的程式碼,這樣帶給我門的

python語言程式設計—高階函式練習題

俗話說:光說不練假把式……學而不思則罔……近來在跟著廖雪峰前輩的python教程學習,做一些題目練習一下 一、python高階函式 1.利用map()函式,把使用者輸入的不規範的英文名字,變為首字母大寫,其他小寫的規範名字。輸入:[‘adam’, ‘LISA’, ‘barT’],

Python語言程式設計(一):高階函式

首先有一個高階函式的知識。 一個函式可以接收另一個函式作為引數,這種函式就稱之為高階函式。 def add(x, y, f): return f(x) + f(y) 當我們呼叫add(-5, 6, abs)時,引數x,y和f分別接收-5,6和abs,根據函式定義,我們可以推導計算過程為:

Python(九)語法 語言程式設計函式作為返回值,lambda)

函式作為返回值 高階函式除了可以接受函式作為引數外,還可以把函式作為結果值返回。 我們來實現一個可變引數的求和。通常情況下,求和的函式是這樣定義的: >>> def sum(*args): ... s=0 ... for x in args: ... s=s+x

(六)Python語言程式設計1:高階函式 Higher-order-function

# 高階函式 Higher-order-function # 變數可以指向函式 # 以Python內建的求絕對值的函式abs()為例,呼叫該函式用以下程式碼: print(abs(-10)) # 10 print(abs) # <built-in f

Python語言程式設計(高階函式 返回函式 匿名函式 裝飾器 偏函式

函數語言程式設計 將業務邏輯細化,抽象,封裝成一個個功能函式,並藉助語言自帶的高階函式api,將整個業務流程轉化為函式之間的相互呼叫,這就是函數語言程式設計。 對比:將業務邏輯細化,抽象,封裝成一個個物件,並藉助語言,庫,元件,框架等,將整個業務流程轉化為

python語言程式設計(三)裝飾器、偏函式

1. 裝飾器 由於函式也是一個物件,而且函式物件可以被賦值給變數,所以,通過變數也能呼叫該函式。 >>>def now():        print('2015-3-25') >>>f = now >>>f() 201

15.python語言程式設計(二)—返回函式,匿名函式

1)返回函式(1)返回函式地址高階函式除了可以接收函式作為輸入以外,還可以輸出函式。示例程式碼如下:#!/usr/bin/env python3 # -*- coding: utf-8 -*- def func(*arg): def sum(): he

python語言程式設計

一、python中or和and的使用 1、使用方式 result = a or b result = a and b 複製程式碼 2、or計算規則 當a為真的時候就直接返回a的值,否則返回b的值 3、and計算規則 當a為真的時候返回b,當a為假

Python 語言程式設計(待續)

函數語言程式設計 把計算視為函式而非指令 純函數語言程式設計:不需要變數,沒有副作用,測試簡單 支援高階函式,程式碼簡潔 高階函式——將函式作為引數傳入函式 map() 把函式依次作用在 list 的每個元素上,得到一個新的list並返回 [

python語言程式設計3(裝飾器的深入理解)

一、什麼是裝飾器 1、python中裝飾器可以理解為AOP程式設計,有點類似Spring中的註解,在不改變原函式或類的基礎上,對函式或類新增額外(自己需求補充)的功能。 2、裝飾器本質上是一個函式,該函式用來處理其他函式,它可以讓其他函式在不需要修改程式碼的前提下增加額外的功能,裝飾器的返回值也是

python學習筆記03-python語言程式設計

1. 高階函式 1. 高階函式基礎 變數可以指向函式 函式名也是變數 高階函式允許傳入函式  #!/usr/bin/env python #將函式賦值給變數 A = abs print A(-10) #匯入__builtin__模組 import __builtin

python語言程式設計

一、函式的巢狀 1、函式巢狀的程式碼示例   def f1():       print('我是函式1')       def f2():          

Python--語言程式設計

運用yield實現   模擬 grep -rl 'root' /etc (遞迴找etc下所有檔案並開啟,過濾有'root'的檔案) # import os # g = os.walk(r'C:\Users\56360\Desktop\city\mycity') # print(next(g)) #

在Scala中使用語言程式設計函式和高階函式

                                            圖示,這是一個普通

[python] 語言程式設計

filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回一個迭代器物件,如果要轉換為列表,可以使用 list() 來轉換。 filter()把傳入的函式依次作用於每個元素,然後根據返回值是True還是False決定保留還是丟棄該元素。 filter(fu

(D11)Python-語言程式設計,遞迴,閉包

函數語言程式設計 函數語言程式設計 函數語言程式設計是指用一系列函式解決問題 函式是一等公民 好處: - 用每個函式完成細小的功能,一系列函式組合可以解決大問題 - 函式僅接收輸入併產生輸出,不包含任何能影像輸出的內部狀態 函式的可重入性:

Python 語言程式設計

Functional Programming,函數語言程式設計。Python對函數語言程式設計提供部分支援。對於純函式程式設計,對任一函式,只要輸入是確定的,輸出就是確定的,可稱之為無副作用。 一、高階函式 1、變數指向函式 我們知道函式的計算結果可以賦值給變

10分鐘學會python語言程式設計

在這篇文章裡,你將學會什麼是函式正規化以及如何使用Python進行函數語言程式設計。你也將瞭解列表推導和其它形式的推導。 函式正規化 在命令式正規化中,通過為計算機提供一系列指令然後執行它們來完成任務。在執行這些指令時,可以改變某些狀態。例如,假設你最初將A設定為5,然後更改A的值。這時在變

Python 語言程式設計 -- itertools 模組

– Start itertools 模組提供了非常多的方法。 Infinite iterators Iterator Arguments Results Example count() start, [step] start, start+s