这里的QuickSort.count叫做"函数属性function attribute",
python等动态类型语言所具有的"函数同时是头等对象"的功能.
即代码可以往函数对象上灵活地添加某属性.
def?f():?
print(f.act)
之前的快速排序用了一个count属性在记录排序算法的比较次数.属于调试显示,不是排序的核心算法..
Python中定义函数格式为,def◆函数名:代码块
如:
def print_hello():
print("hello")
①.、定义函数
函数是可重用的程序.本书中已经使用了许多内建函数,如len()函数和range()函数,但是还没自定义过函数.定义函数的语法格式如下:
def 函数名(参数):
函数体
定义函数的规则如下:
①关键字def用来定义一个函数,它是define的缩写.
②函数名是函数的唯一标识,函数名的命名规则遵循标识符的命名规则.
③函数名后面一定要紧跟着一个括号,括号内的参数是可选的,括号后面要有冒号.
④函数体(statement)为一个或一组Python语句,注意要有缩进.
⑤函数体的第一行可以有文档字符串,用于描述函数的功能,用三引号括起来.
按照定义规则,可以定义第一个函数了:
def?hello_world():
...??print('Hello,world!')?#?注意函数体要有缩进
...
hello_world()
Hello,world!
这个函数不带任何参数,它的功能是打印出"Hello,world!".最后一行代码hello_world()是调用函数,即让Python执行函数的代码.
a?=?100?#?全局变量
def?test1():
...??print(a)
test1()
①.00
...??a?=?100?#?局部变量
print(a)
Traceback?(most?recent?call?last):
File?"stdin",?line?1,?in?module
NameError:?name?'a'?is?not?defined
一般情况下,在函数内声明的变量都是局部变量,但是采用关键字global修饰的变量却是全局变量:
...??global?a?#?全局变量
...??a?=?100
这个程序与上个程序相比,只是在函数test1()中多了一行代码"global a",程序便可以正确运行了.在函数test1()中,采用关键字global修饰了变量a之后,变量a就变成了全局变量,不仅可以在该函数内使用,还可以在函数外或者其他函数内使用.
如果在某个函数内局部变量与全局变量同名,那么在该函数中局部变量会覆盖全局变量:
综合上面所讲的,在Python中,全局变量保存的数据供整个脚本文件使用;而局部变量只用于临时保存数据,变量仅供局部代码块使用.
以上就是土嘎嘎小编为大家整理的python定义函数语法相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!