python中函数详解

'''
1、什么是函数?
函数是一种工具,封装一个可重复调用的代码块

2、为什么要用函数?
①如果不使用函数,代码将变得冗余。
②可读性差

3、怎么用函数?
定义函数
调用函数
'''

函数分为:有参函数、无参函数、空函数

# 有参函数
def add(x, y):
    return x + y


# 无参函数
def welecome():
    print('welecome to my home!')


# 空函数
def login():
    pass

函数的返回值:

'''
1、不写return,默认返回None
2、只写return,只有结束函数体代码的效果,返回None
3、return None,与只写return的效果一样
4、return 一个值,可以将返回的结果当成一个变量来使用
5、return 多个值:
    1、默认返回一个元组
    2、可以自己指定返回的数据类型
    3、函数的返回值不想被修改
'''

函数的参数:

'''
1、参数的类型:
    形参:函数定义时的参数
    实参:函数调用时,将实参传递给形参
2、传参的方式:
    位置传参:默认以位置一一对应
    关键字传参:指定形参
    默认参数:当没有传入参数时,函数默认的参数
3、可变长参数:
    *args:接收所有溢出的位置参数
    **kagrs:接收所有的关键字参数
    *:放到实参中将可迭代对象打散
'''

函数的定义与命名规范:

'''
函数的命名规范与变量名一样
关键字def 函数名(index) 括号:
    函数描述:函数的功能描述
'''

 实参与形参:

x = 1 
y = 2
a = 3
b = 4
def add(a, b):  # a,b为形参
    print(a + b)
add(x, y)    # x,y为实参

>>>output:3
View Code

关键字参数:

def register(name,age):
    print(f'name:{name}
age:{age}
gender:{gender}')

register('yyh',18,)
register(age=18,name='yyh')

# 位置参数一定一定要在关键字参数之前
register(age=18,'yyh') # 报错 positional argument follows keyword argument
View Code

 默认参数:

def register(name,age,gender='male'):
    print(f'name:{name}
age:{age}
gender:{gender}')

register('yyh',18,)
View Code

可变长参数:

def add(x,y,*agrs):   # *args接收所有溢出参数
    sum = x + y
    for i in agrs:
        sum += i
    return sum


print(add(1, 2,3,4,5))

>>>ouput:15
View Code
def join(name1,name2,**kwargs):
    print(name1,name2)
    for key,value in kwargs.items():
        print(key,value)

join('egon','jason',name3='yyh',name4='sean')

>>>output:
egon jason
name3 yyh
name4 sean
View Code
def foo(a, b, c, d, e, f):
    print(a, b, c, d, e, f)


def bar(*agrs, **kwargs):
    foo(*agrs, **kwargs)

bar(1,2,3,4,10,20)
View Code
原文地址:https://www.cnblogs.com/Ghostant/p/11826800.html