Python函数:函数的定义语法调用参数类型(必选参数缺省参数可选参数关键字可选参数)return返回值函数嵌套

Posted 晚风Adore

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python函数:函数的定义语法调用参数类型(必选参数缺省参数可选参数关键字可选参数)return返回值函数嵌套相关的知识,希望对你有一定的参考价值。


函数是封装后的代码块,可以调用函数执行改代码块实现相同的功能,以便提高复杂代码的开发效率和可读性。

一、函数定义语法

函数分为有参函数和无参函数。

def 函数名():  # 没有参数
    代码块

def 函数名(参数1,参数2,...): # 有参数
    代码块

二、函数调用

语法

函数名()  # 调用无参函数
函数名(参数1,参数2,...) # 调用有参函数

示例

def printNames(): # 函数定义
    print("调用函数printNames()")
    print('lzj')
    print('ddhs')
    pass
printNames() # 调用函数


name = 'lzdf'
height = 179
weight = 65.43
def PrintInfor(name,height,weight):
    print('姓名:{}'.format(name))
    print('身高:{}'.format(height))
    print('体重:{}'.format(weight))
PrintInfor(name,height,weight)

'''
调用函数printNames()
lzj
ddhs
姓名:lzdf
身高:179
体重:65.43
'''

三、参数类型

必选参数

参数定义时有几个,在调用时就要给出相应个数的参数,数据类型也要相同

def sum(a,b): # a和b是必选参数,调用时必须都要赋值
    print(a+b)
    pass
sum(3,15)

'''
18
'''

缺省参数

函数定义时有部分参数或者全部参数有默认值
若同时存在无默认值参数和有默认参数,有默认值参数必须在无默认值参数后面,否则会报错:non-default parameter follows default parameter

def sum1(a=34,b=40): # 形参有默认值
    print(a+b)
    pass
def sum2(a,b=32):
	print(a+b)
	pass

sum1() # 调用时可以不加参数
sum1(1)
sum1(5,23)

sum2(1)
sum2(5,23)

'''
74
41
28
33
28
'''

可选参数

参数的个数不确定,会将输入的函数存在一个元组中,若用元组作为参数调用时必须在元组名前加 *。

语法

def 函数名(*参数名):
	代码块
	...
	pass
tuple1 = (3,5,2,7)
def getComputer(*t): # *定义可选参数,元组类型,参数个数可变
    print(t)
    res = 0
    for item in t:
        res += item
        pass
    print('sum=%d'% res)
    pass
getComputer(1,2)
getComputer(1,3,5)
getComputer(1,3,5,3,5,2,4)
getComputer(*tuple1)
# getComputer(tuple1) 错误调用方法

'''
(1, 2)
sum=3
(1, 3, 5)
sum=9
(1, 3, 5, 3, 5, 2, 4)
sum=23
(3, 5, 2, 7)
sum=17
'''

关键字可选参数

参数个数不确定,有key和value对应,参数组成一个字典,若将字典作为参数调用,需要在字典名前加 ** 。

语法

def 函数名(**参数名):
	代码块
	...
	pass

示例:

dict1 = {'name':'lzjs','age':22}
def keyFunction(**kwargs):
    print(kwargs)
    pass

keyFunction(**dict1)
# keyFunction(dict1)  错误调用方法
keyFunction(name='fgd',age=34)

'''
{'name': 'lzjs', 'age': 22}
{'name': 'fgd', 'age': 34}
'''

混合参数类型

def Complex1(a,*args): # 必选参数和可选函数
    print(a+args[2])
    pass
Complex1(3,4,6,7)


def Complex2(*args,**kwargs): # 可选参数必须放在关键字可选参数之前
    print(args)
    print(kwargs)
    pass
Complex2(1,2,3,4,5)
Complex2(name='jds',age=23,weight=34.63)
Complex2(1,2,3,4,5,name='jds',age=23,weight=34.63)

'''
10
(1, 2, 3, 4, 5)
{}
()
{'name': 'jds', 'age': 23, 'weight': 34.63}
(1, 2, 3, 4, 5)
{'name': 'jds', 'age': 23, 'weight': 34.63}
'''

四、return返回值

函数可以通过return返回数据或对象

def sum(a,b):
    return a+b
    pass
print(sum(4,5))
res = sum(2,45)
print(res)

'''
9
47
'''

返回序列类型的数据,元组的返回有两种格式

def returnTuple():
    return 2,4,3 # 或者是return (2,4,3)
def returnList():
    return [223,44,323]
def returnDict():
    return {'name':'jjsf','age':23}

print(returnTuple())
print(returnList())
print(returnDict())

'''
(2, 4, 3)
[223, 44, 323]
{'name': 'jjsf', 'age': 23}
'''

五、函数嵌套

函数嵌套即在一个函数代码块中调用另一个函数
语法

def Function1():
	pass
	
def Function2():
	Function1()
	pass

示例:

# 给出一个元组数据并计算每相邻两个数的和并存入一个列表类型数据中
def sum(a,b):
    return a+b

def sums(*args):
    pos = 0
    resList = []
    leftIndex = 0
    rightIndex = 1
    for item in args:
        if pos == len(args)-1:
            break
        else:
            resList.append(sum(args[pos],args[pos+1]))
        pos += 1
        pass

    for item in resList:
        print("第{}个数和第{}个数的和: {}".format(leftIndex,rightIndex,item))
        leftIndex += 1
        rightIndex += 1
        pass
    print('计算完毕!')
    return resList

print(sums(2,3,4,5,6))

'''
第0个数和第1个数的和: 5
第1个数和第2个数的和: 7
第2个数和第3个数的和: 9
第3个数和第4个数的和: 11
计算完毕!
[5, 7, 9, 11]
'''

以上是关于Python函数:函数的定义语法调用参数类型(必选参数缺省参数可选参数关键字可选参数)return返回值函数嵌套的主要内容,如果未能解决你的问题,请参考以下文章

Python参数类型以及常见的坑

python语法学习笔记

Python语法注意点

函数应用总结一

python 参数类型理解

python函数语法学习