-
一、函数定义语法
-
二、函数调用
-
三、参数类型
-
-
必选参数
-
缺省参数
-
可选参数
-
关键字可选参数
-
混合参数类型
-
-
四、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)
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**






**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**
[外链图片转存中...(img-53b57CME-1713634520481)]
[外链图片转存中...(img-pS1s53wt-1713634520481)]


**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**
