• python入门15 函数


     函数的主要作用是实现代码复用

    1 python内置函数

    2 匿名函数lambda

    3 自定义函数 def functionname(arg):...

    #coding:utf-8
    #/usr/bin/python
    """
    2018-11-11
    dinghanhua
    函数
    """
    
    '''内置函数'''
    print(round(2.345,2)) #四舍五入,保留2位小数;绝对值
    print(abs(-23.333)) #绝对值
    
    
    '''匿名函数 lambda'''
    lambda x: x**2 #匿名函数
    print(list(map(lambda x:x**3,(1,2,3))))  #x的3次方
    print(list(filter(lambda x:x%2==0 , [1,2,33,44]))) #取偶数
    '''自定义函数'''
    
    '''函数定义'''
    def funcname(arg,sign):
        '''函数说明'''
        print('arg=%s,sign=%s'%(arg,sign))
        return
    
    '''带缺省值的函数'''
    def funcname2(name,nation = 'china'): #第二个参数带缺省值,缺省参数放到最后
        print('name is %s,nation is %s'%(name,nation))
        return name,nation
    
    '''函数调用'''
    #不带参数名,按顺序赋值
    res = funcname('wegjoweg','no sign')
    print('没有返回值,返回:',res)
    #指定参数名,顺序可打乱
    funcname(sign = 2,arg = 'ok')
    
    #缺省参数未传参
    res = funcname2('小明')
    print(res)
    #缺省参数传参
    res = funcname2('peter','Americia')
    print('返回多个值,返回的是一个tuple:',res)
    '''缺省参数=list 出现的异常'''
    def func(val,list=[]):
        list.append(val)
        return list
    list1 = func(10)
    list2 = func('abc',[])
    list3 = func('2')
    print(list1,list2,list3) #[10, '2'] ['abc'] [10, '2']  list1和list3同一个地址,均指向缺省参数的内存地址
    
    #规避以上问题,list=None
    def func(val,list=None):
        if list is None:
            list = [] #每次创建一个
        list.append(val)
        return list
    list1 = func(10)
    list2 = func('abc',[])
    list3 = func('2')
    print(list1,list2,list3) #[10] ['abc'] ['2']
    '''可变参数*arg,取出来是元组'''
    def func(name,*other):
        print('name=%s,other=%s'%(name,other))
    
    func('john',18,'一年级')
    func('peter',20)
    
    
    '''可变参数**arg,取出来是字典'''
    def func(name,**other):
        print('name=%s,other=%s'%(name,other))
    
    func('john',age=18,grade='一年级')
    other = {'age':18,'grade':'grade 1'}
    func('peter',**other)

    the end!

  • 相关阅读:
    PHP array_intersect_uassoc
    PHP array_intersect_key
    PHP array_intersect_assoc
    PHP array_flip
    PHP array_filter
    PHP array_fill
    PHP array_fill_keys
    Android4.0-Fragment框架实现方式剖析
    Fragment 生命周期
    WebView
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/9973450.html
Copyright © 2020-2023  润新知