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

一,编程中函数的介绍

函数像一个黑盒子、加工厂、榨汁机等等(你能想到的任何类似的比喻),它会经过一个固定的规则将你送入其中的参数变成另一个样子、或者实现某种预想的功能(比如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则(+-*/)运算

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

33 超级数据查看器 高级搜索

大家好,今天我们讲一下超级数据查看器的高级搜索功能, 超级数据查看器是一个安卓APP。具有数据管理和数据查询功能。 能够将Excel文件、文本导入,转为手机数据库,实现快速查询,实现自动构建手机端的查询系统。 今天我…

【python】python入门day1

python入门 Python解析器Python注释Python中的变量(重点)练习:1、用python的print函数描述一段对话2、与计算机模拟一段对话,并且最终计算机需要将输入的内容全部输出3、模拟两个对话场景(根据提示输入内容,并且在后续…

MS31011低压 5V DC 电机驱动

MS31011 是一款低压 5V 直流电机驱动芯片,为摄像机、消 费类产品、玩具和其他低压或者电池供电的运动控制类应用提 供了集成的电机驱动解决方案。 MS31011 能提供高达 0.8A 的输出电流。可以工作在 2.0~5.5V 的电源电压上。 MS31011 具有 PWM &#x…

day21--669. 修剪二叉搜索树 +108.将有序数组转换为二叉搜索树+538.把二叉搜索树转换为累加树

一、669. 修剪二叉搜索树 题目链接:https://leetcode.cn/problems/trim-a-binary-search-tree/ 文章讲解:https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html 视频讲解:https://www.bi…

B=MAP执行力公式 | 一条公式参透执行力的本质

🧐什么是【福格行为模型】呢?这个模型是斯坦福大学行为研究院院长福格教授提出的,一个【行为 Behavior】的发生,主要是由【动机 Motivation】、【能力 Ability】和【提示 Prompt】决定,即【BMAP】 🌈【动机…

【揭秘新潮流】实践教学新宠SmartEDA,让电子设计课“潮“起来!

在信息时代的浪潮下,电子设计课程早已不再是枯燥乏味的代名词。随着技术的飞速发展,一种名为SmartEDA的实践教学新选择正逐渐崭露头角,为电子设计课程注入了前所未有的活力与趣味性。今天,就让我们一起走进SmartEDA的世界&#xf…

封装图片占位图组件

<laze-image class="image" :url="item.image" :game_name="item.game_name" :placeholder="require(@/static/images/common/placeholder.png)"></laze-image> 1.通过调用组件实现 先加载预览图片,再加载真实的图片 2…

Git的安装配置及使用(超详细!!!)

一、git概述 它是一个版本管理工具. 版本: 软件开发过程当中的重要节点. 作用: 团队协作,管理代码. 对于软件的学习, 会用就行. 1.1 安装及配置 下载地址: github.com 安装注意事项: 傻瓜式安装,一直下一步就好. 安装目录不要有中文. 尽量也不要有空格. 配置环境变量: 找到…

未来出行新选择——加油宝APP,让您的每一次加油都充满智慧与便捷!

一、前言 随着科技的飞速发展&#xff0c;智能手机已经成为我们生活中不可或缺的一部分。为了满足广大车主对便捷、高效加油服务的需求&#xff0c;我们倾力打造了全新的加油宝APP。这款APP不仅为您提供一站式的加油服务&#xff0c;还融合了多项创新功能&#xff0c;让您的出…

注意!!2024下《系统分析师》易混淆知识点来了,赶紧收藏

宝子们&#xff0c;在复习软考系统分析师中&#xff0c;是不是觉得有很多知识点含义比较相近&#xff0c;很多友友刚看的时候估计会像我一样迷迷糊糊的&#xff0c;作为一个软考老鸟&#xff0c;在这里给大家整理了系分学习过程中易混淆的知识点&#xff0c;大家认真复习就行&a…

jmeter乱码汇总

一、Web页面乱码 如果想让他显示中文可以按以下操作: 1、打开jmter配置文件 bin/jmeter.properties 2、修改配置文件&#xff0c;查找“sampleresult.default.encoding”将其改为utf8&#xff0c;注意要去掉“#”号 sampleresult.default.encodingutf-8 3、重启 jmeter 4、再次…

AI作画Prompt不会写?Amazon Bedrock Claude3.5来帮忙

最新上线的Claude3.5 Sonnet按照官方介绍的数据来看&#xff0c;在多方面超越了CPT-4o&#xff0c;是迄今为止最智能的模型。 而跟上一个版本相比&#xff0c;速度是Claude 3 Opus的两倍&#xff0c;成本只有其五分之一。 Claude3.5 Sonnet不仅擅长解释图表、图形或者从不完…

基于Java微信小程序民宿短租系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

如何学习训练大模型——100条建议(附详细说明)

摘要&#xff1a; 通过深入了解本文中的这些细节&#xff0c;并在实际项目中应用相关知识&#xff0c;将能够更好地理解和利用大模型的潜力&#xff0c;不仅在学术研究中&#xff0c;也在工程实践中。通过不断探索新方法、参与项目和保持热情&#xff0c;并将其应用于各种领域&…

新版本发布丨昂辉科技EasySAR-Configurator V1.2.0再启航

昂辉科技新一代跨平台高性能AUTOSAR配置工具EasySAR-Configurator V1.2.0全新版本重磅发布&#xff01;产品基于Web架构前后端分离的方式开发&#xff0c;可提供SaaS部署&#xff0c;能够实现精准配置和最大限度的代码裁剪&#xff0c;且配备标准的约束限制、配置验证、代码生成…

【qt】CAD下

目录 一.前言二.缩放1.逻辑2.获取图形项选中的个数3.获取图形项并放大4.视图缩放5.完整代码6.效果展示7.缩小完整代码 三.旋转1.图形项进行旋转2.视图的旋转3.完整代码4.效果展示5.右转代码 四.恢复1.图形项复原2.视图复原3.完整代码4.效果展示 五.前后置1.设置z轴的值2.后置代…

Day34:LeedCode 56. 合并区间 738.单调递增的数字 968.监控二叉树

56. 合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;int…

网约车停运损失费:1、事故经过

目录 &#x1f345;点击这里查看所有博文 随着自己工作的进行&#xff0c;接触到的技术栈也越来越多。给我一个很直观的感受就是&#xff0c;某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了&#xff0c;只有经常会用到的东西才有可能真正记…

时序分析基本概念介绍——min pulse width 最小脉冲宽度

文章目录 前言一、什么是 min pulse width&#xff1f;二、为什么检查 min pulse width&#xff1f;三、如何设置 min pulse width约束&#xff1f;1. 在sdc里面定义2. library里面定义 四、如何检查 min pulse width&#xff1f;五、如何修复 min pulse width&#xff1f;总结…

win7 的 vmware tools 安装失败

没有安装vmware tools的系统屏幕显示异常。桌面是比较小的图像&#xff0c;四周是黑边在 vmware 软件里 方法1&#xff0c;下补丁 https://www.catalog.update.microsoft.com/Search.aspx?qkb4474419 方法2&#xff0c;使用老版vm tools http://softwareupdate.vmware.com/c…