1

函数(function)

  • 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。像Kitten一样,函数可以使积木脚本缩短、可以使代码更简洁,重复使用时更加方便。
  • 到目前为止,我们已经使用了很多函数,例如打印print()、获得输入input()、求算数平方根math.sqrt() 等,这些都是函数。但是,这些函数,要么是内建的函数,要么是从Python的其他库中导入的函数。
  • 现在,我们将编写自己的函数来做任何我们想做的事情。你可以使用“定义函数”积木,来定义属于自己的函数。编辑函数的名称、函数的参数,编辑函数内部的代码和函数的返回值。定义好以后,对函数进行调用,就可以使函数发挥特定的功能。

1.定义函数

函数副本

  • 对应代码:
def function():
	pass
  • 含义:

    • 定义函数时,需要先定义函数的名称,点击上图中字母function所在的区域,就可以编辑函数名。
    • 函数名需要满足以下几条规则:
      • 函数名可以同时包含字母和数字,但不能以数字开头。
      • 函数名中的字符必须是字母、数字、下划线或者汉字,不能使用其他字符。
      • 函数名区分大小写。
      • 函数不可以与关键词同名,同时为了防止一些理解上的误会,在积木模式下,函数名不可以与任何Python其他内置函数同名
    • 一般来讲,为了便于阅读,并使代码结构更清晰,定义函数的代码,要与其他代码之间适当空行以作区分。
  • 技术喵提醒:

    • 要使用函数,光对函数进行定义可不行哦!函数定义只是构造了这个函数,要使函数真正发挥作用,还要对函数进行调用,后面的部分会详细讲到如何调用函数。

2.函数

函数

  • 含义:

函数定义后,要调用它,函数才能发挥它的效果哦~

函数解释

代码:

def function():
    print('Hello')

#开始进入Python的世界
function()

3.参数

参数

  • 含义:

    • 参数的使用能方便地控制函数里的一些变量。

    • 使用参数的时候,参数可以随意修改哦~

      参数举例

转成代码:

参数举例2

  • 技术喵提醒:
    • 参数的命名规则同函数名命名规则一致。
    • 参数积木只能在定义函数内部使用,在其他的函数或者代码中使用都是不可以的。
    • 函数内使用变量会默认为局部变量,这点和Kitten是不一样的,大家要注意哦~
      • 函数内使用变量,变量一定要先赋值,因为这是个默认的新的局部变量。
      • 函数内对局部变量进行修改,是不会影响到函数外同名变量的值的,这两个变量虽然看起来一样,但是一个是局部,一个是全局,其实是不一样。

局部举例

代码和输出值:

局部举例2

如果一定想要在函数内使用全局变量,也是可以做到了,需要使用下面这块积木,它对应的是global()函数,如图:

局部举例2

它的用法如下:

局部举例2

#开始进入Python的世界
x = 0

def function():
    global x #global函数强制把x变量转为了全局变量,后面对x的修改,都是全局修改
    x = 3
    print(x)

#开始进入Python的世界
function() #这里打印出来x的值为3
print(x) #因为上面的函数已经把全局变量x的值赋值为3了,所以这里打印出的x也是3

4.返回值

返回

  • 对应代码:

    return 0
    
  • 含义:

    • 要将一个函数结束运行时得出的信息传递给程序的剩余部分,可以使用“返回”积木,也就是 return函数。当运行到return时,函数会停止运行,并返回对应表达式的值。
    • 有返回值的函数是椭圆型的哦,可以塞到其他的积木中,返回值能够被运行。
  • 举例:

返回举例

代码:

def function(x1, x2):
    return (x1 + x2)

#开始进入Python的世界
print(function(3, 4))

  • 说在后面的话

函数是编程语言中最强大的语言特征之一,上面介绍的函数的特征仅仅只是函数最基础的功能。与函数相关的特征还包括不同的参数传递方法,以及另外一种更强大的数据类型:对象(object)。我们把有相同的局部变量和函数的对象,抽象出来,称之为类(class)。类与对象可以把函数和数据收集在一起,这样我们不但能更加方便地重复利用我们写过的代码,还能引入、继承他人所写的优秀的代码。这部分内容比较复杂,理解起来比较抽象,我们会在以后的学习过程中,逐渐接触并使用它们。