python 笔记2--函数
来源:互联网 发布:知象科技 李凌 编辑:程序博客网 时间:2024/06/01 12:03
函数变量
>>> a = abs # 变量a指向abs函数>>> a(-1) # 所以也可以通过a调用abs函数1
定义函数
def my_abs(x): if x >= 0: return x else: return -x
默认参数陷阱
所以,定义默认参数要牢记一点:默认参数必须指向不变对象!
例如None或常量
可变参数
本质是一个list和tuple
但是可以在参数上加个*号def calc(*numbers):
函数体当想把list或tuple传进这个参数也可以
nums = [1, 2, 3]
calc(*nums)
关键字参数
略难理解
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
- 只传必须参数
>>> person('Michael', 30)name: Michael age: 30 other: {}
- 也可以传入任意个数的关键字参数:
>>> person('Bob', 35, city='Beijing')name: Bob age: 35 other: {'city': 'Beijing'}>>> person('Adam', 45, gender='M', job='Engineer')name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
- 直接传入dict
>>> extra = {'city': 'Beijing', 'job': 'Engineer'}>>> person('Jack', 24, **extra)name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
命名关键字参数
- 定义
def person(name, age, *, city, job): print(name, age, city, job)
- 必须这样调用
>>> person('Jack', 24, city='Beijing', job='Engineer')Jack 24 Beijing Engineer
- 感觉这种用法没有什么卵用
参数组合
- 参数定义的顺序
参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。
f(*args, **kw)
- arg中元素依次赋值给必选参数,默认参数,可变参数。
- kw中元素依次给命名关键词参数和关键词参数
0 0
- python 笔记2--函数
- Python学习笔记:Python函数
- python简明教程学习笔记2--函数
- python学习笔记2--初学递归函数
- Python学习笔记(2):函数的使用
- Python学习笔记2:函数式编程
- python学习笔记2---内置函数
- python基础笔记2-字符串处理函数
- Python学习笔记(12)- 函数(2)
- Python 笔记 : 函数
- python 学习笔记 -- 函数
- python笔记之函数
- Python学习笔记--函数
- python 常用函数笔记
- python实用函数笔记
- python内置函数笔记
- Python学习笔记 函数
- Python笔记-函数(20160319)
- PM2.5检测仪设计
- 软件测试常用术语
- 写给深夜里的自己
- uva 10246 - Asterix and Obelix(最短路)
- MySQL之——Linux单机启动多个MySQL实例(mysqld_multi )
- python 笔记2--函数
- 2015 暑假集训总结
- Execl多个xls文件转为表单合并在一个xls文件下VBS脚本
- Java利用递归的方法求整数数组中的最大值
- UIScrollView&UIPageControl
- 03_获取手机内存状态
- 极度的冷静与耐心
- Win7 64bit 下Python 安装Numpy Unable to find vcvarsall.bat
- effective c++ 为多态基类声明virtual析构函数