函数

>>> def funTest(param1):

... 'this is function document string.' #正文需要有缩进

... return param1

...

>>> funTest(12)

12

>>> funTest.__doc__ #访问文档字符串

'this is function document string.'

函数实参,相当于一个赋值操作,为形参赋值

>>> def fuc1(dict):

... dict['one'] = 1 #函数1修改参数内容

...

>>> def fuc2(dict):

... dict = {} #函数2为参数重新赋值

...

>>> d = {'one':11, 'two':22}

>>> fuc1(d) #形参dict赋值为d,即dict和d指向同一地址,修改dict的数据,自然就修改了d的数据

>>> d

{'two': 22, 'one': 1}

>>> fuc2(d) #dict和d指向同一地址,但是重新为dict赋值,则dict与d不再指向同一地址,所以d不变。

>>> d

{'two': 22, 'one': 1}

>>> dd = {'hello':'world'}

>>> fuc1(dd.copy()) #传入dd的一个副本,即dict与dd不指向同一地址,所以dd也不变

>>> dd

{'hello': 'world'}

关键字参数:调用时,使用参数名提供的参数。

定义时使用关键字参数,还可以提供默认值.

参数在给定默认值的时候是可选的。

#打印长方形的名字和宽高

>>> def descRect(name, width, height):

... print 'name:%s, width:%d, height:%d' % (name, width, height)

...

>>> descRect('test', 11, 22)

name:test, width:11, height:22

>>> descRect(width=1, height=2, name='test') #定义为位置参数,使用关键字参数调用,与书写顺序无关

name:test, width:1, height:2

>>> def descRectangle(name, width=1, height=1):

... print 'name:%s, width:%d, height:%d' % (name, width, height) #name是位置参数,width和height是关键字参数,且提供了默认值

...

>>> descRectangle('small', 2, 3) #参数齐全

name:small, width:2, height:3

>>> descRectangle('default') #位置参数必需,关键字参数有默认值

name:default, width:1, height:1

>>> descRectangle('default', 2) #没有指明关键字参数名字的,按照顺序

name:default, width:2, height:1

>>> descRectangle('default', height=2) #指明了关键字参数名字的,替换默认值

name:default, width:1, height:2

>>> descRectangle(name='test')

name:test, width:1, height:1

收集参数

参数名之前加一个星号,表示收集其他的位置参数。

参数名之前加两个星号,表示收集其他的关键字参数。

>>> def chooseOne(myChoose, *others):

... print 'I choose %s' % myChoose

... print 'others are ', others

...

>>> chooseOne('A', 'B', 'C', 'D', 'E')

I choose A

others are ('B', 'C', 'D', 'E')

>>> chooseOne('A', 'B')

I choose A

others are ('B',)

>>> chooseOne('A')

I choose A

others are ()

>>> def printParams(**param):

... print param

...

>>> printParams(x=1,y=2,z=3)

{'y': 2, 'x': 1, 'z': 3}

>>> printParams(1,y=2,z=3)

Traceback (most recent call last):

File "", line 1, in

TypeError: printParams() takes exactly 0 arguments (3 given)

>>>

>>> def print_params(x,y,z=0):

... print "x=", x, ", y=", y, "z=", z

...

>>> param1=(2,3)

>>> dict={"z":66}

>>> print_params(param1, dict) #两个位置参数,没有关键字参数

x= (2, 3) , y= {'z': 66} z= 0

>>> print_params(*param1, **dict) #一个位置参数列表,一个关键字参数列表

x= 2 , y= 3 z= 66

获取全局变量字典 globals()

局部作用域内声明一个全局变量 global x。之后对x操作,全局变量会相应改变。

python函数是可以嵌套的,即可以在一个函数中定义另一个函数。

内建函数:

reduce会将序列中的前两个元素,与给定的函数联合使用,并且将他们的返回值和第三个元素继续联合使用,直到整个序列都处理完毕,并且得到一个最终结果。

map(func, seq[, seq,...]) 对序列中的每个元素应用函数

filter(func, seq) 返回其函数为真的元素的列表

reduce(func, seq[, initial]) 等同于func(func(func(func(func(seq[0], seq[1])), seq[2]), seq[3]), ...)

sum(seq) 返回seq中所有元素的和

apply(func[, args[, kwargs]]) 调用函数,可以提供参数

#reduce

>>> reduce(lambda x,y : x+y, range(11))

55

#map

>>> def addOne(x):

... return x+1

...

>>> map(addOne, range(5))

[1, 2, 3, 4, 5]

#filter

>>> def getNum(x):

... if(x>2):

... return 1

... return 0

...

>>> filter(getNum, range(5))

[3, 4]

python get rect 函数_python笔记之函数相关推荐

  1. python变量作用域图解_python笔记--作用域、高阶函数、闭包

    作用域 python中被赋值的变量的位置不同,限制了能访问到变量的范围也不同,换句话说就是"变量的作用域是由其在代码中的位置所决定的". 1.LEGB规则 L(local):局部作 ...

  2. python拷贝文件函数_python笔记2小数据池,深浅copy,文件操作及函数初级

    小数据池就是在内存中已经开辟了一些特定的数据,经一些变量名直接指向这个内存,多个变量间公用一个内存的数据. int: -5 ~ 256 范围之内 str: 满足一定得规则的字符串. 小数据池: 1,节 ...

  3. python调用函数必须带括号吗_Python笔记:调用函数,带扩号和和不带括号的区别...

    Ansible-Tower快速入门-6.查看tower的仪表板[翻译] 查看tower的仪表板 到这一步,我们已经可以在屏幕上看到tower的仪表板了,我们可以看到你目前"主机"& ...

  4. python中execute函数_python中的函数是如何使用的?

    欢迎关注「issnail」感谢! "一起学习,一起成长!" 1.定义函数与调用函数 定义python函数:依次输入def.函数名.带有函数参数的圆括号,最后紧跟一个冒号(:) 函数 ...

  5. python编程函数_python编程中函数和参数你必须知道的

    今天我们先聊少一点,就聊聊函数是什么和函数的参数,以及对这两个东西的思考 起源于抽象 在程序员写代码的时候,通常都会提到一个词叫抽象, 很多人都知道在面向对象中,将一个对象抽象为一个类,其实这就是我们 ...

  6. python计算平方用map函数_python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)...

    1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[]for n innum: a.append(n**2)print(a) C:python35pyt ...

  7. python实现函数ifodd_09-Python笔记整理(函数)

    函数也是对象 函数的返回值 1.函数的返回值: a.就是函数返回给调用者的值 b.就是return关键字后面的表达式的值 c.就是函数调用表达式的值 python中每个函数都是有返回值的,返回值就是r ...

  8. python的高级函数_Python的高级函数

    Python的高级函数 1. map函数 map(func, *itertables) 对itertables中的每个元素使用func,当最短的itertable结束时便停止.map可以传入多个ite ...

  9. python程序一定要有主函数_Python 没有main函数的原因

    毫无疑问 Python 中没有所谓的 main 入口函数,但是网上经常看到一些文章提"Python 的 main 函数"."建议写 main 函数"-- 有些人 ...

最新文章

  1. css规则由两部分构成,CSS-层叠样式表基础教程
  2. Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————H264压缩视频
  3. ggplot2实现分半小提琴图绘制基因表达谱和免疫得分
  4. maven3.6.3 配置环境变量_JDK1.8简单配置环境变量---两步曲
  5. bootstrap搜索框_Bootstrap 开源 SVG 图标库 Bootstrap Icons
  6. 由浅入深解释JS执行机制 EventLoop
  7. 机器学习自学札记(1)
  8. Concept Drift(概念漂移)
  9. aws搭建深度学习gpu_选择合适的GPU进行AWS深度学习
  10. Spring Cloud Ribbon 的请求分发与原理
  11. php 保留html,PHP substr但保留HTML標簽?
  12. 华为USG6000V防火墙telnet+安全策略
  13. 2019--Target Speaker Extraction for Multi-Talker Speaker Verification
  14. 爱莫logo里的大千世界 | 精彩传送门
  15. nyoj 191 小柯的问题
  16. 【PHP基础学习】—PHP异步非阻塞的实现方法
  17. 红孩儿编辑器的概要设计第二部分
  18. ViTAE论文阅读与官方代码讲解
  19. 我的世界基java版刷怪机制_我的世界1.8版本刷怪机制_我的世界代码1.8版本刷怪机制_快吧单机游戏...
  20. 桌面文件突然不见了怎么恢复?

热门文章

  1. Python爬虫之解析网页
  2. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十二║Vue实战:个人博客第一版(axios+router)...
  3. Tensorflow学习教程------tfrecords数据格式生成与读取
  4. 1.SoapUI接口测试--创建项目
  5. 异常--自定义异常类
  6. ffmpeg文档08-表达式计算/求值
  7. Mentor PADS 9.5下载安装及破解指南
  8. C#中理解接口以及接口的作用
  9. 我们是如何做好前端工程化和静态资源管理 - 無雄 - 博客园
  10. 分布式模式之Broker模式