欢迎关注小睿的微信公众号:郭小睿同学
,每天更新小知识、笔记、案例、学习资源~
def语句
print("hello!guowenrui")
print("hello!guowenrui")
print("hello!guowenrui")
print("hello!zhangyaqi")
print("hello!zhangyaqi")
def hello(name):
print("hello!" + name)
hello("guowenrui")
hello("zhangyaqi")
对比上面两块代码,我们可以看到,我们把某一块封装起来,可以实现代码的复用,还可以使易读,更清晰。
在上面的实例中我们定义了一个函数hello
,有一个变元(变量),当函数被调用时候,参数就存放在其中。
注意
:我们保存在变元中的值,在函数返回后就会销毁了。
例如:在运行完def hello(name):
后,倘若你print(name)
。那么程序就会报NameError
,因为没有名为name的变量。
这就类似于程序结束时候,程序中的变量就会被丢弃一样。
返回值和return语句
# 导入random模板
import random
# 定义getAnswer函数,将传入的answerNum变量的值进行判断,返回字符串
def getAnswer(answerNum):
if answerNum == 1:
return "1"
elif answerNum == 2:
return "2"
elif answerNum == 3:
return "3"
elif answerNum == 4:
return "4"
r = random.randint(1, 5) # 产生1-5之内的随机数
fortue = getAnswer(r) # 调用getAnswer函数,r作为参数。将返回的字符串赋值给fortue变量
print(fortue) # 赋值给fortue变量
我们还可以把以下三行代码简写成一行代码:
r = random.randint(1, 5)
fortue = getAnswer(r)
print(fortue)
print(getAnswer(random.randint(1, 5)))
表达式是值和操作符
的组合,因此函数调用可以在表达式中,因为它求的值就是一个返回值。
关键字参数和print
关键字参数
是由函数调用时加在它们前面的关键字来识别的。关键字参数通常用于可选变元。
例如:print()
函数有可选的变元end
和sep
,分别指定在参数末尾打印什么,以及在参数之间打印什么来隔开它们。
print("hello")
print("world")
执行程序后,会输出:
print("hello", end="")
print("world")
执行程序后,会输出:
这样写就可以保证输出不换行,跟随上一次输出的内容继续输出。
我们也可以传入sep
关键字参数,替换默认的分割字符串(空格)。
print("cat", "dog", "mice")
print("cat", "dog", "mice", sep="+")
执行程序后,会输出:
我们也可以在自己编写的函数中添加关键字参数,
但是必须先了解列表和字典数据类型。