zoukankan      html  css  js  c++  java
  • python学习笔记 函数

    形式:

    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
    View Code

    上面函数如果修改为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
    View Code

    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)
    View Code

    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 #可变参数与不可变参数
    View Code

    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])
    View Code
  • 相关阅读:
    Socket实现Web应用的本质
    板凳要坐十年冷 代码不写一句空
    Python写的刷QB钓鱼盗号软件
    除法细节_Python小知识点00005
    标识符,变量的命名_Python小知识00003
    类和ID选择器的区别
    十分钟搞定CSS选择器
    HTML引入CSS样式三种方法及优先级
    CSS代码语法
    html form <label>标签基础语法结构与使用案例教程
  • 原文地址:https://www.cnblogs.com/silence-tommy/p/6483176.html
Copyright © 2011-2022 走看看