002.def,定义你自己的函数

重要的事情说三遍

复习Hello World

上节课,我们学习了函数print,那么你还记得怎么说出这个咒语吗?

问题:汪国真有一首诗《跨越自己》:

我们可以欺瞒别人

却无法欺瞒自己

当我们去问枝繁叶茂的五月

青春就不再是一个迷

向上的路

总是坎坷又崎岖

要永远保持最初的浪漫

真是不容易

有人悲哀 有人欣喜

当我们跨越了一座高山

也就跨越了一个真实的自己

请使用 python.twinsant.com 编写 Python程序打印这首诗

回答:<请在微信群截图显示自己的程序>

微信群里有同学给出了专业的答案:

print('''
《跨越自己》:
我们可以欺瞒别人
却无法欺瞒自己
当我们去问枝繁叶茂的五月
青春就不再是一个迷
向上的路
总是坎坷又崎岖
要永远保持最初的浪漫
真是不容易
有人悲哀 有人欣喜
当我们跨越了一座高山
也就跨越了一个真实的自己
''')

运行效果如下

换行的字符串

上一课我们讲了字符串的2种表达方式:单引号字符串和双引号字符串

single_quoted = '我是单引号字符串'
double_quoted = "我是双引号字符串"

现在我们学习第3种表达方式:三引号字符串,当文本含有换行符号时,它就派上了用场

triple_quoted = '''我是三引号字符串
这是新的一行'''
triple_quoted_2 = """我也是三引号字符串
这是新的一行
还可以有很多行
...
最后一行"""

同学们可以暂时忽略字符串变量这个概念,后面的课会讲到,主要关注字符串表达式就好

辛勤的写法

如果我们没学过三引号字符串,我们也可以这样写代码来解决问题

print('《跨越自己》:')
print('我们可以欺瞒别人')
print('却无法欺瞒自己')
print('当我们去问枝繁叶茂的五月')
print('青春就不再是一个迷')
print('向上的路')
print('总是坎坷又崎岖')
print('要永远保持最初的浪漫')
print('真是不容易')
print('有人悲哀 有人欣喜')
print('当我们跨越了一座高山')
print('也就跨越了一个真实的自己')

当然, 这种方式写代码会繁琐一些,效率不是太高

定义你自己的函数

好了,字符串表达式的概念我们复习到这里,现在你在魔法世界遇到一个新问题

问题:你非常喜欢这首诗,想让计算机帮你打印3遍

回答:<在 python.twinsant.com 编写并运行你的程序>

一种辛勤的做法是:


# 第1遍
print('''
《跨越自己》:
我们可以欺瞒别
却无法欺瞒自己
当我们去问枝繁叶茂的五月
青春就不再是一个迷
向上的路
总是坎坷又崎岖
要永远保持最初的浪漫
真是不容易
有人悲哀 有人欣喜
当我们跨越了一座高山
也就跨越了一个真实的自己
''')
# 第2遍
print('''
《跨越自己》:
我们可以欺瞒别
却无法欺瞒自己
当我们去问枝繁叶茂的五月
青春就不再是一个迷
向上的路
总是坎坷又崎岖
要永远保持最初的浪漫
真是不容易
有人悲哀 有人欣喜
当我们跨越了一座高山
也就跨越了一个真实的自己
''')
# 第3遍
print('''
《跨越自己》:
我们可以欺瞒别
却无法欺瞒自己
当我们去问枝繁叶茂的五月
青春就不再是一个迷
向上的路
总是坎坷又崎岖
要永远保持最初的浪漫
真是不容易
有人悲哀 有人欣喜
当我们跨越了一座高山
也就跨越了一个真实的自己
''')

借助复制和粘贴,这个问题是难不倒你的😊

但是!你发现了自己代码的一个bug,第一句话少了一个字,于是你幸苦地修改了复制代码3遍😭

如果Python编程语言能力到此为止,那程序员就太痛苦了,这时伟大的def就出场了:

def定义你自己的函数

定义你自己的函数格式是这样的

def 函数名(参数列表):
    函数代码

所以我们把上面打印诗歌的代码写成一个函数,目前它没有参数:

def poem():
    print('''
    《跨越自己》:
    我们可以欺瞒别人
    却无法欺瞒自己
    当我们去问枝繁叶茂的五月
    青春就不再是一个迷
    向上的路
    总是坎坷又崎岖
    要永远保持最初的浪漫
    真是不容易
    有人悲哀 有人欣喜
    当我们跨越了一座高山
    也就跨越了一个真实的自己
    ''')

然后像调用print函数一样,说出自己编写的这个咒语

poem()
poem()
poem()

太棒了,我们简化了自己的代码,如果有bug,再也不用去复制粘贴的代码里一个个改了,生活一下子变得很美好

作业:请将朗诵三遍诗歌写成一个函数recite_poem_three_times

回答:<在 python.twinsant.com编写运行并截屏到微信群>

Last updated