Python函数基础

函数基础

简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运行。Python中的函数在其他语言中也叫做过程或子例程,那么这些被包装起来的语句通过一个函数名称来调用。

有了函数,我们可以在很大程度上减少复制及粘贴代码的次数了(相信很多人在刚开始时都有这样的体验)。我们可以把相同的代码可以提炼出来做成一个函数,在需要的地方只需要调用即可。那么,这样就提高了代码的复用率了,整体代码看起来比较简练,没有那么臃肿了。

函数在Python中是最基本的程序结构,用来最大化地让我们的代码进行复用;与此同时,函数可以把一个错综复杂的系统分割为可管理的多个部分,简化编程、代码复用。

接下来我们看看什么是函数,及函数该如何定义。有两种方式可以进行函数的定义,分别是deflambda关键字。

函数定义

先总结一下为什么要使用函数?

  1. 代码复用最大化及最小化冗余代码;
  2. 过程分解(拆解)。把一个复杂的任务拆解为多个小任务。

函数定义的语法为:

def func_name(arg1, arg2, arg3, ..., argN):
    statement
    return value

根据上面定义,可以简单地描述为:Python中的函数是具有0个或多个参数,具有若干行语句并且具有返回值(返回值可有可无)的一个语句块(注意缩进)。

那么我们就定义一个比较简单的函数,该函数没有参数,进入ipython交互式环境:

In[1]: def hello():
  ...:    print('Leave me alone, the world')
  ...:

调用(执行)该函数:

In[2]: hello()
Leave me alone, the world

我们发现hello()函数并没有return语句,在Python中,如果没有显式的执行return语句,那么函数的返回值默认为None

我们说过,定义函数有两种形式,另外一种形式是使用lambda来定义。使用lambda定义的函数是匿名函数,这个我们在后面的内容进行讲解,这里暂且不表。今天就这么多吧,明天介绍一下函数的参数。

本文分享自微信公众号 - 小白的技术客栈(XBDJSKZ)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IPython使用简易教程

    本文总结Ipython使用的知识。 ? 1 IPython 是什么? IPython (short for Interactive Python) was st...

    陆勤_数据人网
  • 编码,深浅copy

    encode,decode在python2中使用的一些迷糊,python3中更容易理解 要理解encode和decode,首先我们要明白编码,字符和二进制的相关...

    企鹅号小编
  • Python玩机器学习简易教程

    本文介绍利用Python和Python的机器学习库scikit-learn完成一个端到端的机器学习项目。 俗话说,“师傅领进门,修行在个人”。本文就是扮演领进门...

    陆勤_数据人网
  • Python scikit-learn 做线性回归

    线性回归是简单易用的机器学习算法,scikit-learn是python强大的机器学习库。 本篇文章利用线性回归算法预测波士顿的房价。波士顿房价数据集包含波士顿...

    陆勤_数据人网
  • Python 安装配置

    本文介绍了 Python 的编译安装方法以及 pip 的使用。 安装 $ wget https://www.python.org/ftp/python/3.6....

    康怀帅
  • PHP弱类型在CTF中的应用

    PHP作为世界上最好的语言(然而人生苦短,我用python),在CTF web题中大放异彩,深受出题人的喜爱。P神在对web题出题套路总结的第三条指出,出题人喜...

    企鹅号小编
  • QingStor 对象存储发布新版本 Python SDK

    QingStor 对象存储近日发布了新版本的 Python SDK ,并开源在https://github.com/yunify/qingstor-sdk-py...

    BestSDK
  • 如何学习和应用机器学习?

    人工智能、机器学习和深度学习,已成为能够给我们工作、生活和思维带来变革的认知和科技。 面对海量数据,利用人工智能、机器学习和深度学习创造价值是一件既有挑战又有意...

    陆勤_数据人网
  • 【重磅!】Facebook 发布开源框架 PyTorch,兼容 Python

    本周,Facebook 的 AI 研究团队发布了一个 Python 工具包,专门针对 GPU 加速的深度神经网络(DNN)编程。它有望辅助、或在一定程度上替代,...

    BestSDK
  • Python语言做数据探索教程

    本文总结Python语言做数据探索的知识。 类似R语言做数据探索,利用Python语言做数据探索。 1 数据导入 2 数据类型变换 3 数据集变换 4 数据排序...

    陆勤_数据人网

扫码关注云+社区

领取腾讯云代金券