8.函数及参数

函数及参数

一.函数

​ 1.含义:包裹一部分代码 实现某一个功能 达成某一个目的

​ 2.特点:可以反复调用,提高代码的复用性,提高开发效率,便于维护管理

​ 3.函数的格式:

定义函数:
def 函数名():
    code
调用函数:
函数名()

​ 4.函数的命名:

命名规则与变量一样:
	字母数字下划线,首字符不能用数字
	严格区分大小写,且不能用关键字
	函数命名有意义,且不能是中文

命名法:单词与单词之间用_隔开=>my_car
驼峰命名法:
    大驼峰命名法:每个单词首字符都大写(面向对象-类)
    小驼峰命名法:第一个单词首字符小写,其他首字符大写(用在函数中)

二.函数参数

1.参数种类
参数含义:函数运算时需要的值
函数参数的种类:
	1.形参:形式上的参数,在函数的定义处
	2.实参:实际上的参数,在函数的调用处
	形参种类:1.普通形参,2.默认形参,3.普通收集形参,4.命名关键字形参,5关键字收集形参
	实参种类:1.普通实参,2.关键字实参
形参声明位置顺序:1=>2=>3=>4=>5
实参声明位置顺序:1=>2
原则:形参实参个数要一一对应
2.形参

​ 2.1普通形参

def func(a,b):
    print(a,b)
func(11,22)		#普通实参
func(a=1,b=2)	#关键字实参

​ 2.2默认形参

"""
a=1,b=2 是默认形参
如果给与了实参,那么使用实参值
如果没有给与实参,那么使用默认值
"""
def func(a=1,b=2):
    print(a,b)
func(11)
func(11,33)

​ 2.3收集形参

# 收集参数:普通收集形参和关键字收集形参
# 1.普通收集形参
"""
功能:专门用来收集那些多余没人要的普通实参
语法:在参数的前面加上一颗星(*args)
返回:一个元组
"""
def func(a,b,*args):
    print(a,b,args)
func(1,2,3,4,5,6,7)

# 作用:可以提前任意值
# 计算任意个数数值的累加
def func(*args):
    total=0
    for i in args:
        total +=i
    print(total)
func(1,2,3,4,5,6,7,8)

# 2.关键字收集参数:
"""
功能:专门用来收集多余没人要的关键字实参
语法:在参数的前面加上两颗星(**kwargs)
返回:一个字典
"""
def func(a,**kwargs):
    print(a,kwargs)

func(a=11,b=22,c=33,d=44,e=55)

# 作用:可以做任意数值的字符串拼接
def func(**kwargs):
    strvar1=""
    strvar2=""
    dic={"a":"呵呵","b":"哈哈"}
    for k,v in kwargs.items():#把字典的键值对变成元组,提取元组元素
        if k in dic:
            strvar1 +=dic[k]+":"+v+"
"
        else:
            strvar2 +=v +","
    print(strvar1.strip())
    print("无用的:",strvar2.strip(","))
func(a="11",b="22",c="33",d="44",e="55")

​ 2.4命名关键字形参

"""
两种表达形式:
1.def func(a,*,b,c):在星号后面定义的是命名关键字形参(b,c)
2.def func(*args,b,**kwargs):在普通收集形参和关键字收集形参中间的是命名关键字形参
如果是命名关键字形参,在调用时,必须使用关键字实参的方式调用
"""
# 方法一:
def func(a,b,*,c,d):
    print(a,b)
    print(c,d)
func(11,22,c=33,d=44)

# 方法二:
def func(*args,a,**kwargs):
    print(args)
    print(a)
    print(kwargs)
func(2,3,4,3,a=111,b=222,c=333)

​ 2.5 * 和 ** 的使用方法

* 和 ** 的使用方法:
    1.在定义处:负责收集打包数据
        *:负责收集打包成元组
       **:负责收集打包成字典
    2.在调用处:负责打散解包数据
        *:负责对str list tuple set dict解包成单独的数据(字典只能解包键)
       **:负责dict 打散解包成单独的(键=值)的形式

三.return 自定义返回值

"""
return:会把函数内部的值返回到函数的调用处
1.return后面可以接:六大标准类型,还可以接函数,类,对象
2.没有自定义返回值,默认返回的None
3.执行完return后,函数直接终止,后面的代码不执行;
"""
# 1.return的基本使用
def func():
    # return "df " 
    return [1,2,3]
print(func())

# 2.return 运行之后,后面代码不执行
def func():
    for i in range(10):
        print(i)
        if i==5:    
            return
print(func())   #返回空值
#注意:打印的数据与自定义的数据不是一个值
原文地址:https://www.cnblogs.com/jia-shu/p/14071383.html