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}")

相关推荐
Z9fish5 分钟前
sse哈工大C语言编程练习20
c语言·开发语言·算法
纤纡.11 分钟前
PyTorch 入门精讲:从框架选择到 MNIST 手写数字识别实战
人工智能·pytorch·python
kjkdd22 分钟前
6.1 核心组件(Agent)
python·ai·语言模型·langchain·ai编程
小镇敲码人29 分钟前
剖析CANN框架中Samples仓库:从示例到实战的AI开发指南
c++·人工智能·python·华为·acl·cann
萧鼎30 分钟前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv
Anastasiozzzz1 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
刘琦沛在进步1 小时前
【C / C++】引用和函数重载的介绍
c语言·开发语言·c++
alvin_20051 小时前
python之OpenGL应用(二)Hello Triangle
python·opengl
机器视觉的发动机1 小时前
AI算力中心的能耗挑战与未来破局之路
开发语言·人工智能·自动化·视觉检测·机器视觉
铁蛋AI编程实战1 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python