函数的设计和使用

1.函数的定义

将可能需要反复执行的代码封装为函数,并在需要该功能的地方进行调用,不仅可以实现代码复用,更重要的是可以保证代码的一致性,只需要修改函数代码则所有调用均受影响。

设计函数时,应注意提高模块的内聚性;同时降低模块之间的隐士耦合。

合理使用函数,规范编码

充分利用python函数式编程的特点,让自己定义的函数尽量符合纯函数式编程的要求。

函数的定义语法:

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

”’注释”’

函数体

注意事项:

函数形参不需要声明其类型,也不需要指定函数返回值类型。

括号和后面的冒号必不可少。

函数体相对于def关键字必须保持一定的空格缩进。

python允许嵌套定义函数。

定义函数时不需要声明函数的返回值类型,而是使用return语句结束函数执行的同时返回任意类型的值,函数返回值类型与return语句返回表达式类型一致。

不论return语句出现在函数的什么位置,一旦得到执行将直接结束函数的执行。

如果函数没有return语句、有return语句但是没有执行到或者执行了不返回任何值得return语句,解释器都会认为该函数以return None结束,即返回空值。

空函数定义

如果想定义一个什么事也不做的空函数,可以用pass语句:

def nop():

pass

pass 语句什么都不做,那是有什么用?实际上pass可以用来作为占位符,比如现 在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

pass还可以用在其语句里,比如:

def my_abs(x):

if x >=0:

return x

else:

pass

未完等待。。。

Original: https://www.cnblogs.com/wang-yongxu/p/12841092.html
Author: Lyon-w
Title: 函数的设计和使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582007/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • nand

    nand flash裸机编程第001节_NAND_FLASH操作原理第002节_NandFlash时序及初始化第003节_NandFlash的芯片id读取第004节_NandFla…

    Linux 2023年6月13日
    079
  • OpenResty入门

    OpenResty介绍 OpenResty通过汇聚各种设计精良的 Nginx模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web …

    Linux 2023年6月8日
    098
  • 配置免密登陆服务器

    前言 原来自己学习的时候在阿里云买自己的学习机,一台主机自己瞎折腾。但是参加工作以后管理的主机越来越多了,上服务器看的频率也越来越频繁,虽然有时候shell管理工具可以很方便的保存…

    Linux 2023年5月27日
    0141
  • [20220106]ora-00600 kokasgi1.txt

    [20220106]ora-00600 kokasgi1.txt –//上午看了https://www.xifenfei.com/2022/01/2022-first-…

    Linux 2023年6月13日
    093
  • RPA 微信财务报销机器人 竹间智能

    bash;gutter:true; 1、首先通过微信对话机器人收集报销信息及内容 2、上传发票并进行OCR识别 3、收集相关的出差信息,支持对话中修改内容 4、完成信息收集后,后台…

    Linux 2023年6月7日
    0103
  • 网络中冗余备份

    冗余备份的重要性 如今社会,网络是各个产业的新的血脉,网络的稳定性至关重要,一旦网络出现故障,导致断网、延迟丢包等很可能会导致生产作业停滞,造成较经济损失,为此冗余备份至关重要,从…

    Linux 2023年6月6日
    0128
  • 常见开发模型-敏捷开发与瀑布开发模型详解

    引言 在学习软件工程的时候接触过一些软件工程开发模型的相关概念,其中,印象比较深刻的就是瀑布模型和敏捷开发模型。这两种模型在日常的软件开发中都是非常常用的,但是它们也有比较大的区别…

    Linux 2023年6月7日
    0136
  • 学习

    1.1、参考博客 参考的教程如下: Original: https://www.cnblogs.com/agui125/p/16032402.htmlAuthor: 风御之举Tit…

    Linux 2023年6月13日
    0105
  • apache tomcat 目录session应用信息漏洞

    Tomcat 是一款开源的 Web 应用服务器软件。Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不多的场合下被普遍使用,是开发和调试 JSP 程序的首选。 漏洞描…

    Linux 2023年6月7日
    0144
  • Spring Boot 项目启动错误 提示 java.lang.ClassNotFoundException org.apache.log4j.Logger

    问题描述 spring boot项目升级到2.x,启动时出现错误提示:java.lang.ClassNotFoundException: org.apache.log4j.Logg…

    Linux 2023年6月14日
    099
  • 如你所见

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月6日
    082
  • shell echo单行和多行文字定向写入到文件中

    单行文本: #!/bin/bash echo "192.168.85.24 tsedb">> /etc/hosts 多行文本: < #!/bi…

    Linux 2023年5月28日
    086
  • 应用实战:从Redis到Aerospike,我们踩了这些坑

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/duanxz/p/15878002.htmlAuthor…

    Linux 2023年5月28日
    0106
  • zabbix部署

    zabbix zabbix zabbix介绍 zabbix特点 zabbix部署 zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开…

    Linux 2023年6月13日
    0138
  • Quartus II 13.0 sp1的官方下载页面

    今天为了下个ModelSim跑到网上去找下载资源,清一色的百度网盘,下载速度60k/s,简直有病,于是跑到Intel官网上把连接挖出来了,供各位直接下载 实测使用IDM多线程下载速…

    Linux 2023年6月13日
    0177
  • Linux下PAM模块学习总结

    Linux下PAM模块学习总结 转载自 https://www.cnblogs.com/kevingrace/p/8671964.html Original: https://ww…

    Linux 2023年6月7日
    0104
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球