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 ...
随机推荐
- Python Tcp Socket
socket(套接字),传输层通信的端点,由IP和端口号组成(IP,Port),可以通过socket精确地找到服务器上的进程并与之通信 python2.6实现,基于AF_INET(网络套接字) 类型S ...
- [bzoj1002][FJOI2007 轮状病毒] (生成树计数+递推+高精度)
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图 ...
- SEO教程:向百度要流量 第一季
首先祝贺你:当你看到这篇文章时,你已经站在一条通往SEO达人捷径的路口. 笔者也是今年年初才成为SEOer的一员,在做SEO的过程中,有不少自己独特的心得体会,所以一直酝酿着写一个SEO系列的文章,将 ...
- 【破解】破解ACDSEE15的方法
1.先从官方下载一个ACDSEE15简体中文版 2.下载注册机(点我下载) 3.修改注册表 修改注册表ACDSee 32位:HKEY_LOCAL_MACHINE\SOFTWARE\ACD System ...
- 【GNOME 边框】GNOME窗口无边框
今天我新装了一台LINUX UBUNTU12.10,顺手就把UNITY换成了GNOME,但是发现边框消失. 大概原因:metacity 不同版本配置之间的冲突. 解决办法:删除home目录下的旧配置文 ...
- Oracle静态监听和动态监听
一.静态注册 静态注册指实例启动时读取listener.ora配置文件,将实例和服务注册到监听程序.无论何时启动一个数据库,默认都有两条信息注册到监听器中:实例和服务.SID_LIST_LISTENE ...
- Canvas Path 绘制柱体
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceS ...
- Android 隐藏输入软键盘
//隐藏输入键盘 ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(BshTo ...
- BZOJ 3550 Vacation
http://www.lydsy.com/JudgeOnline/problem.php?id=3550 题意:有3N个数,你需要选出一些数,首先保证任意长度为N的区间中选出的数的个数<=K个, ...
- 转:完善eclipse+pdt作php开发中的代码提示能力
在eclipse开发中 ,可能由于各种原因导致项目文件(eclipse内置)丢失或错乱, 因而, 失去一些能力.. 以下是经过被痛苦折磨后查阅总结的一点东西 设置完下面内容, 支持以下特性 PHP: ...