形式:

def function(a,b,c=0,*args,**kw)#a,b必选参数,*args可变参数,**kw关键字参数

1.函数的返回值可以是多个参数。多个参数时,实际上返回的是一个tuple

2.c=0,是默认参数,但是需要注意的是,其是否初始化的问题。

  1. def add_end(L = None):#不能直接写L=[]因为两次重复调用,会出现问题。详情可以看http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000
  2. if L == None:
  3. L = []
  4. L.append('END')
  5. return L

上面函数如果修改为L=【】,重复多次调用add_end会出现问题

3.记得要检查参数类型 isinstance(args,(type1,.....))

  1. #z实际上一般的函数是需要检查函数类型的。一般使用内置函数isinstance()
  2. def myabs(x):
  3. if not isinstance(x,(int,float)):
  4. raise TypeError("bad operand type")
  5. if x >= 0:
  6. return x
  7. return -x

4.可变参数,其形式为*args.在调用时,使用func(1,2,3,4)时,其实其用到的是tuple,也就是说其参数不可改变。

  1. #可变参数
  2. def calc(numbers):
  3. sum = 0
  4. for i in numbers:
  5. sum += i
  6. return sum
  7. def calc1(*numbers):
  8. sum = 0
  9. for i in numbers:
  10. sum += i
  11. return sum
  12. #可变参数与不可变参数
  13. print calc([1,2,3])
  14. print calc((1,2,3))
  15. print calc1(1,2,3)
  16. #如果可变参数调用的的是一个list,那么我们可以使用这种形式
  17. l = [1,2,3]
  18. print calc1(*l)

5。**kw为关键字参数,其为一个dict

  1. #关键字参数 **kw
  2. def kw(name,job,**kw):
  3. print 'name:',name, 'job:',job,'other',kw
  4. calc1(1,2,3,4)
  5. #关键字参数
  6. kw('tom','doc',gender = 'M')
  7. #可变参数与不可变参数

6. 多种参数综合使用时注意其使用顺序,另外需要注意的是**key种的key不能使用已经出现的参数名

  1. def all(a,b,c=0,*d,**e):
  2. print 'a:',a
  3. print 'b:',b
  4. print 'c:',c
  5. print 'd:',d
  6. print 'e:',e
  7. all(1,2,3,4)
  8. all(1,2,3,4,5,6,7,asa = 8)
  9. all(1,2,[3,4,5,6,7])

python学习笔记 函数的更多相关文章

  1. Python学习笔记 - 函数参数

    >>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...

  2. Python学习笔记—函数

    函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...

  3. Python学习笔记 — 函数

    函数是对程序逻辑进行结构化或过程化的一种编程方法.函数具有两个方面的意义:1)将代码分块,易于管理和阅读:2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性. 1. 函数定义 Python ...

  4. Python学习笔记-函数基础

    函数基础 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 为什么使用函数:减少重复代码.使程序变的可扩展使程序变得易维护 1.定义一个函数 #定 ...

  5. 04 python学习笔记-函数、函数参数和返回值(四)

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...

  6. python学习笔记-函数与可变长参数

    一.函数 1. def test(x): y=x+1 return yprint(test) #这是打印函数在内存中的地址 过程:就是没有返回值的函数 在python中过程也是函数,就算没哟返回值,也 ...

  7. Python学习笔记——函数

    1.标准类型内建函数 <1>type() —— 返回对象的类型 <2>cmp() —— 比较两个对象,返回两个对象的ASCII码的差 <3>str().repr() ...

  8. Python学习笔记(二):条件控制语句与循环语句及常用函数的用法

    总结的内容: 1.条件控制语句 2.while循环语句 3.for循环语句 4.函数的用法 一.条件控制语句 1.介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决 ...

  9. Python学习笔记014——迭代工具函数 内置函数enumerate()

    1 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 2 语法 enumerate(sequ ...

随机推荐

  1. 墨卡托投影坐标系(Mercator Projection)原理及实现C代码

    墨卡托投影是一种"等角正切圆柱投影",荷兰地图学家墨卡托(Mercator)在1569年拟定:假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面 ...

  2. eclipse远程调试Linux环境下的web项目

    前提: 远程服务器上的代码和本地的代码同步 第一步 : 配置远程服务器下的startup.sh文件 在第一行添加 : declare -x CATALINA_OPTS="-server -X ...

  3. EF 数据重复和缺失问题(select 错误 )

    字段有 id,name,password,sex 1.错误举例: var data = db.User.Select(d => d):   2修正 var data = db.User.Sele ...

  4. Java的绝对路径和相对路径

    Java的绝对路径和相对路径 参考:http://blog.csdn.net/u011225629/article/details/46872775 1. 绝对路径 以根部件开始的路径是绝对路径,比如 ...

  5. MySQL分区表与合并表

    一.分区表 1. 什么是分区表? 对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成(所以索引也是按照分区的子表定义的, 而没有全局索引).实现分区的代码实际上是对一组底层表的句柄对象的 ...

  6. LeetCode 530. Minimum Absolute Difference in BST (二叉搜索树中最小绝对差)

    Given a binary search tree with non-negative values, find the minimum absolute difference between va ...

  7. 一起来学linux:SSH远程登陆

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 在最早的远程连接技术,主要是telnet和RSH为主.缺点也很明显,就是明文传输.在 ...

  8. Idea报错Check $M2_HOME environment variable and mvn script match.

    -Dmaven.multiModuleProjectDirectory=$M2_HOME

  9. 前端开发:如何写一手漂亮的 Vue

    前几日听到一句生猛与激励并存,可怕与尴尬同在,最无奈也无解的话:"90后,你的中年危机已经杀到".这令我很受触动.显然,这有些夸张了,但就目前这日复一日的庸碌下去,眨眼的功夫,那情 ...

  10. CentOS7安装GitLab、汉化及使用

    同步首发:http://www.yuanrengu.com/index.php/20171112.html 一.GitLab简介 GitLab是利用Ruby On Rails开发的一个开源版本管理系统 ...