第十八课,函数基本语法规则

news2024/10/6 16:30:59

一,编程中函数的介绍

函数像一个黑盒子、加工厂、榨汁机等等(你能想到的任何类似的比喻),它会经过一个固定的规则将你送入其中的参数变成另一个样子、或者实现某种预想的功能(比如print()函数、input()函数、以及在turtle库中我们学过的好十几种函数)

总之,在函数式编程中,函数就是一个管道。这头进去一个值,那头就会出来一个新的值

下面是两个形象的函数功能形象图


二,函数的分类

一般根据函数的来源将其分为两大类:一是库函数,而是自定义函数

库函数:指的是python中已经预先定义好的供开发者使用的函数,一些常用的例如print()、input()均是库函数,因为它们使用十分频繁因此不需要引入库,而像turtle库中的大量函数则需要使用”import turtle”这行代码来将turtle库引入才能使用,在python中还有数不清的库,每个库中也还有数不清的库函数

特点:无需定义(因为在库中已经定义过)直接使用,因为是官方专业开发人员定义的其正确性很高

自定义函数:指的是由开发人员自己定义的,具有开发人员预想设计功能的函数,有些时候库函数不一定能全部实现我们预想的功能,这时开发人员会选择自定义函数供自己使用

特点:需要定义,因为通常由非官方专业人员(甚至是初学者)编写,极有可能出现bug


三,python函数的五大组成部分

①定义关键字:def

def是英文单词define的缩写,中文意思就是定义,python的任何一个函数都少不了def

②函数名

就像变量有自己五花八门的名字一般,函数也要有自己的名字,而且也要有一定的命名规范,最最大的特点就是无论是定义还是使用时,函数一定是跟着一对小括号的!

说到这里不妨复习一下变量的命名规范吧:

标识符命名的内容限定:

  1. 字母
  2. 数字(不可以放在开头)
  3. 下划线(_)
  4. 中文(不建议使用!)

标识符命名规范:

  1. 见名知意
  2. 下划线命名法
  3. 英文字母全小写

而函数的命名规范和变量的命名规范大同小异,你只需要记住一点不同:在函数命名时大部分公司习惯使用“小驼峰命名法”和“大驼峰命名法

小驼峰命名法:第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母

例:add(), addNum(), addTwoNum()

大驼峰命名法:相比小驼峰法,大驼峰法把第一个单词的首字母也大写了

例:Add(), AddNum(), AddTwoNum()

③参数列表

所谓的参数列表,就是前面将函数比喻成管道时,要从管道这头进去的参数,在函数名后面紧跟的小括号中填写,如果有多个就用逗号隔开

④函数体

函数体就是定义函数时,通过代码来规定其实现的功能,在函数中编写代码的逻辑和平常编写其实大差不大,但要注意使用tab键空出缩进来表明代码是属于某函数的

例如一个加法函数的函数体其实十分简单,要做的事情就是将两数相加——

⑤返回值

所谓的返回值,就是前面将函数比喻成管道时,要从函数那头出来的结果,函数返回值需要用到一个叫做“return”的关键字

总之,一个函数可以大致浓缩成下面这个样子

*小练习

尝试自己编写一个计算器,能够完成简单的4则(+-*/)运算

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1866409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

npm-check【实用教程】升级项目中的依赖

安装 npm-check npm i -g npm-check检查项目中的依赖 npm-check会显示项目中没有使用,以及有新版本的依赖 升级项目中的依赖 npm-check -u方向键上下可以移动图中左侧的箭头空格键可选中/取消选中标注为 Major Update 和 Non-semver 类的版本,需去官网查…

对抗生成网络GANP52-

1.对抗生成网络的重点:有原始的输入,按照需求,生成新的数据。 eg1:超分辨率重构(首先先告诉神经网络什么是低分辨率,什么是高分辨率,让计算机学习两者的联系。 eg2:警察抓小偷的时候,由于录像太过模糊&…

STM32 HAL库里 串口中断回调函数是在怎么被调用的?

跟着正点原子学习的HAL库写串口接收程序的时候一直有困惑,使用HAL_UART_Receive_IT开启接收中断后,为啥处理函数要写在HAL_UART_RxCpltCallback里,中断发生的时候是怎么到这个回调函数里去的? void MX_USART1_UART_Init(void) {h…

three.js基础环境搭建

three.js three.js介绍安装threejs文件资源目录介绍本地静态服务器vscode配置live-server插件nodejs配置本地静态服务器项目的开发环境引入threejs 基础知识右手坐标系程序结构 three.js介绍 three.js官网 Three.js是一款基于WebGL的JavaScript 3D库,它使得开发者能…

【PythonWeb开发】Flask自定义模板路径和静态资源路径

在大型的 Flask 项目中,确实可能会有多个子应用(Blueprints),每个子应用可能都有自己的静态文件和模板。为了更好地管理和组织这些资源,可以使用static_folder 和template_folder 属性来统一管理。必须同时设置好主应用…

jenkins nginx自动化部署 php项目

在当今快速发展的IT领域,自动化部署已成为提高工作效率和减少错误的关键。Jenkins作为持续集成/持续部署(CI/CD)的佼佼者,结合Docker容器技术和PHP编程语言,以及Ansible自动化工具,可以实现高效、可靠的自动…

PHP 界的扛把子 Swoole 异步通信利器

大家好,我是码农先森。 引言 我今天主要介绍的内容是包括但不仅限于 Swoole ,也有一部分 Go 语言的内容。 为什么要介绍 Swoole ? 先说一说背景吧,我们项目组之前要为《香港 01》开发一个积分系统的项目,这个系统的主要功能包…

Spring Boot整合RocketMQ实现延迟消息消费

导包 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.0.3</version></dependency>添加配置信息 application配置文件 # rocketMq地址 rocketmq.name…

open()函数——打开文件并返回文件对象

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 open()函数用于打开文件&#xff0c;返回一个文件读写对象&#xff0c;然后可以对文件进行相应读写操作。 语法参考 open()函数的语法格式如下&…

Day 34:2368. 受限条件下可到达节点的数目

Leetcode 2368. 受限条件下可到达节点的数目 现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 &#xff0c;共有 n - 1 条边。 给你一个二维整数数组 edges &#xff0c;长度为 n - 1 &#xff0c;其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 之间存在一…

深度学习31-33

1.负采样方案 &#xff08;1&#xff09;为0是负样本&#xff0c;负样本是认为构造出来的。正样本是有上下文关系 负采样的target是1&#xff0c;说明output word 在input word之后。 2.简介与安装 &#xff08;1&#xff09;caffe:比较经常用于图像识别&#xff0c;有卷积网…

可以一键生成热点营销视频的工具,建议收藏

在当今的商业环境中&#xff0c;热点营销已经成为了一种非常重要的营销策略。那么&#xff0c;什么是热点营销呢&#xff1f;又怎么做热点营销视频呢&#xff1f; 最近高考成绩慢慢公布了&#xff0c;领导让结合“高考成绩公布”这个热点&#xff0c;做一个关于企业或产品的营销…

如何确保消息不被重复消费

一、重复消费问题出现的原因 导致重复消费的原因可能出现在生产者&#xff0c;也可能出现在 MQ 或 消费者。这里说的重复消费问题是指同一个数据被执行了两次&#xff0c;不单单指 MQ 中一条消息被消费了两次&#xff0c;也可能是 MQ 中存在两条一模一样的消费。 生产者&…

【新闻】全球热钱,正在流入新加坡 这个夏天有点猛,油价看涨? 普华永道已丢了六成“A股大客户”

新加坡成为全球投资焦点&#xff0c;吸引大量并购活动。预计经济增长2.4%&#xff0c;股指上涨8%。未来可期待更多国际投资涌入。 近期&#xff0c;新加坡成为全球投资者的焦点&#xff0c;吸引了大量的并购和投资活动。 据报道&#xff0c;2024年第二季度&#xff0c;新加坡…

【活动】搜维尔科技携Xsens邀您出席世界人工智能大会

展会介绍 由外交部、国家发展改革委、教育部、科技部、工业和信息化部、国家网信办、中国科学院、中国科协和上海市政府共同主办的世界人工智能大会&#xff08;WAIC&#xff09;&#xff0c;将于7月4日-7日在上海举行。围绕“以共商促共享 以善治促善智”主题&#xff0c;打造…

ElementUI搭建

概述 Element&#xff0c;一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组 件库. 安装 ElementUI npm 安装 推荐使用 npm 的方式安装&#xff0c;它能更好地和 webpack 打包工具配合使用。 npm i element-ui -S 在控制台输入此命令来安装ElementUI 在 main.j…

调用京灵平台接口,很详细

调用京灵平台接口&#xff0c;很详细 一、准备1、开发资源2、申请环境 二、测试接口调用1、查看接口文档2、查看示例代码3、引入对应依赖4、改造后需要的依赖5、测试调用 三、工具类1、配置dto2、公共参数dto3、请求参数dto4、响应参数dto4、调用工具类&#xff08;重要&#x…

【目标检测】Yolov8 完整教程 | 检测 | 计算机视觉

学习资源&#xff1a;https://www.youtube.com/watch?vZ-65nqxUdl4 努力的小巴掌 记录计算机视觉学习道路上的所思所得。 1、准备图片images 收集数据网站&#xff1a;OPEN IMAGES 2、准备标签labels 网站&#xff1a;CVAT 有点是&#xff1a;支持直接导出yolo格式的标…

Stirling-PDF 安装和使用教程

PDF (便携式文档格式) 目前已经成为了文档交换和存储的标准。然而&#xff0c;找到一个功能全面、安全可靠、且完全本地化的 PDF 处理工具并不容易。很多在线 PDF 工具存在隐私和安全风险&#xff0c;而桌面软件往往价格昂贵或功能有限。那么&#xff0c;有没有一种解决方案能够…

Java知识点整理 12 — 前端 Ant Design Pro 初始化模板使用

一. 项目初始化 Ant Design Pro 是基于 Ant Design 和 umi 封装的一整套企业级中后台前端设计框架&#xff0c;致力于在设计规范和基本组件的基础上&#xff0c;继续向上构建&#xff0c;提炼出典型模板或配套设计资源&#xff0c;进一步提升企业级中后台产品设计研发过程中的…