码迷,mamicode.com
首页 > 其他好文 > 详细

函数初识:定义,调用,返回值,参数

时间:2019-11-05 21:39:37      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:限制   class   动态   缩进   上网   网吧   add   ret   UNC   

一 函数的定义,调用,返回值

1.函数的作用: 封装 减少重复代码

2.函数的书写格式

def 关键字 定义一个函数
def 函数名():

缩进 函数体(代码块)

def func():
    print('我')
    print('爱')
    print('你')
    return '1314'  #返回值,将内容返回给调用者
              #不写return或写了return不写值返回None
msg = func()      #函数名() -- 调用
print(msg)

return返回多个变量是,返回的是元祖形式,返回的内容不受限制

函数中当执行到return的时候就结束了,return以下的代码都不执行,并终止这个函数.

return 不能终止循环,只能终止函数

二 函数的参数

2.1 位置参数

def func(addr,addr1):    #形参
    print(f'我在{addr}上网')
    print(f'你在{addr1}睡觉') 
func('网吧','沙发')    #实参 

定义的参数是形参,调用的参数是实参,从实参到形参的过程叫传参

形参就是一个变量名,实参就是值 传参就是在赋值

形参和实参的的数量要一 一对应

2.2 关键字参数(实参的角度)

def func(addr1,addr):    
    print(f'我在{addr}上网')
    print(f'你在{addr1}睡觉') 
func(addr = '网吧',addr1 = '沙发')

2.3 混合参数

def func(addr,addr1):    
    print(f'我在{addr}上网')
    print(f'你在{addr1}睡觉') 
func('网吧',addr1 = '沙发')

注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面

2.4 默认值参数(形参的角度)

def func(addr,addr1= '沙发'):  #默认值参数  
    print(f'我在{addr}上网')
    print(f'你在{addr1}睡觉') 
func('网吧',addr1 = '床上') #下面的addr1的值会覆盖上面的值

注意: 在使用混合参数的时候, 默认值参数必须在位置参数后面

默认值参数一般用于传进来的参数大多数都是一样的

2.5 动态参数

1.动态位置参数 *变量名 万能(接收任意多个)的位置参数

def eat(a,b,*args,c='白菜'): #聚合打包
    print('我想吃',a,b,args,c) #元祖形式(接受的是位置参数)
eat('猪肉','粉条','豆腐','大葱')

结果:
我想吃 猪肉 粉条 (‘豆腐‘, ‘大葱‘) 白菜

def eat(a,b,*args,c='白菜'): 
    print('我想吃',a,b,*args,c) #打散
eat('猪肉','粉条','豆腐','大葱')

结果:
我想吃 猪肉 粉条 豆腐 大葱 白菜

动态参数必须在位置参数后面

形参的顺序: 位置参数 , 动态位置参数 , 默认参数

2.动态关键字参数 **变量名

def func(**kwargs):  
    print(kwargs)  # 字典形式(接收的是关键字参数)   
func(a=1, b=2, c=3)

结果:

{‘a‘: 1, ‘b‘: 2, ‘c‘: 3}

def func(**kwargs):  
    print(*kwargs)  # 得到的是字典的键
func(a=1, b=2, c=3)

结果:

a b c

def func(a,b,*args,c=1,**kwargs):
    print(a,b,c,args,kwargs)
func(1,2,3,4,5,6,7,8,9,c=55,d=1,f=3)

结果:

1 2 55 (3, 4, 5, 6, 7, 8, 9) {‘d‘: 1, ‘f‘: 3}

位置参数 > *args(动态位置参数) > 默认值参数 > **kwargs(动态默认参数)

传列表

lst = [1,4,7]
def func(*args):
    print(args)
func(*lst)    #打散 去壳
#在实参的位置上用*将lst(可迭代对象)按照顺序打散在#形参的位置上用*把收到的参数组合成一个元祖

传字典

dic = {'a':1,'b':2}
def func(**kwargs)
    print(kwargs)
func(**dic)  #字典的键必须是字符串

三 函数的注释

在函数里"""回车"""

函数名.__doc__ 查看函数的注释 

函数初识:定义,调用,返回值,参数

标签:限制   class   动态   缩进   上网   网吧   add   ret   UNC   

原文地址:https://www.cnblogs.com/lav3nder/p/11801498.html

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