《像计算机科学家一样思考Python》——3.6 定义和使用

本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第3章,第3.6节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.6 定义和使用

将前面一节零散的代码整合起来,整个程序就像下面这个样子:

def print_lyrics():
   print "I'm a lumberjack, and I'm okay."
   print "I sleep all night and I work all day."

def repeat_lyrics():
   print_lyrics()
   print_lyrics()

repeat_lyrics()

这个程序包含两个函数定义:print_lyrics和repeat_lyrics。(在解释器执行程序代码时)函数定义的执行方式和其他语句一样,不同的是执行后会创建函数对象。函数体里面的语句并不会立即执行,而是等到函数被调用时才执行。函数定义不会产生任何输出。

你可能已经猜到,必须先创建一个函数,才能执行它。换言之,函数定义必须在函数的第一次调用之前先执行。
练习3-1

将程序的最后一行移动到首行,于是函数调用会先于函数定义执行。运行程序并查看会有什么样的错误信息。
练习3-2

将函数调用那一行放回到末尾,并将函数print_lyrics的定义放到函数repeat_lyrics定义之后。这时候运行程序会发生什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值