python基础一 day8 函数

函数的定义与函数的调用是两个部分

定义函数的时候里面的代码不执行,等到调用函数的时候再执行

  

只写return和不写return返回None

函数遇到return,这个函数就被结束

          

元祖和列表都可以解包,字典也可以

def func():
    lis=['火狐','谷歌']
    for i in lis:
        print(i)
    return 0
def func1():
    print(func()) #这里返回的是return 0 后面的0,不打印什么也没有
    lis=['火狐','谷歌']
    for i in lis:
        print(i)
    return 1
print(func1())
内容

 参数:

#站在实参的角度上:
#按照位置传参
#按照关键字传参
#混着用可以:但是 必须先按照位置传参,再按照关键字传参数 (a=1,b=2)(1,2)(1,b=2)可以 (a=1,2)(1,a=2)不可以
# 不能给同一个变量传多个值


#站在形参的角度上
#位置参数:必须传,且有几个参数就传几个值
#默认参数: 可以不传,如果不传就是用默认的参数,如果传了就用传的
def classmate(name,sex=''):
    print('%s : %s'%(name,sex))

classmate('二哥')
classmate('小孟')
classmate('大猛')
classmate('朗哥','')
#只有调用函数的时候 实参
#按照位置传 : 直接写参数的值
#按照关键字: 关键字 = 值

#定义函数的时候: 形参
#位置参数 : 直接定义参数
#默认参数,关键字参数 :参数名 = '默认的值'
#动态参数 : 可以接受任意多个参数,
            #参数名之前加*,习惯参数名args,
            #参数名之前加**,习惯参数名kwargs
#顺序:位置参数,*args,默认参数,**kwargs

def classmate(name,sex):
    print('%s : %s'%(name,sex))

classmate('二哥','')
classmate(sex='',name = '二哥')

def classmate(name,sex=''):
    print('%s : %s'%(name,sex))

classmate('二哥')
classmate('朗哥',sex= '')
View Code
# 动态参数有两种:可以接受任意个参数
#*args : 接收的是按照位置传参的值,组织成一个元组
#**kwargs: 接受的是按照关键字传参的值,组织成一个字典
#args必须在kwargs之前























原文地址:https://www.cnblogs.com/wang-tan/p/11016573.html