认识函数|学习笔记

简介: 快速学习认识函数

开发者学堂课程【PHP 基础入门课程(下)认识函数】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/710/detail/12622


认识函数


内容介绍:

一、目标

二、概念

三、小结

函数的一些基本应用,目标是要理解和掌握函数的一个概念和作用,

知道什么是模块化的一个编程思想以这种基本语法的一些各个部分

是做什么的,并且能够利用自定义函数去解决相应的一些问题,去实

现真正的这种模块儿化编程。学习函数的一个概念和应用和函数的基

本结构以及函数的定义规范。


一、目标

认识函数的目标是要掌握函数的概念以及作用。比如,先思考一个问

题,有一个需求,但是这种需求会在不同的应用场景里面出现,可能

会多次去使用这个应用场景,怎么可以让这段代码能够重复的去利用

它,解决方案是把这样的代码进行复制粘贴就可以,哪个地方要用,

就把这段代码复制过去,但是它有一个缺点就是灵活性非常差,如果

想要做统一的维护,或者某一个地方有一些偶尔改变,会发现每个地

方都需要去维护一次,那成本自然就高了。

第二种是使用函数来解决维护,一个地方维护好了,其他地方都可以

去。例如,比如我要去买一个东西,首先得有一个商店,有一个人在

买东西,买个火腿。这个时候,要做很多的事情,才能保证去买到这

个东西。首先第一步计算位置,要去写代码去计算,然后还要去计算

它的距离,比如这个距离有多远等等。之后,要计算它的价格,要多

少钱能买到,还有要计算对应的时间,需要多久能够买到这个对应的

内容。最终结果自然就是能够买到,这是要做的一件事。

2.1.png

下次就不是买火腿了,买个别的东西,或者同样还是买火腿,但这种

事情,不会经常性的出现,但是位置可能会用到。

1.买的东西可能变化

2.价格可能不同

3.买的时机不固定

4.但是买的过程每次都一样

所以:以上完成买东西的过程,可以在需要用到的时候调取执行即可

完成。

以上列了一些东西,就是用的时间,用的内容可能不一样,但是过程

每次都是一样的,所以将上述买东西过程,把它进行写,写好之后就

只需要在某个地方去调用它就可以,当然可以灵活一点,给出不同的

数据,就可以做到不同的效果


二、概念

概念:函数是某段在一起解决某个问题的代码块,首先它是有多行代

码解决某种特定的问题,此时需要给这段代码块一个标志符,直接通

过这个标志符找到这段代码,直接调入这段代码运用就可以。这样只

要记住一个标志符以后,不需要把这段代码块重复复制粘贴。

相关的概念,函数首先有一堆代码块组成,函数有一个函数的一个标

志,把这个叫做函数名,函数能够在需要的时候,通过名字直接就可

以让对应的代码块运行

函数的作用:第一个叫做模块化编程,是把一个业务拆成很小的模块,

然后每一个模块用函数把它写好,这就是一种模块化编程。以后就去

调用就可以。那么这样做的一个最大的好处是能够实现代码的重复

率,叫做复用问题。通过调用函数,只要函数名,就可以实现对应代

码块的多次利用。

函数的基本结构:一个标准的函数由五部分组成,首先有个 function

关键字答案让系统认识,这是一个函数,

第二给他一个函数名,这是自定义的,数字也就是代码的标志,

再根据想要做的一件事情,要确定他是否需要参数。这个参数,它主

要是为了能够灵活起来,数据可以改变,从而得出不同的一个结论,

过程是一样的,业务相同,但是数据不同。

函数体是解决问题的代码块,到底应该写什么样的代码去解决当前的

需求问题。

返回值 return 就是函数运算的结果,它会把它返回给我们的函数调

用。

结构:

function函数名(参数)

函数体(代码块)

return返回值

案例:

#买火腿

FunctiongetGoods(){

#计算位置

#计算距离

#计算价格

#计算时间

return“火腿”;

#写好上述代码后,凡是要买火腿的时候,都使用 getGoods 就可以

比如买火腿,此时就要一个 function 关键字,然后要 getGoods 这

是一个函数,那确定他是买火腿,参数不需要那么多,也可以没有参

数,比如要计算位置,要计算它的距离,在里面去协调代码,计算价

格,计算时间,最后会买到一个东西,那就是火腿。我们把这个结果

返回出来,那谁用过这个函数,它就可以得到火腿,这样就可以直接

调用 getGoods 就可以拿到火腿,这是函数的基本概念。以后在代码

里面凡是要用到购买火腿,就可以调用,这些代码我们都可以省去,

系统自动去调用它,执行就可以。


三、小结

1、函数本质是一起解决某个问题的代码块,解决的问题有两个

第一个叫模块化编程,把一个业务拆分成具体的小业务。让某一个小

业务就用一个函数把它做好以后,要让整个业务运行,就调用这个函

数即可,

第二个是函数代码,可以在需要的时候重复利用。

2、函数的组成

由五部分组成,关键字,函数名,参数,函数体,返回值。

每一个都有它相应的概念,Function 表示告知系统这是一个函数,

名字是自己定义的一种标志,参数是以后要往这个函数里面去传递的

一些可改变的数据,它只改变数据,不改变函数内部的业务函数题;

函数体是具体解决问题的代码块,也就是我们真正的一些业务。返回

值指的是函数处理完的一种内容,就是想要的结果,可以有也可以没

有。参数也是一样,可以有也可以没有。

以上内容对于函数的认识。

相关文章
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1027 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1722 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
667 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
634 15
|
5天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
389 4