Python基础--函数、懒惰即美德


首先Python程序就很短小精悍,例如,计算斐波那契数列前十个数:

fibs = [0, 1]
for i in range(8):
  fibs.appens(fibs[-2] + fibs[-1])

创建函数
使用def

def hello(name):
  return 'Hello, ' + name + '!'

文档字符串

class TestClass:  
    '''''This is TestClass' DocStrings'''  
    def func1():  
        '''''this is func1's DocStrings'''  
        pass  

def func2():  
    '''''this is func2'''  
    print "this is func2"  

print func2.__doc__  

关键字参数和默认值

def funcC(a, b=0):
  print a
  print b

收集参数
这就是我们C++中可变参数,使用星号表示

def print_params_2(title, *params):
  print title
  print params

print_params_2('Params:', 1, 2, 3)
Params:
(1, 2, 3)

递归

def factorial(n):
  if n == 1:
     return 1
  else:
     return n*factorial(n-1)

内置函数vars
本函数是实现返回对象object的属性和属性值的字典对象。如果默认不输入参数,就打印当前调用位置的属性和属性值,相当于locals()的功能。如果有参数输入,就只打印这个参数相应的属性和属性值。

print(vars())  

class Foo:  
    a = 1  
print(vars(Foo))  

foo = Foo()  
print(vars(foo))  

评论关闭