函数的设计和使用

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)

大家都在看

  • 【转】京东评价系统海量数据存储设计

    概述 京东的商品评论目前已达到数十亿条,每天提供的服务调用也有数十亿次,而这些数据每年还在成倍增长,而数据存储是其中最重要的部分之一,接下来就介绍下京东评论系统的数据存储是如何设计…

    Linux 2023年6月16日
    0125
  • pycharm 设置默认换行符

    作者:Outsrkem原文链接:https://www.cnblogs.com/outsrkem/p/16488693.html本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月6日
    097
  • 浪剑天下H5游戏详细图文架设教程

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

    Linux 2023年6月7日
    083
  • 用Windows Terminal替代cmd

    HKEY_CLASSES_ROOT\batfile\shell\open\command,默认项内容 把 "C:\Users\<user>\AppData\L…

    Linux 2023年6月13日
    096
  • Jstack排查线上CPU100%

    Jstack排查线上CPU100% 介绍 jstack是JVM自带的Java堆栈跟踪工具,用于生成java虚拟机当前时刻的线程快照,来帮助定位线程出现长时间停顿的原因,例如死锁、死…

    Linux 2023年6月6日
    095
  • 解决Docker容器iptables不能用

    最近使用frp做跳板远程运维内网的服务器,尽管已经屏蔽了海外IP对vps服务器的访问,但是总觉得直接暴露远程管理的端口在互联网上还是不安全。于是想着用Ocserv做服务端先vpn拨…

    Linux 2023年5月27日
    099
  • NoteOfMySQL-09-存储过程与函数

    常用的SQL语句在执行时需要先编译,然后执行;而存储过程(Store Procedure)是经编译后存储在数据库中的SQL语句集,在数据库中创建和保存。 一、存储过程与函数的区别 …

    Linux 2023年6月14日
    051
  • Redis6.0.5版本配置文件说明(转载)

    Redis版本此文章中Redis版本为6.0.5。 redis-server –versionRedis server v=6.0.5 sha=00000000:0 m…

    Linux 2023年5月28日
    094
  • [转帖]shell中if语句的使用

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

    Linux 2023年5月28日
    097
  • [PYTHON][BAT][SHELL] 常见易忘 python、bat、shell 脚本操作汇总(持续更新)

    BAT 脚本 1、相互调用 1.1、bat 调用 python 1.2、bat 调用 bat 2、系统相关 2.1、不关闭 2.2、读取环境变量 3、文件操作 3.1、读取 3.2…

    Linux 2023年6月8日
    0149
  • 【pycharm】Cannot find reference ‘XXX‘ in ‘__init__.py‘ 解决办法

    Cannot find reference ‘XXX’ in ‘init.py’ 解决办法 File -> Editor -&…

    Linux 2023年6月8日
    0101
  • CTF中的一些图形密码

    1.传统猪圈密码 猪圈密码又称为亦称朱高密码、共济会暗号、共济会密码或共济会员密码;是一种以特定符号来替换字母的加密方式在线解密网址:http://moersima.00cha.n…

    Linux 2023年6月6日
    0109
  • docker 安装nextcloud+onlyoffice+mysql

    环境 类目 版本 备注 操作系统 centos 7 64位 Docker 最新版 Docker compose 最新版 暂时没有用上可以不安装 nextcloud 最新版 only…

    Linux 2023年5月27日
    091
  • 聊聊Asp.net过滤器Filter那一些事

    最近在整理优化.net代码时,发现几个很不友好的处理现象:登录判断、权限认证、日志记录、异常处理等通用操作,在项目中的action中到处都是。在代码优化上,这一点是很重要着力点。这…

    Linux 2023年6月14日
    081
  • 常见网络安全设备

    一、防火墙定位:访问控制类产品,网络出现后的第一类安全产品。功能:隔离内网、外网以及DMZ区(业务系统对外发布区,Web应用服务器,邮件服务器等)并控制用户访问。部署方式:通常部署…

    Linux 2023年6月14日
    077
  • 【MQTT】在Linux使用MQTT上报温度到阿里云

    MQTT上报温度到阿里云 * – 前言 – iniparser配置文件 – cJSON – sqlite3数据库 – 流…

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