4 定义函数: 结构化编程概念

中蟒有 '定义' 和 '函数' 两个关键字来定义函数. 这两个字是通用的.

很多人都爱把常用的指令组用一个代号(函数名)表示, 当程式需要该项功能时便只需调用该函数. 多用函数可以养成编写结构化程式的习惯.

例子:

定义 问电话(人名, 关系 = '朋友'):
     """这里是说明文件, 随便你打什么. 不写也行
	如果写了的话会成为 "问电话.__说明___" """
     问句 = "请问你中蟒的" + 关系 + 人名 + "家的电话是多少号 ? ")
     答 = 输入(问句)
     传回 人名 + 关系 + 答

电话1 = 问电话('青竹蛇')
电话2 = 问电话('大蟒', '爸爸')
电话本 = [ 电话1, 电话2 ] 

取 名字 自 [ '腹蛇', '响尾蛇', '大懒蛇']:
   电话本.附加(问电话(名字))

(记住要加冒号)

每个函数在调用时可以用不同的参数, 像上面那样. 不用参数也行, 不过函数的弹性也较低.

中蟒允许预设参数. 像上面的 '关系' 值, 如果调用时不给出该参数值则会使用预设的值.

有时候函数需要用任意数量的参数, 简单的做法是把所有参数包在一个元组或序列中传递.

嵌套函数也可以, 不过通常情况下并不需要这样做.

不过要记住, 因为中蟒是即译语言, 用太多函数会造成系统的负担, 这是因为每次调用函数都要经过一输寻找, 运行域转换等的工作. 其实就算是编译语言, 函数最好也不要用的太滥.