【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()

运行结果:

相关推荐
LuckyLay15 分钟前
1.1.2 运算符与表达式——AI教你学Django
python·django
学不会就看15 分钟前
Django--01基本请求与响应流程
后端·python·django
AI+程序员在路上19 分钟前
Qt6中模态与非模态对话框区别
开发语言·c++·qt
nbsaas-boot5 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
仗剑_走天涯5 小时前
基于pytorch.nn模块实现线性模型
人工智能·pytorch·python·深度学习
chao_7895 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
风无雨6 小时前
GO 启动 简单服务
开发语言·后端·golang
斯普信专业组6 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
我是苏苏7 小时前
C#基础:Winform桌面开发中窗体之间的数据传递
开发语言·c#
斐波娜娜8 小时前
Maven详解
java·开发语言·maven