Python学习笔记五,函数及其参数
在Python中如何自定义函数:其格式为 def 函数名(函数参数):
内容
交互模式下编写函数完毕按两次回车返回>>>
pass作为函数为空函数的占位符(她的意思是什么都不做),也就是说没想好写什么函数,先用pass占位,然后先让程序跑起来;
数据类型检查可以用内置函数isinstance(object,calssinfo)
实现:如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。
函数参数:
函数默认参数:默认情况下n的值为2,所以在传参数的时候只传第一个参数就可以了,如果在调用的时候传参有第二个参数,则会将默认的参数覆盖掉。这样做的好处是不必要每次都输入相同项,非常的方便。如果有多个参数的时候,默认是顺序传入,如果想在本次调用时更改默认的参数值,则在调用函数时直接写 参数名=参数值。这里需要注意的是,
默认参数必须指向不变对象
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
可变参数:当遇到参数不确定的函数时,需要用list或者tuple作为参数。但是调用的时候传入的参数必须是list或者tuple。如果利用可变函数参数,则可以省略这一点,只需要在定义参数的时候前面加上一个*号。*list就是把list中的所有元素作为可变参数传入进去。
关键字参数:以**keyword表示,在参数中以'什么'='什么'的形式传入,并且会自动组装成一个dict;关键字参数不是必选参数;但是也可传入任意个数的关键字参数。
关键字参数的作用在于扩展参数,比如在用户注册时候,有些是必填项,有些事选填项,用户提供更多参数的时候我们同样可以接收,并且直接组织成一个dict;
命名关键字参数:命名的关键字参数是为了限制调用者可以传入的参数名(强制调用者传入命名关键字参数,不传入就报错),同时可以提供默认值。也就是说这个函数只接受命名的关键字参数。这是为了限制关键字参数的个数。
当然也可以设置默认值。此时就可以不用传入默认的命名关键字参数。
组合参数:
在Python中,必选参数,默认参数,可变参数,关键字参数,命名关键字参数可以任意组合使用,非常方便;可变参数无法和命名关键字参数混合
参数定义的顺序必须是:必选参数,默认参数,可变参数和命名关键字参数,关键字参数
Python学习笔记五,函数及其参数的更多相关文章
- Python学习笔记(五)函数和代码复用
函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...
- python学习笔记之函数的参数
函数的参数有位置参数和关键字参数,位置参数一定要在关键字参数的前面,位置参数的优先级是高于关键字参数的,否则会报错 def my_abs(a,b): print(a) print(b) my_abs( ...
- python学习笔记(3)--函数、参数、变量、递归
1.函数基本语法和特性 背景摘要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏出了所有的知识量吗,写出了以下代码 whi ...
- python学习笔记(五)---函数与类
函数 def为定义函数的一个标志 demo1: def greet_user(username): print("Hello, " + username.title() + &qu ...
- Python学习笔记——以函数为参数的内置函数
1.用法 一个参数 def ds(x): return 2 * x + 1 print(ds(5)) 11 g = lambda x : 2 * x + 1 print(g(5)) 11 两个参数 d ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- python学习笔记(五):装饰器、生成器、内置函数、json
一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里 ...
- Python学习笔记_week3_函数
一.介绍 1.面向对象(华山派)--->类(独门秘籍)--->class(定义的关键字) 2.面向过程(少林派)--->过程--->def 3.函数式编程(逍遥派)---> ...
- python学习笔记(四):函数
一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...
随机推荐
- javascript第一课练习
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8& ...
- [C入门 - 游戏编程系列] 环境篇
这一系列笔记的代码都是在Ubuntu 14.04下编码并测试的,原因无他,因为我笔记本电脑只装了一个Ubuntu系统,其中唯一使用的第三方库SDL也是开源并且跨平台的.所以即使你用的是Windows或 ...
- Scala学习文档-各种使用模式的情况
模式在变量定义中 在定义val或者var的时候,可以使用模式替代简单的标识符,如可以使用模式拆分元组,并把每个值分配给变量 val myTuple = (123,"abc") va ...
- YII学习笔记-登录后的session的总结
在YII框架的默认的登录后的session数据是id,name,__states这三个数据. 在搭配好YII框架环境后,可以使用admin/admin,来登录系统.如果在protected/views ...
- BZOJ 2007 海拔
http://www.lydsy.com/JudgeOnline/problem.php?id=2007 思路: 显然海拔是一片0,另一片1,答案就是01的分界线的流量. 本题中的图是平面图,所以求最 ...
- Keil C51 知识点
第一节 Keil C51扩展关键字 深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一.因为大多数扩展功能都是直接针对8051系列CPU硬件的.大致有以下8类: 8051存储类型 ...
- OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from...
OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from... 编译的时候碰到一个常见的错误,但是却在一个陌生的地方爆 ...
- 一个跨域请求的XSS漏洞
场景回顾 一个表单进行跨域提交的方式有很多,我们使用的采用隐藏iframe,在本域下放一个代理页面,通过服务端配合完成一次完整的请求. 首先,部署proxy.html代理页面.这个页面处理服务端返回的 ...
- Android学习笔记__2__Android工程目录结构
一.创建Android工程HelloWorld . src 文件夹里的是源文件 . Android2.2 是引用的类库,这些和 java 的都一样 . gen里面的类就是 ADT 自动生成的啦,一般只 ...
- How to uninstall (remove) JAVA from OS X Lion
Open terminal (Applications -> Utilities -> Terminal) To remove JVM enter folowing: sudo rm -r ...