Python练习:函数
题目1
如下,
def testfunc(arg1,arg2):
return (arg1 + arg2)
我们这样定义一个函数后,下面哪些调用方法是错误的
testfunc(1)
testfunc(1,2)
testfunc(arg1=1,arg2=2)
testfunc(arg2=2,arg1=1)
testfunc(arg1=1,2)
testfunc(1,arg2=2)
print(testfunc(1,arg2=2))
print(testfunc(1,arg2=2)*8)
答案视频讲解
题目2
请描述一下,下面两个函数定义
def func1(num1,num2):
return num1**2 + num2**2
def func2(num1,num2):
print(num1**2 + num2**2)
有什么不同?
答案视频讲解
题目3
下面这段代码有什么问题?
func1(1,2)
def func1(num1,num2):
return num1**2 + num2**2
答案视频讲解
题目4
请开发一个函数,该函数 接受两个字符串参数,
第1个参数格式如下,
他的名字是:小王
第2个参数格式如下,
他的年龄是:18
规定参数字符串中的 人名 和 年龄 都是 两个字符
我们的函数需要 获取参数中的人名和年龄,并以这样的格式 小王:18
返回。
实现该函数后,请调用 该函数,依次传入下面的参数。
他的名字是:关羽
他的年龄是:28
他的名字是:赵云
他的年龄是:24
调用函数传参数时,分别使用 指定参数名调用
和 不指定参数名调用
的方式。
最后,将调用返回结果的返回值打印出来
答案视频讲解
您需要高效学习,找工作? 点击咨询 报名实战班
点击查看学员就业情况
题目1-答案
如下,
def testfunc(arg1,arg2):
return (arg1 + arg2)
我们这样定义一个函数后,下面哪些调用方法是错误的
testfunc(1)
# 错,必填参数arg2 缺少
testfunc(1,2)
# 对
testfunc(arg1=1,arg2=2)
# 对,可以指定参数名传值
testfunc(arg2=2,arg1=1)
# 对,指定参数名时,次序可以颠倒
testfunc(arg1=1,2)
# 错,一旦指定参数名,后面的参数都要指定参数名
testfunc(1,arg2=2)
# 对
print(testfunc(1,arg2=2))
# 对, 函数调用的返回值可以不用赋值给变量,
# 直接为作为另一个函数的参数
print(testfunc(1,arg2=2)*8)
# 对, 函数调用的返回值可以不用赋值给变量,
# 直接用在表达式中
题目2-答案
请描述一下,下面两个函数定义
def func1(num1,num2):
return num1**2 + num2**2
def func2(num1,num2):
print(num1**2 + num2**2)
有什么不同?
答: 前者是 计算结果作为返回值返回, 后者 只是打印出计算结果,返回值为None
题目3-答案
答: 函数必须先定义再调用, 不能先调用再定义。
题目4-答案
函数定义如下
# 有两个参数
def getNameAge(str1, str2):
# 用切片获取第1个参数的人名
name = str1[-2:]
# 用切片获取第2个参数的 年龄
age = str2[-2:]
# 将人名和 年龄连起来,中间是冒号
ret = name + ':' + age
# 别忘了, 最后一定要使用return 返回结果
return ret
# 不指定参数名的调用
name_age1 = getNameAge('他的名字是:关羽','他的年龄是:28')
# 打印出返回结果
print(name_age1)
# 指定参数名的调用
name_age2 = getNameAge(str1='他的名字是:赵云',str2='他的年龄是:24')
# 打印出返回结果
print(name_age2)