Python函数认识

  1. 数学定义
    • y = f(x), y是x的函数,x是自变量。
  2. python中的函数组成
    • 由若干语句组成的语句块、函数名称、参数列表构成,函数是组织代码的最小单元
    • 像一个黑盒子,我们给它数据,它可以为我们完成一定的功能
  3. 函数的作用
    • 在结构化编程中,函数是对代码的最基本封装,一般都是按照功能组织一段代码
    • 封装的目的是为了造各种黑盒子,可以重复使用,减少冗余代码
    • 在整体的程序中代码更加地简洁美观、可读易懂
  4. 函数的分类
    • 内建函数; 例如max()、 reversed()等函数
    • 库函数; 例如math.ceil()等
    • 自定义函数; 通过def关键字进行定义

python函数的定义

通过def关键字进行定义,如下:

def 函数名(参数列表):
函数体(代码块)
[return [返回值]] # 中括号代表可省略的东西

代码解读:

1. 函数名就是标识符, 命名要求和变量的命名要求相同,如不懂,可参考本人博客文章

2. 语句块必须缩进,缩进4个空格

3. 上面代码中如果没有return 返回值这一句,会默认自动返回None,如果是有return没有返回值,也会默认返回None

4. 定义中的参数列表称为形式参数,只是一种符号表达式(标识符),简称形参

Python函数的调用

上面的函数定义,只是声明了一个函数,它不会被执行,需要调用才会执行

调用方式:

- 在函数名后面加上小括号,如果有必要在括号内传入参数,传参方式可以参考本人博客文章

- 调用时写的参数是实际参数,是实实在在传入的值,简称实参

def fac(x, y): # fac是函数名, x, y是形式参数,简称形参
result = x * y # 代码块,函数体
return result # 返回值 final = fac(4, 5) # 这里就是函数调用,函数计算完成后,把返回值赋值给final变量
print(final) # 其实这里也是调用print函数,print函数的作用是把我们传入的final参数打印到屏幕上

代码解读:

定义时:

  1. 定义了一个函数,函数名是fac,能接受2个参数
  2. 该函数计算的结果会作为return的返回值返回

    调用时:
  3. 用函数名fac后面加一个括号和两个参数进行调用,等号右边函数进行计算,计算结果通过return返回,赋值给变量final
  4. 定义函数要在调用之前,就像使用变量一样,使用时肯定已经定义过了
  5. 函数是可调用对象,可以用内建函数callable()进行测试

如果需要了解函数参数,可参考本人博客文章

python——函数的基本概念的更多相关文章

  1. Python函数-闭包的概念

    一个函数和它的环境变量合在一起,就构成了一个闭包(closure).在Python中,所谓的闭包是一个包含有环境变量取值的函数对象.环境变量取值被保存在函数对象的__closure__属性中.比如下面 ...

  2. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  3. python函数的参数传递问题---传值还是传引用?

    摘要:在python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象.不可更改对象的传递属于传值,可更改对象属于传引用.想要在函数中传递 ...

  4. Python学习:基本概念

    Python学习:基本概念 一,python的特点: 1,python应用场景多;爬虫,网站,数据挖掘,可视化演示. 2,python运行速度慢,但如果CPU够强,这差距并不明显. 3,严格的缩进式编 ...

  5. python函数(3):装饰器

    昨天学了很多函数方面的概念和知识其中有一个闭包的函数.很多人都对闭包的作用不是很清楚,今天我们就来认识一个新的知识点装饰器.它就是闭包函数的一个经典应用. 预习: 编写装饰器,为多个函数加上认证的功能 ...

  6. Python 函数返回值

    本章详细介绍 返回值: 0x 00 返回值简介 0x 01 指定返回值与隐含返回值 0x 02 return 语句位置与多条 return 语句 0x 03 返回值类型 0x 04 函数嵌套 0x 0 ...

  7. python——函数

    python--函数 1.介绍: 在过去的十年间,大家广为熟知的编程方法无非两种:面向对象和面向过程,其实,无论哪种,都是一种编程的规范或者是如何编程的方法论.而如今,一种更为古老的编程方式:函数式编 ...

  8. Python函数属性和PyCodeObject

    函数属性 python中的函数是一种对象,它有属于对象的属性.除此之外,函数还可以自定义自己的属性.注意,属性是和对象相关的,和作用域无关. 自定义属性 自定义函数自己的属性方式很简单.假设函数名称为 ...

  9. python面向对象编程 -- 基本概念

    面向对象的编程简要概括就是将要处理的问题抽象为数据和操作的集合,用类对其进行封装.其中数据和操作都称为类的属性,它们是一般是不变的. 对类进行实例化生成我们所说的对象,对象有自己的属性.对象的属性一般 ...

随机推荐

  1. mac安装flask

    1.1使用虚拟环境 输入以下命令可以检查系统是否安装了 virtualenv: $ virtualenv --version 大多数 Linux 发行版都提供了 virtualenv 包.例如,Ubu ...

  2. vi/vim编辑器使用方法详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对Unix及li ...

  3. PHP array_udiff_assoc

    1.函数的参数:返回数组的差集,比较时包括键值. 2.函数的参数: @params array $array @params array $array1 @params array $array2 . ...

  4. [Noip2007] 字符串的展开

    题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数 ...

  5. [LUOGU1122] 最大子树和 - 树形动规

    题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明 ...

  6. python编程系列---白痴女朋友(我没有女朋友!)看了都能懂的TCP/IP协议介绍

    前言 早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Microsoft都有各自的网络协议,互不兼容:为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为 ...

  7. 玩转PubSubClient MQTT库

    1.前言     在ESP8266学习系列中,博主一直使用HTTP协议.HTTP连接属于短连接,而在物联网应用中,广泛应用的却是MQTT协议.所以,本篇我们将学习Arduino平台上的MQTT实现库 ...

  8. ESP8266开发之旅 网络篇⑫ 域名服务——ESP8266mDNS库

    1. 前言     前面的博文中,无论是作为client端还是server端,它们之间的通信都是通过具体的IP地址来寻址.通过IP地址来寻址,本身就是一个弊端,用户怎么会去记住这些魔法数字呢?那么有没 ...

  9. java架构之路-(Redis专题)聊聊大厂那些redis

    上几次说了redis的主从,哨兵,集群配置,但是内部的选举一直没说,先来简单说一下选举吧. 集群选举 redis cluster节点间采取gossip协议进行通信,也就是说,在每一个节点间,无论主节点 ...

  10. instruments无法连接,设备查询不到,找不到工程,查询不到对应app

    这种问题真是让人捉急,一定要沐浴更衣,怀着一颗虔诚的心. 1.拔掉设备(iPhone/iPad),关掉设备.(长按电源键) 2.关闭Xcode和Instruments 3.重启设备(iPhone/iP ...