【python基础学习07课_函数基础课】

一、函数的基础知识

一、函数的作用是用来干什么的?
函数在编程中是一个组织好的、可重复使用的代码块,用于执行一个特定的任务。


具体来说,函数的常见作用包括:

1、执行计算或数据处理。
2、控制程序的流程,如条件判断、循环等。
3、与用户或其他程序进行交互,如输入输出操作。
4、访问和操作数据结构,如数组、列表、数据库等。
5、实现特定的算法或业务逻辑。
6、处理错误和异常情况。
7、在大多数编程语言中,函数是构建程序的基础,它们使得编程更加高效、简洁和易于管理。


二、语法规则:
def 自定义的函数名称():
    函数的内部代码块

通过控制缩进来定义是否为内部代码块
    
函数的定义、调用和参数的解析



三、函数的特性:

1、代码复用:函数允许你编写一次代码,然后在程序中的多个地方调用它。这样可以减少代码重复,提高代码的可维护性。

2、模块化:通过将复杂的任务分解成小的、可管理的函数,可以使程序结构化,便于理解和调试。

3、抽象:函数提供了一种抽象层次,允许你关注高级任务而忽略底层的实现细节。你只需要知道函数的输入(参数)和输出(返回值),而不必关心函数内部是如何实现的。

4、易于测试:由于函数是独立的代码块,你可以单独测试每个函数,确保它们正确执行预期的任务。

5、可扩展性:如果你需要改变程序的某个部分,通过修改或扩展函数,可以在不影响到其他部分的情况下进行。

6、命名空间管理:函数有助于管理变量作用域,防止全局命名空间的污染。

7、封装:函数可以将一系列操作封装在一起,隐藏内部实现,只暴露必要的接口。

1、函数的定义

因为没有调用函数,所以函数内部的代码块也不会执行

2、函数的调用

3、函数的【位置参数】的解析

1)单个位置参数

1.1)当调用时,缺失位置参数的时候,报错参数缺失

1.2)当调用时,不给参数传值的时候,报错参数未定义

2)多个位置参数

缺失位置参数的时候

3)按参数的位置进行传值
# 位置参数的定义
# 按照初始化定义的固定位置进行传值,不需要调用的时候写变量了

4)按参数的名字进行传参

5)给位置参数设置初始值

当参数具备初始值的时候,调用函数的时候就不用传参了

注意:

当函数的参数没有初始值的时候,定义了多少个参数,在调用的时候就得传多少个
当函数的参数有初始值的时候,可以进行传值,然后会覆盖掉初始值

函数内部定义的参数,无法直接在函数的外部使用
 6)函数内部定义的参数作用域

函数内部定义的参数,无法直接在函数的外部使用

4、函数的不定长参数的解析

1)单个*,代表元组类型

可以根据数据类型对参数的元素做对应的操作,比如args[0] 

2)两个*,代表字典类型

可以根据数据类型对参数的元素做对应的操作,比如args[0] 

5、函数的返回值

1)函数返回值的定义
在编程中,函数返回值是指函数在执行完成后返回给调用者的数据。返回值可以是一个具体的数值、一个对象、一个集合、或者是一个状态标识等,这取决于函数的设计和目的。

函数返回值的定义通常包括以下几个方面:

类型:返回值的数据类型,比如整型(int)、浮点型(float)、字符串(string)、布尔型(bool)、列表(list)、字典(dict)等。

含义:返回值代表的含义或作用,例如,它可以表示函数执行的结果、状态、或者需要传递给调用者的数据。

返回方式:函数如何返回值,通常是通过 return 语句来实现。在大多数编程语言中,return 语句会立即结束函数的执行,并将后面的值返回给调用者。


函数内有自己的处理逻辑,想要在这个函数的处理逻辑中,获取到自己想要的值,就要通过return +选择自己想要的参数,传出来。如果只返回return,而没有返回要的参数的的话,结果一样是None
2)获取函数返回值的结果
2.1)方式1 :调用函数也无法获得num

打印也只能是None

有返回,但是看不到

通过打印,看到返回值

2.2)方式2:通过变量获取函数调用的结果

变量可以指代某个值,也可以指代某个结果,比如函数调用的结果

3)函数没写return关键字

4)函数写了return关键字,但是没有传值

5)return关键字,标志一个函数的结尾

6)return常见用法
6.1)正常返回值

有了返回值之后

6.2)引用返回值中的元素

6.3)如果只是想打印出函数里的某个值,直接print()就行,不用返回值

6.4)如果还想要这个函数里的值,再有一些其他的操作,就要用return返回值

比如说,这个函数只能计算出一个数据(例如:日利率--返回值),这个数据,还得再乘365,然后再累加一点优惠,才是我们想要的年利率。我们得对这个返回值进行很多加成,才是我们最终想要的东西

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

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

相关文章

Java+SpringBoot+Vue+MySQL:员工健康管理技术新组合

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

压缩式 交换式 碎片整理 :(使碎片减少或没有)

交换式碎片整理 首先流程 是 p3这个程序在运行,p1p2p4 的话在等待 ,然后p3这时要多用3个内存块,这是 p4 通过拷贝,将内存拷贝到磁盘上,对应的数据也是从主存中cp到磁盘此时主存多出3个内存块给p3继续使用 2.压缩式碎片…

QML中动态增加表格数据

1.QML中的表格实现 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableModel{id:table_modelTabl…

Transformer之self-attention

注意力是一个有助于提高神经机器翻译应用程序性能的概念。在这篇文章中,我们将看看Transformer,一个使用注意力来提高这些模型训练速度的模型。Transformer在特定任务中优于谷歌神经机器翻译模型。最大的好处来自于Transformer如何使自己适合并行化。 在…

135.乐理基础-半音是小二度吗?全音是大二度吗?三全音

内存参考于:三分钟音乐社 上一个内容:134.乐理基础-音程名字的简写-CSDN博客 上一个内容里练习的答案: 半音可以与小二度划等号吗?全音可以和大二度划等号吗? 严格来说它们是不能划等号的,半音与全音是侧…

Android Studio level过滤查看各个等级的日志

Android Studio level过滤查看各个等级的日志 旧版as可以在下方的日志输出框选择debug、info,warn、error日志,新版的需要通过在过滤框手动/联想输入 level:xxx,过滤相应等级的日志,如图: android studio/idea返回/前进…

vue使用gitshot生成gif

vue使用gitshot生成gif 问题背景 本文将介绍vue中使用gitshot生成gif。 问题分析 解决思路: 使用input组件上传一个视频,获取视频文件后用一个video组件进行播放,播放过程进行截图生成图片数组。 demo演示上传一个视频,然后生…

Python 从文件中读取JSON 数据并解析转存

文章目录 文章开篇Json简介Json数据类型Json硬性规则Json数据转化网站Json和Dict类型转换json模块的使用Python数据和Json数据的类型映射json.dumps1.字典数据中含有**存在中文**2.json数据通过缩进符**美观输出**3.对Python数据类型中键进行**排序输出**4.json数据**分隔符的控…

K8S常用kubectl命令汇总(持续更新中)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Leetcode—63. 不同路径 II【中等】

2024每日刷题&#xff08;115&#xff09; Leetcode—63. 不同路径 II 动态规划算法思想 实现代码 class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m obstacleGrid.size();int n obstacleGrid[0].size();…

HTTPS 原理和常见面试题及解析

在互联网安全领域&#xff0c;HTTPS 是一个非常重要的协议&#xff0c;也是很多技术岗位面试中经常涉及的话题。下面我们来看一些关于 HTTPS 的常见面试题及答案解析。 ## 1. 什么是 HTTPS&#xff1f; **答案&#xff1a;** HTTPS 是 Hypertext Transfer Protocol Secure&am…

杭州半日游 - 规划

杭州半日游 https://mbd.baidu.com/newspage/data/dtlandingsuper?niddt_4902055370698452252 11:00 到杭州站 》地铁1号线 30min 午餐可选&#xff1a; 新白鹿餐厅(银泰城店) 最近 17min 2km 知味观(湖滨总店) 30min 3km 》去码头&#xff0c;知味观(湖滨总店) 距此 120…

2024年3月5-7日年生物发酵装备展-环科环保科技

参展企业介绍 山东环科环保科技有限公司,是一家集环保设备的设计、制造、安装、服务及环境治理工程总承包于一体的企业。 公司长期专注于大气、水、危固废三大领域&#xff0c;以科技创造碧水蓝天&#xff0c;为客户提供环保解决方案。 以稳定的产品及服务质量、适用的技术、…

GIT 拉取代码报错error:some local refs could not be updated

文章目录 报错信息处理办法在这里插入图片描述小结 报错信息 ![new branch] dev->orgin/dev(unable to update local ref) error:some local refs could not be updated;try running git remote prune orginto remove any old,confilicting branches 处理办法 git gc --pru…

【Vue】路由

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Vue ⛺️稳中求进&#xff0c;晒太阳 目录 路由 单页应用程序 总结&#xff1a; VueRouter 核心步骤&#xff1a; 组件存放目录的问题 路由的封装 声明式导航 声明式导航 - 导航链…

一款高温型霍尔效应传感器

一、产品概述 HAL443A单极性霍尔位置传感器是由内部电压稳压器、霍尔电压发生器、差分 放大器、温度补偿单 元、施密特触发器和集 电极开路输出级组成的磁敏传感电路&#xff0c;其输入为磁感应强度&#xff0c;输出是一个数字电压 信号。它是一种单磁极工作的磁敏电路&…

【Java程序设计】【C00327】基于Springboot的高校教师教研信息填报系统(有论文)

基于Springboot的高校教师教研信息填报系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的高校教师教研信息填报系统&#xff0c;本系统有管理员、教研管理以及教研人员三种角色&#xff1b; 管理员&#xff1a…

C++设计模式——抽象工厂模式

文章目录 抽象工厂模式的主要组成部分抽象工厂模式的一个典型例子抽象工厂模式用于其他场景抽象工厂模式与其他设计模式结合使用 C 中的抽象工厂模式是一种创建型设计模式&#xff0c;它主要用于处理对象家族的创建&#xff0c;这些对象之间可能存在一定的关联关系或属于相同的…

Vue页面更新后刷新页面不会渲染解决

小编今天犯了个很低级的错误&#xff0c;导致VUE页面刷新样式不会更新的问题&#xff01; 解决方法&#xff1a;查看你的路由路径大小写是否正确&#xff01;小编是犯了这种错误&#xff0c;特此分享下&#xff01;

HarmonyOS—端云一体化组件

概述 DevEco Studio还为您提供多种端云一体化组件。集成端云一体化组件后&#xff0c;您只需进行简单配置即可向应用用户提供登录、支付等众多功能。 登录组件 您可使用端云一体化登录组件向应用用户提供登录和登出功能&#xff0c;目前支持帐号密码登录、手机验证码登录、以…