谭子python学习笔记--函数的参数
2017-06-07 21:58
786 查看
函数-参数
参数的传递
可变参数的修改及避免此类修改
特定参数匹配模型
基础知识
匹配语法
实例
在函数内部的参数名赋值不会影响调用者
改变函数的可变对象参数的值也许会对调用者有影响
避免可变参数的修改
关键字参数:通过参数名进行匹配
默认参数:为没有传入值的参数定义参数值
可变参数:收集任意多基于位置或关键字的参数
可变参数解包:传递任意多的基于位置或关键字的参数
参数的传递
可变参数的修改及避免此类修改
特定参数匹配模型
基础知识
匹配语法
实例
函数-参数
参数的传递
参数传递是通过自动将对象赋值给本地变量名来实现在函数内部的参数名赋值不会影响调用者
改变函数的可变对象参数的值也许会对调用者有影响
可变参数的修改及避免此类修改
可变参数的修改a = 1 L = [1,2,3] def change(x,y): x = 2 y[0] = 'hello' change(a,L) print a,L
避免可变参数的修改
a = 1 L = [1,2,3] def change(x,y): x = 2 y[0] = 'hello' change(a,L[:]) change(a,tuple(L)) print a,L
特定参数匹配模型
基础知识
位置:从左至右进行匹配关键字参数:通过参数名进行匹配
默认参数:为没有传入值的参数定义参数值
可变参数:收集任意多基于位置或关键字的参数
可变参数解包:传递任意多的基于位置或关键字的参数
匹配语法
语法 | 位置 | 解释 |
---|---|---|
func(value) | 调用者 | 常规参数:通过位置进行匹配 |
func(name=value) | 调用者 | 关键字参数:通过变量名匹配 |
func(*sequence) | 调用者 | 以name传递所有对象,并作为独立的基于位置的参数 |
func(**dic) | 调用者 | 以name成对的传递所有关键字/值,并作为独立的关键字参数 |
def func(name) | 函数 | 常规参数:通过位置或变量名进行匹配 |
def func(name=value) | 函数 | 默认参数值,如果没有在调用中传递参数的话 |
def func(*name) | 函数 | 匹配并搜集(在元组中)所有包含位置的函数 |
def func(**name) | 函数 | 匹配并收集(在字典中)所有包含位置的参数 |
def func(*args,name) | 函数 | 匹配必须在调用中按照关键字传递 |
实例
#coding:utf-8 s = ''' HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/javascript;charset=utf-8 Transfer-Encoding: chunked Content-Encoding: gzip Vary: Accept-Encoding Date: Tue, 07 Mar 2017 07:50:57 GMT ''' def ff_1(func): a = [] def ff1(*args): print 'hello' for i in args: if isinstance(i,str): a.append(func(i)) try: write_data(a) < a297 span class="hljs-keyword">except: print "写入数据出错" return a def write_data(s): s = str(s) fp = open('data.txt','w+') fp.writelines(s) fp.close() return ff1 @ff_1 def func(s): alist = s.strip().split('\n') dic = {} for line in alist: if ':' in line: dic[line.strip().split(':',1)[0]] = line.strip().split(':',1)[1] print dic return dic func(s)
相关文章推荐
- Python3 学习笔记13_函数的参数_20180305
- Python学习笔记7-把函数当参数传递、指定可变参数
- python学习笔记12(函数三): 参数类型、递归、lambda函数
- 【Python学习笔记】函数参数
- Python学习笔记(10)-函数-函数定义、调用、参数、返回值、嵌
- Noah的学习笔记之Python篇:函数“可变长参数”
- Python学习笔记7-把函数当参数传递、指定可变参数
- 11. Python脚本学习笔记十一函数与参数
- 谭子python学习笔记--函数定义及作用域
- 初学Python的学习笔记2----dist字典,set集合,声明函数,函数参数
- Python学习笔记7-把函数当参数传递、指定可变参数
- python学习笔记-(13)python中的函数参数传递
- Python学习笔记7:函数对象及函数对象作参数
- Python中函数参数设置及使用的学习笔记
- Python3学习笔记05-字典、文件输入输出、模块、函数参数传递
- Python学习笔记--《简明Python教程》之默认函数参数和关键参数函数
- python学习笔记12(函数三): 参数类型、递归、lambda函数
- Python中函数参数设置及使用的学习笔记
- 【Python】学习笔记十三:函数的参数对应
- 【Python】学习笔记——-3.3、函数的参数