您的位置:首页 > 编程语言 > Python开发

Python学习笔记 - 函数

2017-12-25 14:29 369 查看

Python学习笔记 - 函数

根据廖雪峰的Python教程做成的笔记,其中不包含全部知识点,仅是重点或是容易发生混淆或者忘记的部分。

函数

test.py

def my_abs(x)
if x > 0:
return x
else:
return -x


main.py

from test import my_abs

def func():
a = -5
b = my_abs(a)
print(b)
return


参数

参数顺序必须是:

必选参数,默认参数,可变参数,命名关键字参数,关键字参数。

- 默认参数:(
n = 0
)

def power(x, n = 2):
pass


可变参数:(
*parm
)

定义函数时,在参数前加
*
即可

def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n
return sum

ret1 = calc(1,3,5)
ret2 = calc(1,3,5,7,9)


关键字参数:(
**kw
)

定义函数时,在参数前加
**
即可

def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
return

person('Bob', 30, city = 'Beijing', mobile = '138xxxxxxx')
# name:Bob age:30 other:{'city':'Beijing', 'mobile':'138xxxxxxx'}
info = {'city':'Beijing', 'mobile':'138xxxxxxx'}
person('Bob', 30, **info)


命名关键字参数:(
*, parm
)

如果要限制关键字参数的名字,就可以使用命名关键字参数,例如,只接收city和job作为关键字参数。和关键字参数
**kw
不同,命名关键字参数需要一个特殊的分隔符
*
*
后面的参数被视为命名关键字参数。

def person(name, age, *, city, job):
print(name, age, city, job)


如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊的分隔符
*
了。

def person(name, age, *args, city, job):
print(name, age, args, city, job)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python