码迷,mamicode.com
首页 > 编程语言 > 详细

python入门15 函数

时间:2018-11-17 13:19:04      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:赋值   cti   调用   nbsp   返回值   匿名   size   ros   顺序   

 函数

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 函数

标签:赋值   cti   调用   nbsp   返回值   匿名   size   ros   顺序   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!