zoukankan      html  css  js  c++  java
  • 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!

  • 相关阅读:
    基于element-ui图片封装组件
    计算时间间隔具体每一天
    C语言学习笔记 —— 函数作为参数
    AtCoder Beginner Contest 049 题解
    AtCoder Beginner Contest 048 题解
    AtCoder Beginner Contest 047 题解
    AtCoder Beginner Contest 046 题解
    AtCoder Beginner Contest 045 题解
    AtCoder Beginner Contest 044 题解
    AtCoder Beginner Contest 043 题解
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/9973450.html
Copyright © 2011-2022 走看看