Python程序设计--第5章 函数设计与使用

由于支持list对象作为参数,就给参数传递提供了极大的灵活性。

def f_2(num):
    '''double ini num'''   
    return num*2
#开头部分以'''定义的注释,在代码编辑器中调用该函数时,会显示该注释
x=f_2(3)

#虚参与实参
#当将list、dict等可变序列作为参数时,函数内对参数的修改,会反映到函数外
def f_1(num):
    num[0]=num[0]*2
#尽量通过return返回值,不要通过列表参数的方式返回值
x=[2,3]
f_1(x)  
print(x)  #[4,3] 

#列表的sort方法和内置函数sorted的不同
#列表的sort属于原地操作,直接修改变量,没有返回值
#sorted返回排序后的列表,不对原始列表做修改
x=[3,8,5]
y=x.sort() #x=[3,5,8] ,y=None
x=[3,8,5]
y=sorted(x) #x=[3,8,5],y=[3,5,8]

#可变长度参数 *p
# *p 函数可以接受任意个数的实参,并将其作为元组处理
def f_sum(*p):
    x=sum(p)
    return x

a=f_sum(1,2)     #a=3
a=f_sum(1,2,3,0)  #a=6

def f_sex(p):
    x={}
    for i in p:
        if i=='m':
            x['m']=x.get('m',0)+1
        else:
            x['f']=x.get('f',0)+1
    return(x)

s='mmffm'
a=f_sex(s)
print('m=',a['m'],'f=',a['f'])

 

posted @ 2019-07-15 10:02  notis  阅读(364)  评论(0编辑  收藏  举报