Python无参函数教程

函数概述(Overview of  Function)

在Python中有一个重要的概念叫函数。我们常常用不求甚解来形容对某些事物不去追究原理或原因。如,人们不会去追究发动机的原理而照样开小汽车,人们只要知道操控它就行了。人们也不知道大米酿造成白酒的化学原理,可是千百年来,照样是出了很多著名的白酒品牌。在Python中有print命令,相信大家都不知道它把字符串打印到IDLE中的具体原理。还有诸如随机模块的randint命令,os模块的那些命令,我们都不知道它们的原理。这些是预定义好的一些命令。命令,它能实现某种功能(function)。当我们要实现某种功能时,可以查找Python手册或其它模块中有没有相应的命令。如果找不到了,那就需要自己制造一个命令来实现这个功能了,这叫定义函数(在英文中它的翻译就是function)。函字通涵,它是蕴涵的意思。函数是组织好的,可重复使用的,用来实现某种功能的代码段。要使用函数,需要先定义它。函数定义好了,我们就能使用它们,这叫调用函数。在海龟画图中,我们接触过很多命令,它们都是事先定义好的函数。 接下来我们来定义函数,并且使用它们。

定义函数(Define Function)

在上面的图示中,def三个字是英文define的前三个字母,它就是定义的意思。在def之后是空格,接着就是函数名称,函数名称后是小括号号,最后面是冒号,需要注意一下的是,无论是小括号还是冒号,都是英文的半角符号,要不然就会出错。

上面的语句一、语句…和语句n就是语句组。给函数实现某种功能就要靠它的语句组了。最简单的语句组可以说是pass了。语句组中同样级别的语句们的缩进数要一致,否则就会出错。 以下是一个定义函数的例子:

>>> def  introduce():                 # 定义一个函数,名字叫introduce
   print("My name is rose")
print("My age is 11")
  
>>> 
>>>  introduce()                     # 调用函数 
My name is rose
My age is 11 

调用函数的方式就是写上函数名称,后面跟上小括号就行了。上面的第7行语句调用了函数,它只是简单地打印了一些字符串。我们可以用type命令查看函数的类型,也可以在调用函数的时候不输入小括号看看是个什么结果。

>>> introduce                                     # 不输入小括号,直接查看函数
<function introduce at 0x0000000002FDBBF8>        # 返回的是函数表述字符串
>>> type(introduce)                               # 查看introduce的类型
<class 'function'>                                # <类 ‘函数’>
>>>

在函数中当然也能使用导入进来的其它命令,接下来的例子命令使用了random中的randint和os模块中的mkdir命令。

>>> import random                    # 导入随机模块
>>> import os                        # 导入os模块
>>> def make_random_dir():           # 定义函数,名称为 make_random_dir
  s = ""
  for n in range(10):         # 迭代10次n
     s = s + str(random.randint(0,9)) # 产生0到9之间的随机数,转换成字符串,连接起来
  os.mkdir(s)                     # 在当前文件夹下建立名字为s的文件夹

  
>>> make_random_dir()              # 调用函数

上面定义了一个有一定使用价值的函数,它的名字叫make_random_dir,寓意为建立随机目录。当我们给函数,变量等取名字的时候,通常要给它们起一个恰当的名字,最好能直接表示函数的功能,当然不能和已有的命令、模块名等重名,更不能乱写。上面稍微难理解的是第6行代码,我们首先看str小括号里的命令。这个命令是:random.randint(0,9)。它会产生从0到9之间的随机整数。它产生后,str会把它转换成字符。最后这个字符和s连接起来了,结果就是s变长了一位。这个函数实现的功能就是,首先会产生一个随机的包括全是数字的字符串,然后在当前工作目录下以这个字符串为名称,建立一个新的目录。

现在,我们定义的函数都是没有参数的,可以称之为无参函数。所谓参数,先理解为在定义函数时候,在它的小括号有变量。既然有无参数的函数,那么可能某些函数就会有参数,暂且称之为有参函数,关于它,我们以后再学习。