python(15)--函数设计

news2025/1/18 8:55:24

前言 

函数是可重用的程序代码块。

函数的作用,不仅可以实现代码的复用,还可以保证修改函数的代码时,所有调用该函数的地方都能得到体现。目前我已知函数的作用是:对代码实现了封装、函数调用、传递参数、返回计算结果等。

正文

1.函数的分类

Python 中函数分为如下几类:

1.内置函数,abs(),bin(),chr()等这些都是内置函数,具体有哪些内置函数请参考:Python(1)变量的命名规则_码银的博客-CSDN博客。

2.标准库函数,我们可以通过 import 语句导入库,import turtle。

3.第三方库函数,Python 社区也提供了很多高质量的库。下载安装这些库后,也是通过 import 语句导入,然后可以使用这些第三方库的函数

4.用户自定义函数,用户自己定义的函数,也就是开发中适应用户自身需求定义的函数。

        本篇文章所说的主要内容就是如何自定义函数,其他种类函数都是准备好的,知识体系庞大的,仅靠一篇文章我也说不了。

2.函数的定义和调用

2.1 格式和要点 

格式:

def 函数名 (【参数列表】):

        程序代码区域

        return[返回值] 

要点:

(1)Python 执行 def 时,会创建一个函数对象,并绑定到函数名变量上。

(2)园括号内是形式参数列表,有多个参数则使用逗号隔开

(3)形式参数不需要声明类型,也不需要指定函数返回值类型

(4)无参数,也必须保留空的圆括号

(5)实参列表必须与形参列表一一对应

(6)如果函数体中包含 return 语句,则结束函数执行并返回值

(7)如果函数体中不包含 return 语句,则返回 None 值。

2.2 形参和实参

def qiuMax(a,b):
    '''这里是函数的注释部分if,尽量说点有用的,我就先不说了'''
    if a>b:
        print("两数字比较,最大值为:",a)
    else:
        print("两数字比较,最大值为:",b)
a=input("a=")
b=input("b=")
qiuMax(a,b)

上面的 qiuMax 函数中,在定义时写的 qiuMax ( a , b )。 a 和 b 称为"形式参数",简称"形参"。也就是说,形式参数是在定义函数时使用的。形式参数的命名只要符合"标识符"命名规则即可。

在调用函数时,传递的参数称为"实际参数",简称"实参"。上面代码中, qiuMax (a,b),通过input()函数输入的a,b就是实际参数。

2.3返回值 

return 返回值要点:

1.如果函数体中不包含 return 语句,则返回 None 值。

2.如果函数体中包含 return 语句,则结束函数执行并返回值;

3.要返回多个返回值,使用列表、元组、字典、集合来操作。

a.返回none

def good(name):
    '''zhushi'''
    print(name,"是最棒的!")
fanhui=good("胡沙彼")
print(fanhui)
print(type(fanhui))

结果显示没有返回值。 

b.单一返回值

def jianfa(a,b):
    '''这里是函数的注释部分'''
    ret=a-b
    return ret
w=jianfa(1,2)
print(w)

结果显示返回值是-1 。

c.返回多个数据

def jianfa(a,b):
    '''这里是函数的注释部分'''
    ret1 = a + b
    ret2 = a - b
    ret3 = a * b
    ret4 = a / b
    return ret1,ret2,ret3,ret4
w,x,y,z=jianfa(10,20)
print("这是四个返回值:\n%s\n%s\n%s\n%s" % (w,x,y,z))

 

 

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

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

相关文章

可控硅原理(单向可控硅和双向可控硅)

晶闸管(Thyristor)又叫可控硅,按照其工作特性又可分单向可控硅(SCR)、双向可控硅(TRIAC)。其中双向可控硅又分四象限双向可控硅和三象限双向可控硅。同时可控硅又有绝缘与非绝缘两大类,如ST的可控硅用BT名称后的“A”、与“B”来区分绝缘与非绝缘。 …

SpringCloud(18):Sentinel流控降级入门

Sentinel本地应用流控降级实现分为三步: 创建本地应用搭建本地Sentinel控制台本地应用接入本地Sentinel控制台1 本地应用创建 整体流程分析 创建springboot项目在项目的pom.xml文件中引入sentinel-core的依赖坐标创建TestController,定义使用限流规则…

java面向对象

3.面向对象 3.1 类和对象 public class Main{public static void main(String[] args) { /* 1.面向对象学习的三条主线1.1 类的结构:属性、方法、构造器、代码块、内部类1.2 面向对象的三大特征:封装性、继承性、多态性1.3 其他关键字:this…

当我把ChatGPT机器人拉到微信群里,群友都玩疯了!!!

大家好呀,我是飘渺!最近ChatGPT可谓是火出天际,人工智能领域的股票最近都被这家伙带的一路狂飙,如果到现在你都没听过或使用过的话那你可能是有点out了。今天的文章并不打算介绍ChatGPT,而是要带大家玩一件好玩的事。将…

泰克示波器采样率问题解答

1. 怎样选择示波器的采样率?采样率通常由带宽决定。高斯响应的泰克示波器通常而言采样率需要是带宽的 4 倍或更高。2. 选择具有最大额定采样率的示波器, 足以提供示波器的额定实时带宽吗?示波器的最大额定采样率与其实时带宽密切相关。 简单来讲,“实时”表示在单…

【C++】C++入门 类与对象(一)

类与对象(一)一、类的引入二、类的定义1、类的两种定义方式:2、成员变量命名规则的建议:三、类的访问限定符及封装1、访问限定符2、封装四、类的实例化1、类的实例化概念2、类对象的大小的计算五、this指针this指针的特性一、类的…

1.Redis【介绍与安装】

1.常用数据库介绍 mysql的表类型[表引擎.存储引擎],memory表结构和表数据分开存储的,表结构保存在硬盘中,表数据保存在内存中memcache是一款软件,可以使用键值对的格式保存数据到内存中redis是意大利的工程师开发的开源免费的告诉缓存数据库,需要注意的是作者本身只开发了linu…

1 Flutter UI Container和 Text 和图片组件

一 Text 组件Text 文本组件的一些属性如下body: const Text("this is leonardo fibonacci",// 文本对齐的方式textAlign: TextAlign.center,// 文本方向textDirection: TextDirection.rtl,// 字体显示最大的行数maxLines: 2,// 文字超出屏幕之后的显示方式 ellipsi…

Postgresql中null值和空字符串

NULL和空字符串不同数据库的表现 null和空字符串在不同的数据库中表现不一样,找了一张图,可以很清晰的对比了解。 首先null不是一个空字符串,也不是一个为零的值,上图,Oracle将NULL和空字符串都视为NULL。PostgreSQL…

UDP协议详解

目录 前言: 再谈协议 UDP协议 比较知名的校验和 小结: 前言: UDP和TCP作为传输层非常知名的两个协议,那么将数据从应用层到传输层数据是怎样进行打包的?具体都会增加一些什么样的报头,下面内容详细介绍…

洛谷——P1077 摆花

【题目描述】 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m 盆。通过调查顾客的喜好,小明列出了顾客最喜欢的 n 种花,从 1 到 n 标号。为了在门口展出更多种花,规定第 i 种花不能超过 …

快捷键被占用了,这能忍吗?赶紧使用 OpenArk 找出元凶并干掉它!!!

文章目录一、 问题:快捷键被占用了导致影响工作效率二、OpenArk2.1 OpenArk简介功能发布官方链接2.2 下载OpenArk2.3 运行OpenArk2.4 被占用的热键元凶到底是谁?三、总结一、 问题:快捷键被占用了导致影响工作效率 你是否遇到过,…

用ChatGPT构建网络设备表,并根据设备关系生成网络拓扑

构造一个数据表,存储包括交换机、路由器、防火墙、入侵检测、上网行为管理等设备的编号、序列号、IP、MAC、访问地址、用户名、密码、管理员、物理位置、上联设备ip等信息下面是一个示例数据表:Device IDSerial NumberIPMACAccess URLUsernamePasswordAd…

一文教会你如何选择远程桌面(五大主流远程软件全面讲解)

写在前面 作为程序员的我们,随时随地写代码改代码是我们的日常。刚回到家,就被老板、产品经理cue是常有的事。基于这种情况,一般都会随身携带电脑,随时备战,不过每天背着电脑上下班非常不方便。因此资深程序员的解决方…

高通开发系列 - linux kernel更新msm-3.18升至msm-4.9

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 linux kernel更新msm-3.18升至msm-4.9第一周处理的内容:第二周处理的内容第三周处理的内容linux kernel更新msm-3.18升至msm-4.9 第…

洗地机怎么选?洗地机品牌排行榜

洗地机的出现不仅能高效的清洁地面还能节省我们做家务的时间,对于上班族、有宠物的家庭以及宝妈来说简直不要太方便;目前市面上的洗地机有分有线款和无线款,无线款会比有线款操作更加方便;洗地机怎么选,其实洗地机的清洁能力主要是看吸力大小…

C++:map和set的认识和简单使用/关联式容器

关联式容器 关联式容器即是用来存储数据的&#xff0c;并且存储的是<Key&#xff0c;Value>结构的键值对&#xff0c;在数据检索时效率比序列式容器高。 序列式容器也就是vector、list、queue等容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是…

虹科案例 | 对症下药,零售行业BI解决方案及实操案例!

数据源多难以整合&#xff1f; 无法实时访问数据&#xff1f; 数据分析难、价值共享难&#xff1f; 面对大量的数据&#xff0c;企业愈发头疼&#xff0c;尤其是零售行业。虹科Domo商业智能分析工具“对症下药”&#xff0c;为零售企业海量数据问题提供解决方案。 一、零售行业…

如何使用CRM做好交付项目管理

在企业客户生命旅程中&#xff0c;项目实施期是最为关键的阶段之一。项目交付物是衡量实施过程质量的重要指标之一。项目交付物也是项目实施过程中体现项目成果的重要依据&#xff0c;项目交付物还是项目实施全生命周期过程管理的综合结晶&#xff0c;所以项目过程管理中项目交…

nslookup命令使用技巧

前言 nslookup是一个DNS查询工具&#xff0c;可以指定查询的类型&#xff0c;可以查到DNS记录的生存时间&#xff0c;还可以指定使用哪个DNS服务器进行解释。 一、缺省查询 不指定 dns-server&#xff0c;使用系统默认的 dns 服务器。 nslookup 域名 通过上述命令的执行结果…