python-函数参数

位置参数:

  • 求两点间距离
import math
def dis(x1,y1,x2,y2):
    print("x1={},y1={},x2={},y2={}".format(x1,y1,x2,y2))
    return math.sqrt((x2-x1)**2+(y2-y1)**2)
print(dis(1,2,3,4))

output:
x1=1,y1=2,x2=3,y2=4
2.8284271247461903

关键字参数:

import math
def dis(x1,y1,x2,y2):
    print("x1={},y1={},x2={},y2={}".format(x1,y1,x2,y2))
    return math.sqrt((x2-x1)**2+(y2-y1)**2)
print(dis(x2=3,x1=1,y2=4,y1=2))

output:
x1=1,y1=2,x2=3,y2=4
2.8284271247461903

位置参数与关键字参数混合:

import math
def dis(x1,y1,x2,y2):
    print("x1={},y1={},x2={},y2={}".format(x1,y1,x2,y2))
    return math.sqrt((x2-x1)**2+(y2-y1)**2)
print(dis(1,2,y2=4,x2=3))

output:
x1=1,y1=2,x2=3,y2=4
2.8284271247461903
  • 注意必须先位置参数,后关键字参数。

默认值参数:

import math
def dis(x1=1,y1=2,x2=3,y2=4):
    print("x1={},y1={},x2={},y2={}".format(x1,y1,x2,y2))
    return math.sqrt((x2-x1)**2+(y2-y1)**2)
print(dis(3,2))

output:
x1=3,y1=2,x2=3,y2=4
2.0
def init(arg,result=[]):
    result.append(arg)
    print(result)

init("a")
init("b")
init(1,[1,2,3])

output:
['a']
['a', 'b']
[1, 2, 3, 1]

数量可变参数:

  • 当函数参数个数不确定时,“*”将一组可变数量的位置参数集合成参数值的元组
def countnum(a,*b):
    print(b)
    print(len(b)+1)

countnum(1,2,3)
countnum(1,2,3,4,5,6)

output:
(2, 3)
3
(2, 3, 4, 5, 6)
6
  • 收集参数到字典中:
def countnum(**d):
    print(d)
    print(len(d))

countnum(x1=1,y1=2,x2=3,y2=4)

output:
{'x1': 1, 'y1': 2, 'x2': 3, 'y2': 4}
4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章