python get rect 函数_python笔记之函数

函数

>>> 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]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

F5 IIS Log获取客户端源IP

1.配置F5启用X-Forwarded-For方法: 1:Local Traffic-Profiles-Http-改"Insert XForwarded For"为Enable 2:Local Traffic-Virtual servers-点击需要改动的VS-将Type选项更改为Standa…

华为发布最强服务器芯片,[百家号]华为:最强ARM服务器芯片,华为鲲鹏920处理器发布...

CSS3中:nth-child和:nth-of-type的区别深入理解关于:nth-child和:nth-of-type的区别之前一直没太注意.最近打算深入了解一些CSS3,才发现里面其实暗藏玄机. :nth-child可以选择父元素下的字元素,:nth-of-type ...纯CSS3制作皮卡丘动画壁纸前言 明天就放假了…

ios动画效果集锦(持续更新)

1.树叶滚动进度:http://www.jianshu.com/p/800496caa055 2.列表滚动动画和滚动视差效果http://www.jianshu.com/p/42e1eb59a1af 3.文字颜色变换http://www.jianshu.com/p/6c8f645cb604转载于:https://www.cnblogs.com/hxwj/p/5283453.html

PYTHON__关于Socket中的Select使用理解

关于Socket中的Select使用理解 以下是代码和中文注释的个人理解 import socket, select, Queueserver(192.168.2.100,10086)#创建TCP/TP Socket sock_sersocket.socket(socket.AF_INET,socket.SOCK_STREAM) #设置不阻塞监听 sock_ser.setblocking(False) sock_ser.setsockopt(s…

悲观锁和乐观锁_悲观锁和乐观锁处理并发操作

本人在金融公司任职,今天来分享下关于转账的一些并发处理问题,这节内容,我们不聊实现原来,就单纯的看看如何实现废话不多说,咱们直接开始,首先我会模拟一张转账表如下图所示:image.png一张简单的账户表,有name,账户余额等等,接下来我将用三种锁的方式来实现下并发下的互相转账一…

C++中string与int\double等互转

double转为string (int\float等类似) #include <string>#inlcude <sstream>intmain(){doubled123.456; stringstr;   stringstream ss;   ss<<d;   ss>>str;}string转为double(int\float等类似) #include <string>#inlcude <sstream&…

冰原服务器维护,怪猎OL9月20日0:00全区全服维护更新公告

亲爱的猎人&#xff1a;我们将于9月20日0:00对所有大区全部服务器进行更新维护&#xff0c;本次维护预计时间4小时。还请猎人们提早下线&#xff0c;避免不必要的损失。我们将视实际情况提前或延迟开服&#xff0c;感谢大家的支持!维护时间&#xff1a;2016年9月20日(周二)0:00…

属性类:Properties

在一个属性文件中保存了多个属性&#xff0c;每一个属性就是直接用字符串表示出来的"keyvalue对"&#xff0c;而如果想要轻松地操作这些属性文件中的属性&#xff0c;可以通过Properties类方便地完成。 <1>设置和取得属性 import java.util.Properties;// // F…

C#基础之如何判断两个文件内容是否相同

使用System.security.Cryptography.HashAlgorithm类为每个文件生成一个哈希码&#xff0c;然后比较两个哈希码是否相同。 该哈希算法为一个文件生成一个小的二进制“指纹”&#xff0c;从统计学的角度来看&#xff0c;不同的文件不可能生成相同的哈希码 要生成一个哈希码&#…

python map lambda 分割字符串_python六剑客:map()、lambda()、filter()、reduce()、推导类表、切片...

一&#xff1a;map():映射map()函数在python2和python3中是区别的python2中的定义&#xff1a;映射后&#xff0c;返回一个列表>>> help(map)Help on built-in function map in module __builtin__:map(...)map(function, sequence[, sequence, ...]) -> listRetur…

WebDAV方式访问Exchange 2003收件箱程序

publicDataTable GetUnReadMail() { stringurl "http://ip/exchange/"; //指定Exchange服务器地址 System.Net.HttpWebRequest Request; System.Net.WebResponse Response; System.Net.CredentialCache MyCredentialCache; stringstrUserName "admi…

Js操作cookie

为什么80%的码农都做不了架构师&#xff1f;>>> 贴上一段js操作cookie的方法&#xff1a; //setCookie function setCookie(cname, cvalue, exdays) { var d new Date(); d.setTime(d.getTime() (exdays*24*60*60*1000)); //day var expires "expires…

网站主机和服务器选哪个,虚拟主机和服务器 你的网站该选择哪一个?

原标题&#xff1a;虚拟主机和服务器 你的网站该选择哪一个&#xff1f;大家在平时使用虚拟主机的时候可能并不了解他的原理&#xff0c;更是分不清楚虚拟主机和服务器之间的区别&#xff0c;不知道自己的网站该如何选择。虚拟主机是通过软件技术将一台服务器分成多个独立WEB发…

Eclipse3.6.2 64位启动报“Failed to load the JNI shared library”错的解决方法

Eclipse3.6.2 64位解压后双击运行eclipse&#xff0c;报“Failed to load the JNI shared library”错误。 如下图所示&#xff1a; 原来我的jdk是以前旧32位系统安装jdk后&#xff0c;不支持Eclipse3.6.2 64位导致报错&#xff0c;无法正常运行。从官网上&#xff1a; http://…

一个长方体玻璃容器从里面量长宽_泰来包装分享:如何设计钢边箱里面中型木包装箱...

钢边箱里面的中型木包装箱是以木质材料为主制成的有一定刚性的包装容器&#xff0c;是产品运输包装的主要容器之一&#xff0c;也是我国出口商品使用非常广泛的一种包装&#xff0c;在轻工&#xff0c;机械&#xff0c;半导体等包装领域起着不可替代的重要作用。关于钢边箱里面…

uml 中的小人

平常画uml的时候&#xff0c;经常会用到Actor, 也没仔细思考过Actor的深刻内涵今天看了程序员11月的杂志&#xff0c;里面有篇文章叫<这个小人不简单>&#xff0c;文章中强调用例技术的不同之处在于发现了"卖"-需求是研究软件怎么好卖的技能。现在对uml有了更深…

快速上手Ubuntu搭建Python编程环境

#Ubuntu 14.04 LTS已经预装Python2/3&#xff0c;可以满足基本的编程需求。#让系统支持aptitude命令sudo apt-get install aptitude -y#将系统升级到最新。sudo aptitude -y upgrade#若需导入turtle来完成一些程序&#xff0c;则需要补充安装python-tk库&#xff1a;#为Python3…

SQL SERVER 事务处理

<1>.事务的概念 事务是一个不可分割的工作逻辑单元。<2>.为什么使用事物 可以防止错误的发生。<3>.事物的作用 要么所有的操作全部完成&#xff0c;要么所有操作都不执行。<4>.什么是事物 事务是单个的工作单元 …

net start zabbix agent 服务没有相应控制功能_一步到位,服务器监控就是这么简单...

对于运维的日常工作来说&#xff0c;服务器监控是必须且最基础的一项内容。在企业基础设施运维过程中&#xff0c;管理员必须能够掌握所有服务器的运行状况&#xff0c;以便及时发现问题&#xff0c;尽可能减少故障的发生。通常我们会借助一些监控的软件来获取每个服务器的基础…

【原题】【noip 2003 T2】【动态规划】加分二叉树

问题 描述 Description 设一个n个节点的二叉树tree的中序遍历为&#xff08;l,2,3,…,n&#xff09;&#xff0c;其中数字1,2,3,…,n为节点编号。每个节点都有一个分数&#xff08;均为正整数&#xff09;&#xff0c;记第i个节点的分数为di&#xff0c;tree及它的每个子树都有…