首页 > 编程语言 > 详细

python入门15 函数

时间:2018-11-17 12:54:22      阅读:127      评论:0      收藏:0      [点我收藏+]

 函数

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!

python入门15 函数

原文:https://www.cnblogs.com/dinghanhua/p/9973450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!