顺 达 直 属 啊

  顺 达 直 属 啊-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