python的函数_byseyOrd
Posted seyOrd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的函数_byseyOrd相关的知识,希望对你有一定的参考价值。
函数定义格式
def sum():
"""
函数说明
""" pass
函数传值
1)普通传值
def sum(a, b): """ 函数说明 """ pass sum(1,2) sun(a=1,b=2)
2)函数参数设置默认值
def sum(a = 1, b): """ 函数说明 """ pass sum(b=2)
3)使用元组和列表传值——可变参数
用于传入的参数个数不定的情况,所以当与普通参数一同使用时,把带星号的参数放在最后,使用*号可以将list或tuple的所有元素作为可变参数传进函数里,不管使用的是list还是tuple,变成可变参数时都会转成tuple
def f1(*d): print(d, type(d)) def f2(**d): print(d, type(d)) # 上面定义了两个函数,分别用了带一个星号和两个星号的参数: f1(1, 2, 3) f2(a = 1, b = 2, c = 3) # 结果如下 (1, 2, 3) <</span>class ‘tuple‘> {‘a‘: 1, ‘c‘: 3, ‘b‘: 2} <</span>class ‘dict‘> #其中一个星号的参数是可变参数 f1(1, 2, 3) #或 nums = [1, 2, 3] fi(*nums) #或 nums = (1, 2, 3) fi(*nums)
4)关键字参数
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
def person(name, age, **kw): print(‘name:‘, name, ‘age:‘, age, ‘other:‘, kw) person(‘Adam‘, 45, gender=‘M‘, job=‘Engineer‘) name: Adam age: 45 other: {‘gender‘: ‘M‘, ‘job‘: ‘Engineer‘}
5)参数的类型和顺序
必选参数,默认参数,可变参数,关键字参数和命名关键字参数(星号越多越靠后)
def f1(a, b, c=0, *args, **kw): pass
f1(a = 1, b = 2, c = 3, args = (‘a‘, ‘b‘), kw = {‘x‘: 99})
f1(1 ,2 , kw = {‘x‘: 99})
自定义函数参数检查
自定义的函数没有参数检查功能,python自带的函数有这样的功能,在参数个数不对是会报TypeError,我们也可以通过raise一个TypeError实现参数检查功能
def my_abs(x): if not isinstance(x, (int, float)): raise TypeError(‘bad operand type‘) if x >= 0: return x else: return -x
return 多个值
python是return多个值的情况是把多个值组成了一个元组再返回
以上是关于python的函数_byseyOrd的主要内容,如果未能解决你的问题,请参考以下文章
selenium的pageObject设计例子_byseyOrd
用python写入css文件(dom方式)_byseyOrd