形式:

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

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

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

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

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

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

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

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

 #可变参数
def calc(numbers):
sum = 0
for i in numbers:
sum += i
return sum
def calc1(*numbers):
sum = 0
for i in numbers:
sum += i
return sum
#可变参数与不可变参数
print calc([1,2,3])
print calc((1,2,3))
print calc1(1,2,3)
#如果可变参数调用的的是一个list,那么我们可以使用这种形式
l = [1,2,3]
print calc1(*l)

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

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

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

 def all(a,b,c=0,*d,**e):
print 'a:',a
print 'b:',b
print 'c:',c
print 'd:',d
print 'e:',e
all(1,2,3,4)
all(1,2,3,4,5,6,7,asa = 8)
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. 工信部:我国4G用户近9.5亿 用户平均使用流量近2G

    刚刚沿着广场转了一圈,我竟发现自己离他只有几步之遥,又在那条人行道上,刚才催促我前进的自豪感突然之间被惊慌代替.陌生人看着我,脸上流露出一种遗憾的表情,他向我靠近,轻轻摇着脑袋,像是为某个不受人控制的 ...

  2. WordCount项目

    采用的源码来自http://blog.csdn.net/lnz001/article/details/54851551 经修改后,已上传至GitHub.https://github.com/FengX ...

  3. Entity Framework Core 2.0 使用入门

    一.前言 Entity Framework(后面简称EF)作为微软家的ORM,自然而然从.NET Framework延续到了.NET Core.以前我也嫌弃EF太重而不去使用它,但是EF Core(E ...

  4. 关于tarjan算法的空间优化

    最近随着对tarjan算法理解的加深,我发现用另外一种途径实现tarjan的方法,且可以省去DFN数组,大大节省了空间.经过大量测试,已经无误.以下将分阶段阐述进行优化的过程. 第一阶段 下面来说一下 ...

  5. Mapper 动态代理方式

    Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法. Mapper接口开发 ...

  6. Java基础-Random类(05)

    随机数(Random) 作用:用于产生一个随机数 使用步骤(和Scanner类似) 导包import java.util.Random; 创建对象Random r = new Random(); 获取 ...

  7. phalcon——调度控制器

    将侦听者绑定到组件上: use Phalcon\Mvc\Dispatcher as MvcDispatcher, Phalcon\Events\Manager as EventsManager; $d ...

  8. LeetCode 572. Subtree of Another Tree (是否是另一个树的子树)

    Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and no ...

  9. LeetCode 152. Maximum Product Subarray (最大乘积子数组)

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  10. 使用angular4和asp.net core 2 web api做个练习项目(二), 这部分都是angular

    上一篇: http://www.cnblogs.com/cgzl/p/7755801.html 完成client.service.ts: import { Injectable } from '@an ...