【Python】函数Д

article/2025/10/14 3:16:06

🚩write in front🚩

🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家^星级博主~掘金⇿InfoQ创作者~周榜66 » 总榜1924🏅
🆔本文由 謓泽 原创 CSDN首发🙉如需转载还请通知
📝个人主页-打打酱油desuCSDN博客💬
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏-【Python】系列_謓泽的博客-CSDN博客[〇~①]🎓
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩 

🍏『Python』⇿ 函数(ง •_•)ง 🍊

 🚩write in front🚩

🍰走进函数 

🍪函数的使用包含②个步骤如下↓

🍎封装🍎

🍎面向对象🍎

🍯函数的好处 

🍰定义函数 

🍪函数调用 

🍯第一个函数

🍪自定义add()实现相加

🍪参数↓

🍪函数的调用

🍯函数调用放在函数定义

🍯函数的嵌套调用 

🍰任意字符和任意数量组成一条线


🍰走进函数 

🍎Python🍎当中的函数是运用的非常的广泛的,之前我们学习过的函数实际上都是内置函数。例如:print()、input()、del()、len(),这些都是Python当中的 🍎内置函数🍎 我们是可以直接使用的。

那么我们除了可以使用内置函数,实际上我们也可以自己自定义一个函数。可能有小伙伴听到这里有点不明白,謓泽什么是自己自定义一个函数啊。其实这个很好理解的:假设我要实现一个加法、乘法、除法、减法的操作,那么程序当中没有给我们实现这个函数的功能的时候。此时,我们就可以实现一个函数操作,专门用来计算的函数 calculate(),这样是不是特别的好。

所谓的函数,实际上就是把具有独立功能的代码块,组织成一个小模块,当我们需要使用的时候直接调用函数即可。非常的方便☆⌒(*^-゜)v THX!!

🍪函数的使用包含②个步骤如下↓

  1. 定义函数→ 封装 独立的功能。
  2. 调用函数→ 享受 封装 的实际。

🍎封装🍎

实际上是计算机当中的术语。封装具有一个最大的特点。

那就是它的保密性极强,简单来说就是隐藏了封装上的属性和实现的细节。这里在设计一个知识点。

🍎面向对象🍎

在编程中,封装(encapsulation)是将对象运行所需的资源封装在程序对象中——基本上,是方法和数据。对象是"公布其接口"。其他附加到这些接口上的对象不需要关心对象实现的方法即可使用这个对象。这个概念就是"不要告诉我你是怎么做的,只要做就可以了。"对象可以看作是一个自我包含的原子。对象接口包括了公共的方法和初始化数据。


🍯函数的好处 

🍪降低复杂性🍪 

用函数的最首要原因是为了降低程序的复杂性,可以使用函数来隐含信息,从而使你不必再考虑这些信息。

🍪避免重复代码段🍪 

如果在两个不同函数中的代码很相似,这往往意味着分解工作有误。这时,应该把两个函数中重复的代码都取出来,把公共代码放入一个新的通用函数中,然后再让这两个函数调用新的通用函数。通过使公共代码只出现一次,可以节约许多空间。

🍪限制改动带来的影响🍪 

由于在独立区域进行改动,因此,由此带来的影响也只限于一个或最多几个区域中。

🍯函数能提高应用的模块性,和代码的重复利用率。


🍰定义函数 

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()记得后面还要有冒号(:)

注意→函数的内容以冒号:开始并且还要缩进(Tab)

  1. def 是英文 define 的缩写形式。
  2. 函数名称 应该能够表达函数封装的代码 的功能,方便后续的调用。
  3. 函数名称 命名应该要 符合标识符的命名规则。

标识符的命名规则有如下↓

  1. 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
  2. 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。
  3. Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符

定义函数的形式如下↓

def 函数名(参数列表):函数的封装的代码...//注意缩进Tab

🍪函数调用 

调用函数的内容实际上是非常容易的,容易的简直是不能再容易了。连我都会(^∀^●)ノシ

通过🍎函数名()🍎来进行调用即可。


🍯第一个函数

那么我们现在就定义一个hello_word()来实现打印hello word!代码示例如下↓

def hello_word():print('hello word')hello_word()

📢运行结果

hello word


🍪自定义add()实现相加

此时张三就来捣乱的说:那我要实现add()两个数字的相加怎么去实现呢。

那我们再来先介绍下函数的形式,如下代码所示↓

def 函数名(参数列表)://实现特定功能的多行代码return 返回值

形参列表:设置该函数可以接收多少个参数,多个参数之间用逗号(,)分隔。

return 返回值:整体作为函数的可选参参数,用于设置该函数的返回值。也就是说,一个函数,可以用返回值,也可以没有返回值,是否需要根据实际情况而定。接收返回结果也是特别容易的我们只需要创建一个变量来进行接收结果即可。

好了那么当我们了解了基本情况的时候就来实现下,代码示例如下↓

def add(x,y):passreturn x + y
x = 10
y = 20
ret = add(x,y)
print('%d和%d相加的值:%d' % (x,y,ret))

📢运行结果

10和20相加的值:30


🍪参数↓

下面注意两点函数参数的使用如下↓

  1. 在函数名的后面的小括号内部需要填写参数
  2. 多个参数之间需要使用,(逗号)分隔。

上面当中的 add(x,y):形式参数,而 add(x,y) 实际参数。区别就是观察后面有没有冒号(:)即可。

  • 形参定义函数的时候,小括号中的参数,是用来接收参数用的,在函数的内部当中会作为变量来进行使用。
  • 实参调用函数的时候,小括号中的参数,是用来吧数据传递到函数的内部当中用的。

🍪函数的调用

上述示例的代码当中我们就是使用到了函数的调用。

函数调用的基本语法如下↓

返回值 = 函数名(形参值)

在函数名即指的是要调用的函数的名称;

形参值指的是当初创建函数时要求传入的各个形参的值;例如上面代码我们分别就传入了x的值和y的值。

如果当我们实现的代码拥有返回值(return)的话,我们就需要一个变量来进行接收,那么这个变量就会获取到返回的值大小。

加入有两个或者多个形参,那么我们可以使用逗号分隔符来进行分割。

如果我们没有加入形参值的话那么后面函数名的 小括号() 我们还是需要保留的。


🍯函数调用放在函数定义

张三:那么我们能不能将函数的定义放在下方,把函数的调用放在上方呢。

謓泽:这是不行的,因为python是一门🍎解释型🍎语言。如果这里是C语言的话那它是可以的,因为在C语言当中我们只需要在函数当中声明下即可。而解释性语言是需要先定义好变量,然后再是才能调用。

接下来我们来用程序来看看,还是调用 hello_word() 来观察程序运行结果,如下代码所示↓

hello_word()
def hello_word():print('hello word')

运行结果🖊

NameError: name 'hello_word' is not defined

上述英文的意思是:名称"hello_word"未定义,从这里我们可以知道运行结果错误。


🍯函数的嵌套调用 

函数嵌套调用非常的好理解就是:一个函数里面又调用了另一个函数,那么这就是函数嵌套调用的形式。

那么下面我们来举个例子,如果 test1 当中,调用了另外一共函数 test2 中。

规定:test1 当中打印的是 hello python,则 test2 当中打印的是 你好 蟒蛇。

如下代码所示↓

【Python】系列_謓泽的博客-CSDN博客

运行结果如下🖊

hello python
你好 蟒蛇

 在上述图中就是带大家直观的观察它走的每一步的信息,这样方便我们去理解函数嵌套。


🍰任意字符和任意数量组成一条线

在这里我们可以使用函数来完成这道题目。[函数实现]

此时的张三就说这不是有手就行吗。让我来试试,示例代码如下↓

def h_l():print("*" * 50)passh_l()

运行结果🖊

**************************************************

张三那你这样岂不是只能规定 字符("*") 和 数量(50),可是我们是需要的是任意,可是你这样岂不就是固定的,没有达到我的题目要求啊。

接下来在看看另一组代码如下↓假设我们要打印的字符("-")和数量(20)

def h_l(char, num):print(char * num)passh_l("-",20)

运行结果🖊

--------------------

张三不服气的说你这不还是固定的。

那你看下面的代码,如果我用input()来呢。如下代码所示:↓

def h_l(char, num):print(char * num)passc = str(input('请输入字符:'))
n = int(input('请输入数量:'))h_l(c,n)

运行结果🖊

请输入字符:+

请输入数量:35

+++++++++++++++++++++++++++++++++++


张三:那么你能实现定义一个函数实现打印任意行以及任意字符和任意数量组成一条线。

当然可以啊,如下代码所示↓

def h_l(row,char, num):while row:print((char * num))row = row - 1r = int(input('请输入行数:'))
c = str(input('请输入字符:'))
n = int(input('请输入数量:'))h_l(r,c,n)

运行结果🖊

请输入行数:5
请输入字符:/
请输入数量:6
//
//
//
//
//


http://chatgpt.dhexx.cn/article/6nn69NiQ.shtml

相关文章

1000+常用Python库一览

‍ ‍ 来源:法纳斯特 这次给大家总结整理了1000常用Python库,主要分为以下部分???? 文本处理、文件处理、图像处理、游戏和多媒体、大数据和科学计算、人工智能和机器学习、系统与命令行、数据库、网络、web框架、安全、封装、代码调试 文本处理 Cha…

mongoDB——GridFS存储机制

mongoDB的文档以BSON格式存储,支持二进制数据类型,所以,可以把文件的二进制格式的数据直接保存到MongoDB的文档中,但是每个文档的长度是有限制的,而我们一般上传的图片、视频等文件又比较大。针对这种情况,…

MongoDB入门学习(二)GridFS、GridFS整合SpringBoot

文章目录 GridFSGridFS简介GridFS存储原理 GridFS整合SpringBoot新增store()查询与下载find()、findOne()删除delete() Demo案例 GridFS GridFS简介 GridFS是MongoDB的一个用来存储/获取大型数据(图像、音频、视频等类型的文件)的规范。相当于一个存储…

MongoDB之GridFS

【MongoDB是什么?】 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它…

Python操作mongo--GridFS

业务场景: 通过python查询mongo数据库中所存储的图片 条件: 查询上传日期大于等于2022-03-04的图片并保存到本地 度娘了好多文章,发现除了疯狂的套娃有用的信息很少,于是有了此文章,,理解不了的可以结合截…

Mongodb操作GridFS案例

文章目录 准备环境Navicat中查看GridFS存储桶登录连接查看 准备环境 开启服务 mongod -f /opt/servers/mongodb_demo/mongodb/conf/mongod.conf 关闭防火墙 systemctl stop firewalld.service 查看防火墙的状态 systemctl status firewalld.service 进入mongo shell mongo …

MongoDB中的GridFs是什么

本文来介绍下MongoDB的GridFsTemplate如何使用 文章目录 什么是GridFS为什么要使用GridFSGridFS的两个集合本文小结 什么是GridFS GridFS是一种将大型文件存储在MongoDB的文件规范。所有官方支持的驱动均实现了GridFS规范。GridFS是MongoDB中的一个内置功能,可以用…

GridFS文件存储

GridFS文件存储 使用命令行操作GridFS 提前创建好文件 1.上传文件 现在我们使用 GridFS 的 put 命令来存储 GridFS存储.ppt文件。 调用 MongoDB 安装目录下bin的mongofiles.exe工具。 打开命令提示符,进入到MongoDB的安装目录的bin目录中,找到mongof…

GridFs的初步了解

前言 刚刚接触到了MongoDB的分布式文件存储系统GridFs,以前没了解过,这里记录一下它的简单使用。 1、GridFs介绍 GridFS是一种将大型文件存储在MongoDB的文件规范。所有官方支持的驱动均实现了GridFS规范。 GridFS 用于存储和恢复那些超过16M&#x…

2023 mongodb GridFS整合SpringBoot

接了个,为了节约成本以及提高开发效率,文件存储和数据存储都用的是mongodb,网上找了一大堆gridfs的案例,发现都不好用,嗯,,,自己动手写吧,仅供参考。 核心pom配置 ser…

GridFS文件操作

1. GridFS介绍 GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用MongoDB存储数据,使用GridFS可以快速集成 开发。 它的工作原理是: 在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个块进行存储&#xf…

MongoDB GridFS

GridFS简介 GridFS是Mongo的一个子模块,使用GridFS可以基于MongoDB来持久存储文件。并且支持分布式应用(文件分布存储和读取)。作为MongoDB中二进制数据存储在数据库中的解决方案,通常用来处理大文件,对于MongoDB的BSON格式的数据(文档)存储有尺寸限制&a…

GridFS详细分析

GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。 http://www.mongodb.org/display/DOCS/GridFS http://www.mongodb.org/display/DOCS/GridFSSpecification GridFS使用 MongoDB提供了一个命令行工具mongofiles可以来处理GridFS&#xff…

13.MongoDB之Gridfs

参照官网如下(如下链接依次递进): https://docs.mongodb.com/manual/core/gridfs/ https://docs.mongodb.com/database-tools/mongofiles/#mongodb-binary-bin.mongofiles https://docs.mongodb.com/database-tools/installation/installation/ FS:即文…

MongoDB(四)——GridFS

GridFS MongoDB的一个重要子模块,可基于MongoDB来持久存储文件,并且支持分布式存储和读取。 持久存储:对应瞬时数据如内存,指保存到数据库中,能持久保存。 分布式存储:将数据分散地存储于多个位置。 存在的…

在Keil MDK中无法使用gmtime函数进行时间戳转换

硬件平台STM32&#xff0c;软件平台Keil MDK 5.18 由于项目中需要用到UNIX时间戳和日历的来回转换&#xff0c;于是想到C库函数<time.h>里面有现成的函数可以使用。 于直接使用mktime和gmtime两个函数进行时间戳转换&#xff0c;前者把日历转为时间戳&#xff0c;后者把…

C++中获取日期函数gmtime和localtime区别

函数gmtime和localtime的声明如下&#xff1a; struct tm * gmtime (const time_t * timer); struct tm * localtime (const time_t * timer); 它们均接收一个time_t的const指针类型&#xff0c;time_t类型通常是一个大整数值&#xff0c;该整数值表示自UTC时间1970年1月1日0…

C语言学习笔记---时间函数ctime()和gmtime()

函数原型如下&#xff1a; __CRT_INLINE char *__cdecl ctime(const time_t *_Time);__CRT_INLINE struct tm *__cdecl gmtime(const time_t *_Time);ctime函数 ctime函数可以将当前时间值转换为字符串格式返回。返回的字符串格式为&#xff1a;Www Mmm dd hh:mm:ss yyyy 其中&…

Linux系统编程一:时间和延时、gmtime和localtime函数返回相同

目录 1. 概述2. 延时函数3. 当前时间3.1 时间调用函数3.2 时间转换函数 4. gmtime和localtime函数返回相同测试代码 1. 概述 前面的几篇文章Linux学习笔记一到七&#xff0c;主要是开发环境的搭建&#xff0c;都是一些准备工作。从本篇文章开始&#xff0c;将学习Linux系统编程…