【Python从小白到高手】---函数基础

个人主页:平行线也会相交

欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创

收录于专栏【Python小白从入门到精通】🎈

本专栏旨在分享学习Python的一点学习心得,欢迎大家在评论区讨论💌

目录

一、函数定义

在python中,函数的定义格式如下:

python 复制代码
def 函数名(参数)
	函数体
	return 返回值

函数调用:函数名(参数)

需要注意的是:如果不需要参数,也需要把括号(相当于一个空阔号)写上;如果不需要返回值的话可以省略;函数必须先定义后使用

二、函数传入参数的使用

函数传入参数的作用:在函数进行计算的时候,接收外部(在函数调用时)提供的数据。

这里我们来实现一个加法的函数,请看:

python 复制代码
#函数定义
def add(x,y):
    sum = x + y
    print(f"{x}+{y}的和为{x+y}")

#函数调用
add(10,20)

结果如下:

解释x、y称之为形参 ,而传入的5、6称为实参。

当然,有时我们不需要使用参数,有时我们会使用任意N个参数来使用,具体要根据我们的需求来决定是否要使用参数。

注意:

  • 函数定义时使用的参数称为形式参数
  • 函数调用时使用的参数称为实际参数

三、返回值的使用

返回值:返回值就是函数还给调用者的一个最终结果。

我们还是以上面的加法函数来举一个带有返回值的例子,请看:

cpp 复制代码
#函数定义
def add(x,y):
    return x + y

#函数调用
sum = add(10,20)
print(sum)

结果如下:

这里需要注意的是:函数体在遇到return后就不会再往后执行了,后面所有的代码将不再执行。

四、None类型

首先我们需要明确的是:函数本质上都有返回值。

如果我们不写return来返回一个值的话,函数则会返回None这个字面量。

None类型为<class 'NoneType'>

None表示空的,无意义的意思。

还是来进行举例来帮助大家理解,请看:

cpp 复制代码
def fun():
    print("hello world")

result = fun()
print(f"返回结果为{result}")
print(f"返回结果的类型为{type(result)}")

运行结果

None类型的使用场景

None类型的使用场景主要有三个:

1.用在函数无返回值上
2.用在if判断上

在if判断中,None相当于False一般会和if判断搭配使用
3.用在声明五内容的变量上

我们先来看用在if判断上,请看举例:

cpp 复制代码
def check_age(age):
    if age >= 18:
        return "success"
    return None

result = check_age(5)

if not result:
    print(f"result的类型为{type(result)}")
    print("还未成年,不可以进入")

运行结果如下:

None也用于无内容的变量上 :如果暂时不需要变量有具体值,可以为其赋值None,比如:name = None

五、函数的嵌套调用

函数的嵌套调用:即一个函数中又调用了另外一个函数。

举例:

cpp 复制代码
def fun_b():
    print("fun_b")
def fun_a():
    print("fun_a")
    fun_b()

fun_a()

运行结果:

相关推荐
MATLAB代码顾问5 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
ting94520005 小时前
Tornado 全栈技术深度指南:从原理到实战
人工智能·python·架构·tornado
果汁华5 小时前
Browserbase Skills:让 Claude Agent 真正“看见“网页世界
人工智能·python
ZhengEnCi5 小时前
04-缩放点积注意力代码实现 💻
人工智能·python
DeepReinforce6 小时前
三、AI量化投资:使用akshare获取A股主板20260430所有的涨停股票
python·量化·akshare·龙头战法
段一凡-华北理工大学6 小时前
【高炉炼铁领域炉温监测、预警、调控智能体设计与应用】~系列文章08:多模态数据融合:让数据更聪明
人工智能·python·高炉炼铁·ai赋能·工业智能体·高炉炉温
万粉变现经纪人6 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒6 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼6 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
callJJ7 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring