012 python函式式程式設計 函式引數

2021-10-02 02:31:31 字數 1925 閱讀 6244

python中的函式引數很靈活,具體體現在傳遞引數有多種形式。

為了提高函式呼叫的可讀性,在函式呼叫時可以使用關鍵字引數呼叫

# /usr/bin/python

# -*- coding: utf-8 -*-

# descrition:create funcation

def print_area(width, height):

area = width * height

print(" * 長方形的面積:".format(width, height, area ))

print_area(10.0, 20.0)

print_area(width=10.0, height=20.0)

print_area(height=20.0, width=10.0)

# print_area(width=10.0, 20.0) # 報錯

print_area(20.0, height=10.0)

呼叫者能夠清晰的看出來傳的引數的含義,關鍵字呼叫時,引數順序可以和定義的順序不同。一旦其中的乙個採用了關鍵字,那麼其後的引數都必須採用關鍵字形式傳遞。

在定義引數的時候可以為引數設定乙個預設值,呼叫時可以忽略該引數。

def make_coffee(name="卡布奇洛"):

return "製作一杯咖啡".format(name)

print(make_coffee())

print(make_coffee("拿鐵"))

python中函式的引數的個數可以變化,它可以接受不確定數量的引數,這種引數稱為可變引數。python中可變引數有兩種,即引數前加 * 或 ** 形式,

*可變引數在函式中被組裝成為乙個元組

**可變引數在函式中被組裝成為乙個字典

def sum(* numbers, multiple = 1):

total = 0.0

for number in numbers:

total += number

return total * multiple

print(sum(10, 20))

print(sum(10, 20, multiple = 2))

double_tuple = (10.0, 30.0)

print(sum(1.0, 2.0, *double_tuple))

計算所有引數之和,*numbers是可變引數。在函式體中引數被組裝成乙個元組,可以使用for迴圈遍歷numbers 元組。

另外,double_tuple 也可以是列表物件。

*可變引數不是最後乙個引數時,後面的引數必須採用關鍵字引數形式傳遞。

def show_info(sep = ':', **info):

print('---info---')

for key, value in info.items():

print(' '.format(key, sep, value))

show_info('->', name = 'tony', age = 18, *** = true )

show_info(name = 'tony', age = 18, *** = true , sep = '-')

s_dict =

show_info(**s_dict, *** = true , sep = '=')

sep為資訊的分隔符號,預設值是冒號, **info 是可變引數,在函式體中引數info被組裝成乙個字典。

** 可變引數必須放在正規引數之後,例如def show_info(sep = ':', **info):

012 Python中的 函式 使用篇

前言 把上課的筆記整理出一些可能常用到的函式,持續更新中。如有紕漏,請告知我,多謝 globals 返回當前全域性作用域內變數的字典 locals 返回當前區域性作用域內變數的字典 also called 匿名函式 作用建立乙個匿名函式物件 同def類似,但不提供函式名 語法lambda 形參1,形...

012 Python語法之檔案操作

大多數情況下我們要處理的檔案都是文字檔案 其他檔案都是二進位制進行讀寫的 open函式開啟檔案file1 open 檔案路徑 open引數詳解 第乙個引數引數路徑 第二個引數開啟方式 r 唯讀 w 只寫 rb 二進位制讀 a 追加寫入 wb 二進位制寫 返回值是乙個檔案物件 read函式file1....

python函式式程式設計模式 python函式式程式設計

1 callable內建函式判斷乙個名字是否為乙個可呼叫函式 import math x 1 y math.sqrt callable x false callable y true 2 記錄函式 文件字串 def square x calculates the square of number x...