顺 达 直 属 啊-qQ同步【32384】【32384】信誉至上【待遇,一步到位】直接添加无需打开.抽象可以节省大量工作,实际上它的作用还要更大,它是使得计算机程序可以让人读懂的关键。
创建函数
顺 达 直 属 啊-qQ同步【32384】【32384】信誉至上【待遇,一步到位】直接添加无需打开.函数可以调用(可能包含参数,也就是放在圆括号中的值),它执行某种行为并且返回一个值。一般来说,内建的callable函数可以用来判断函数是否可调用:
>>> import math
>>> y=1
>>> x=math.sqrt
>>> callable(x)
True
>>> callable(y)
False
创建函数是组织程序的关键。那么怎样定义函数呢?
使用def(或“函数定义”)语句即可:
>>> def hello(name):
return ‘Hello, ‘ + name + ‘!‘
传入不同的参数,得到不同的结果:
>>> print hello(‘signjing‘)
Hello, signjing!
>>> print hello(‘jiao‘)
Hello, jiao!
斐波那契数列的获取方法(例如,前10项)为:
>>> f=[0,1]
>>> for i in range(8):
f.append(f[-1]+f[-2])
>>> print f
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
如果用函数的方法实现,则为:
>>> def fibs(num):
result=[0,1]
for i in range(num-2):
result.append(result[-2]+result[-1])
return result
执行结果:
>>> fibs(10)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
>>> fibs(16)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
return语句是用来从函数中返回值的。
记录函数
如果想给函数写文档,让后面使用该函数的人能理解的话,可以加入注释(以#开头)。
另外一个方式是直接写上字符串。这里字符串在其它地方可能会非常有用,比如在def语句后面(以及在模块或类的开头)。如果在函数的开头写下字符串,它就会成为函数的一部分进行存储,称为文档字符串。
>>> def fibs(num):
‘fibs is a funtion:*************‘
result=[0,1]
for i in range(num-2):
result.append(result[-2]+result[-1])
return result
>>> fibs.__doc__
‘fibs is a funtion:*************‘
注意:__doc__是函数属性。
内建的help函数非常有用。在交互式解释器中使用它,就可以得到关于函数,包括它的文档字符串的信息。
>>> help(fibs)
Help on function fibs in module __main__:
fibs(num)
fibs is a funtion:*************
并非真正函数的函数
数学意义上的函数,总在计算其参数后返回点什么。python的有些函数却并不返回任何东西。
没有return语句,或者虽有return语句但return后边没有跟任何值的函数不返回值。
>>> def test():
print "This is printed"
return
print ‘this is not‘
>>> x=test()
This is printed
上述函数中的return语句只起到结束函数的作用。
>>> x
>>> print x
None
所以,所有的函数的确都返回了东西:当不需要它们返回值的时候,它们就返回None。
参数魔法
值从哪里来
写在def语句中函数名后面的变量通常叫函数的形式参数,而调用函数时提供的值是实际参数,或者成为参数。
我能改变参数吗?
顺 达 直 属 啊-qQ同步【32384】【32384】信誉至上【待遇,一步到位】直接添加无需打开.在函数内为参数赋予新值不会改变外部任何变量的值。
顺 达 直 属 啊
猜你喜欢
转载自www.cnblogs.com/huhz1979/p/12791322.html
今日推荐
周排行