0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解python普通函数创建与调用

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-01 16:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

python普通函数创建与调用

函数是一种仅在调用时运行的代码块。您可以将数据(称为参数)传递到函数中,然后由函数可以把数据作为结果返回。

如果将函数比喻成蛋糕店的话,那么函数的参数就是生产蛋糕的原材料,而函数的返回值就是蛋糕成品。

1. 函数的创建

在 Python 中,使用 def 关键字定义函数

def 函数名(参数): # 内部代码 return 表达式

举个例子,我这边手动实现一个计算两个数平均值的函数,这边这样子写

def get_average(a, b):
    '''
    计算平均值
    '''
    result = (a + b)/2
    return result

在定义函数的过程中,需要注意以下几点:

函数代码块以def关键词开头,一个空格之后接函数标识符名称和圆括号(),再接个冒号。

任何传入的参数必须放在圆括号中间。

函数的第一行语句后可以选择性地使用文档字符串—用于存放函数说明。

函数内容以冒号起始,并且缩进。

使用return,返回值给调用者,并结束函数。return 关键并不是必须要加,可根据实际需要决定是否要写,若不写的话,默认返回None。

return语句依然在函数体内部,不能回退缩进。直到函数的所有代码写完,才回退缩进,表示函数体结束。

2. 函数的调用

函数编写出来就是给人调用的。要调用一个函数,必须使用函数名后跟圆括号的方式才能调用函数。

调用的同时要根据函数的定义体,提供相应个数和类型的参数,每个参数之间用逗号分隔。

def get_average(a, b):
    '''
    计算平均值
    '''
    result = (a + b)/2
    return result
average = get_average(2, 6)
print(average)  # output: 4

4. 函数的返回

函数的返回值,可以是多种多样的,非常灵活:

可以是任意类型的对象,比如字符串,数值,列表,字典等等

def demo_func():
    return 10

可以是一个表达式,函数会直接运行表达式,然后返回

def get_average(a, b):
    return (a + b)/2

可以是函数本身,利用这点可以实现递归调用。

def fact(n):
    if n==1:
        return 1
    return n * fact(n - 1)

另外还可以返回多个值

def demo_func():
    return 1,2.3

可以是其他函数,利用这点可以实现装饰器

def decorator(func):
    def wrapper(*args, **kw):
        return func()
    return wrapper

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66839
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73151
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89586
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    系统调用和API有什么区别呢?

    们提供的“API”。 通过这些操作系统提供的API,我们可以创建进程、创建线程、读写文件等等,同时我们也根本不需要关心操作系统是如何创建进程、线程的等等。 可是,系统调用毕竟名字很独特
    发表于 12-03 06:52

    LABVIEW 2023 Q1调用python后一直报错1671

    LABVIEW 2023Q1调用python后一直报错1671报错信息:PythonNode_AddTwoDoubles.vi中的打开Python会话Python returned
    发表于 11-12 09:51

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP
    的头像 发表于 11-03 09:15 326次阅读

    线程问题,线程已经创建成功了,为什么线程调用函数不会运行呢?

    我这个线程创建成功了,为啥ai_thread_entry()函数不运行呢? void airun_thread() { /* 创建 serial 线程 */ rt_thread_t
    发表于 10-10 08:02

    VVIC 平台商品详情接口高效调用方案:从签名验证到数据解析全流程

    本文详解VVIC平台商品详情接口调用全流程,涵盖参数配置、签名生成、异常处理与数据解析,提供可复用的Python代码及避坑指南,助力开发者高效实现安全、稳定的数据对接。
    的头像 发表于 09-23 10:28 388次阅读

    详解hal_entry入口函数

    当使用RTOS时,程序从main函数开始进行线程调度;当没有使用RTOS时,C语言程序的入口函数main函数调用了hal_entry函数。由
    的头像 发表于 07-25 15:34 1664次阅读

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、生命周期阶段: 创建阶段 build: 构建组件
    的头像 发表于 07-11 18:24 794次阅读

    HarmonyOS5云服务技术分享--ArkTS调用函数

    小白也能轻松上手!(文末有完整代码模板哦) ? 前期准备 1️⃣ 登录华为AppGallery Connect控制台 2️⃣ 确保已创建好云函数项目(还没有的话快去后台创建一个吧) ? 核心四步走
    发表于 05-22 18:22

    HarmonyOS5云服务技术分享--云函数创建配置指南

    。HarmonyOS的AGC平台提供灵活配置,支持Node.js、Python、Java等多种语言,还能自定义运行环境哦! ?️ 二、手把手创建第一个云函数 ​​Step 1:进入云函数
    发表于 05-22 17:08

    verilog模块的调用、任务和函数

    在做模块划分时,通常会出现这种情形,某个大的模块中包含了一个或多个功能子模块,verilog是通过模块调用或称为模块实例化的方式来实现这些子模块与高层模块的连接的.
    的头像 发表于 05-03 10:29 1286次阅读
    verilog模块的<b class='flag-5'>调用</b>、任务和<b class='flag-5'>函数</b>

    仅仅使用代码,就能点亮树莓派的 GPIO 世界

    使用Python创建RESTAPI接口也是合情合理的。然后,我们可以调用特定的函数,例如控制或读取GPIO。这可以方便地控制LED或其他传感器/模块。其美妙之处在
    的头像 发表于 03-25 09:31 487次阅读
    仅仅使用代码,就能点亮树莓派的 GPIO 世界

    创建了用于OpenVINO™推理的自定义C++和Python代码,从C++代码中获得的结果与Python代码不同是为什么?

    创建了用于OpenVINO™推理的自定义 C++ 和 Python* 代码。 在两个推理过程中使用相同的图像和模型。 从 C++ 代码中获得的结果与 Python* 代码不同。
    发表于 03-06 06:22

    如何使用Python API创建自定义函数

    Cadence 统一调试平台 Verisium Debug 提供多种调试功能,如 RTL 调试、UVM 仿真平台调试、UPF 调试、DMS 调试等。从 IP 到 SoC 级调试,用户可以利用丰富的调试功能来缩短调试时间。
    的头像 发表于 02-15 14:27 671次阅读
    如何使用<b class='flag-5'>Python</b> API<b class='flag-5'>创建</b>自定义<b class='flag-5'>函数</b>

    如何把两个数据返回给调用函数

    函数的处理结果包含两个数据,如何把两个数据返回给调用函数? 第一种,把两个数据封装成一个结构体,函数返回结构体。 调用
    的头像 发表于 01-08 10:15 679次阅读

    EE-128:C语言中的DSP:从C调用汇编类成员函数

    电子发烧友网站提供《EE-128:C语言中的DSP:从C调用汇编类成员函数.pdf》资料免费下载
    发表于 01-07 13:48 0次下载
    EE-128:C语言中的DSP:从C<b class='flag-5'>调用</b>汇编类成员<b class='flag-5'>函数</b>