Python中函数参数设置及使用的学习笔记
Jun 10, 2016 pm 03:05 PM一、参数和共享引用:
1 2 3 4 5 6 7 8 9 |
|
函数参数是赋值得来,在调用时通过变量实现共享对象,函数中对可变对象 参数的在远处修能够影响调用者。
避免可变参数修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
二、特定参数匹配模型:
函数匹配语法:
例子:
关键字参数:
1 2 3 4 5 |
|
默认参数:
1 2 3 4 5 6 7 8 9 10 11 |
|
三、任意参数:
1、收集参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
2、解包参数:
注意:不要混淆函数头部或函数调用时*/**的语法:在头部意味着收集任意数量的参数,而在调用时,它接驳任意数量的参数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
3、应用函数通用性:
1 2 3 4 5 6 7 8 9 10 |
|
4、python3.X中废弃apply内置函数
1 2 3 4 5 |
|
运用解包调用语法,替换:
1 2 3 4 |
|
四、python3.x中Keyword-only参数
python3.x把函数头部的排序规则通用化了,允许我们指定keyword-only参数,即按照关键字传递并且不会由一个位置参数来填充的参数;参数*args之后,必须调用关键字语法来传递。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1、排序规则:
**不能独自出现在参数中,如下都是错误用法:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
也就是说一个函数头部,keyword-only参数必须编写在*args任意关键字形式之前,或者出现在args之前或者之后,并且可能包含在**args中。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
2、为什么使用keyword-only参数?
很容易允许一个函数既接受任意多个要处理的位置参数,也接受作为关键字传递的配置选项, 可以减少代码,如果没有它的话,必须使用*args和**args,并且手动地检查关键字。
3、min调用
编写一个函数,能够计算任意参数集合和任意对象数据类型集合中的最小值。
方法一:使用切片
1 2 3 4 5 6 7 |
|
方法二:让python自动获取,避免切片。
1 2 3 4 5 6 |
|
方法三:调用内置函数list,将元祖转换为列表,然后调用list内置的sort方法实现。 注意:因为python sort列程是以C写出的,使用高度优化算法,运行速度要比前2中快很多。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
五、例子:
1、模拟通用set函数:
编写一个函数返回两个序列的公共部分,编写inter2.py文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
测试:
1 2 3 4 5 6 7 8 9 10 |
|
2、模拟python 3.x print函数
编写文件python30.py
(1)使用*args和**args方法
环境python2.7
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
交互结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
(2)使用keyword-only方法,实现效果和方法一一样:
1 2 3 4 5 6 7 8 9 |
|

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表
