python 函数

封装函数的好处:代码复用

1.语法:

def functionname(parameters):    

    #函数文档字符串    

    function_suite    

    return[expression]

2.无参函数:

>>> def print_str():

...     print "hi"

...

3.有参函数--必备参数:

>>> def add(a,b):

...     if isinstance(a,(int,long,float)) and isinstance(b,(int,long,float)):

...         return a+b

...     return None

... >>> print add(1,2) 3

(1)可变参数:

#coding=utf-8 a=[1]

def print_sth(s):    

    s.append(2)    

    return s

print print_sth(a) print a

(2)不可变参数:

#coding=utf-8 a=1

def print_sth(s):    

    s=s+1    

    return s

print print_sth(a)

print a

(3)命名参数:

>>> def add(x,y,z):

...     return x+y+z

... >>> print add(2,z=3,y=4)

9

(4)缺省参数:

def say(message, times = 1):    

    print message * times

say('helloworld')

say(u'万岁!', 3)

(5)带返回值的函数:

#函数返回值,没有返回值的返回None

def add(operandA,operandB):    

    return float(operandA)+float(operandB)

(6)返回一个元组的函数

def func(a,b):    

    return(a,b)

print (5,6)

(7)可变参数的函数:

def get_old_num(*args):  #参数是元组  

     list1=[]    

    for i in args:         

        if isinstance(i,int):            

            if i%2 !=0:                

                list1.append(i)        

        else:            

            continue       

    return tuple(list1)

print get_old_num(1,2,3,4,"a","b")

 

def fun2(a,b=100,*args,**keys):     #参数是元组、字典

    print "keys type=%s" % type(keys)    

    print "keys=%s" % str(keys)    

    print "name=%s" % str(keys['name'])    

    print "sex=%s" % str(keys['sex'])    

    sum=0    

    for i in args:        

        sum+=i    

    print sum+a+b

fun2(1,2,3,4,name="vp",age=19,sex="m")

 

posted @ 2017-12-10 00:04  reyinever  阅读(113)  评论(0编辑  收藏  举报