Python函数(一):函数的定义语法、调用、参数类型(必选参数、缺省参数、可选参数

本文详细介绍了Python中的函数概念,包括函数定义语法(区分有参无参)、函数调用、参数类型(必选、缺省、可选、关键字和混合),以及return返回值和函数嵌套。通过实例展示了如何使用这些功能来提高代码复用性和可读性。
摘要由CSDN通过智能技术生成
  • 一、函数定义语法

  • 二、函数调用

  • 三、参数类型

    • 必选参数

    • 缺省参数

    • 可选参数

    • 关键字可选参数

    • 混合参数类型

  • 四、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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/a5bea086a4c98d271a9ddf2e52ce0bf9.png)

 

![img](https://img-blog.csdnimg.cn/img_convert/e1dbd4d7a2f203417d7a7d6ee13d1ea5.png)

![img](https://img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)

![img](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

![img](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

<img src="https://img-community.csdnimg.cn/images/fd6ebf0d450a4dbea7428752dc7ffd34.jpg" alt="img" style="zoom:50%;" />
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值