Python入门篇【函数】

Python函数


文章目录


提示:以下是本篇文章正文内容,下面案例可供参考

一、定义语法

函数是组织好的且可以重复使用,用于实现特定功能的代码段。

★提高代码的复用性,减少重复性代码,提高开发效率。

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

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

1.1 注意项

  • 参数不需要可以省略
  • 返回值不需要可以省略
  • 使用函数必须先声明后调用

二、参数

函数内定义的参数成为形参(形式参数) ,其作用域旨在函数之内,函数外不可以使用。

调用函数时传入的参数成为实参(实际参数) ,其作用域在全局可以使用。

传入的时候要按照顺序传入。

传入参数的数量不受限制。

python 复制代码
# 两数相加
def add(num1, num2):
    return num1 + num2


result = add(7, 4)
print(result)

三、返回值

在程序中函数完成事情之后,最后给调用者的结果,结果用变量来进行接收!。

函数体在遇到return后就算完成了,,同缩进下的代码不再执行。

3.1 None类型

函数在不使用return进行返回值的时候,实际上返回了一个None类型,此类型说明此函数没返回内容,表示空。

  • None类型的应用场景
  • 用在函数无返回值上。
  • 用在if判断上,在if中,None代表False。
  • 用于声明无内容的变量上,定义变量,但暂时不需要此变量有值,用None代替。

四、函数的说明文档

通过给函数添加说明文档,提高代码的整体阅读性。

  • param:变量的解释
  • return:返回值的解释
python 复制代码
def say(X,Y):
    """
    :param X:变量X
    :param Y: 变量Y
    :return:返回
    """
    print("hello")

五、函数的嵌套调用

在一个函数内调用其他函数。

python 复制代码
def say_hello():
    print("请进行调用")


def add(num1, num2):
    """
    
    :param num1: 传入数字1
    :param num2: 传入数字2
    :return: 返回数字1和数字2的和
    """
    say_hello()
    return num1 + num2


result = add(7, 4)
print(result)

五、变量在函数中的作用域

指的是变量的作用范围。

5.1 局部变量

定义在函数内部的变量,其只在函数体内部生效。

在函数体内部,临时保存数据的,当函数调用完成后,则销毁局部变量。

5.2 全局变量

函数内外都可以生效。


5.3 global关键字

在函数内声明变量为全局变量

python 复制代码
nums = 1000


def test_a():
    nums = 2000
    print(f"{nums}")


def test_b():
    global nums
    print(f"{nums}")


test_a()
test_b()
print(f"{nums}")

相关推荐
Highcharts.js6 分钟前
缺失数据可视化图表开发实战|Highcharts创建人员出生统计面积图表示例
开发语言·前端·javascript·信息可视化·highcharts·图表开发
测试员周周5 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
测试19985 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
曲幽7 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
杜子不疼.7 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号37 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia8 小时前
Qt——编辑交互功能的实现
开发语言·qt
石山代码8 小时前
C++ 内存分区 堆区
java·开发语言·c++
前端若水9 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
无风听海9 小时前
C# 隐式转换深度解析
java·开发语言·c#