鱼C论坛

 找回密码
 立即注册
查看: 2035|回复: 6

[已解决]python0基础入门课后题第18讲

[复制链接]
发表于 2018-3-25 23:57:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def mFun(*param, base=3)  请问下这个函数定义里 *param 这个的意思如果可以讲下用法最好。

def mFun(*param, base=3):
    result = 0
    for each in param:
        result += each

    result *= base
   
    print('结果是:', result)

mFun(1, 2, 3, 4, 5, base=5)

最佳答案
2018-3-26 16:26:18
搜集参数,只要有*符号的,函数里就叫做搜集参数。这个的作用主要在调用的时候,你可以写任意个实参,调用函数之后,这个搜集形参可以把这些全部的实参全都可以搜索到,而且把这些实参保存到元组或列表里(就是说param已经是元租或列表了),所以这个函数内部万全可以param当做列表来用了,元组和列表方法都可以用在函数里。
给你举个例子:
def func(*param):
    print('param的输出内容是',param)
    print('param的数据类型是',type(param))
    print('param当做元组来使用的时候,访问内部元素:',param[1])
    print('param当做元组,调用元组内部方法:',param.count(3))

   
func(1,2,3,4,5,6,3,2,3,3,5,3)

你看一下运行结果吧,就是说,函数里,搜集参数*param就已经变成了元组,然后函数里用这个参数的时候就当做元组或列表来用,内部方法什么的都可以用。一句话理解的话就是把列表和元组跟函数结合来用了。

肯定我们学的每个内互相之间都会穿插着用的,这样才效率高啊。
     

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-26 00:30:33 | 显示全部楼层
感觉不好给你描述,小甲鱼有视频里讲过这个参数收集,你可以看看

你也可以参考这个介绍,

https://www.cnblogs.com/kex1n/p/8285351.html
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-26 00:41:51 | 显示全部楼层
就是你可以输入任意多个参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-26 09:35:03 | 显示全部楼层
本帖最后由 checkily 于 2018-3-26 09:37 编辑

这样理解,我们如果定义一个函数,参数需要一一对应。例如:
  1. def fun(a, b, c):
  2.     pass
复制代码

那我们调用这个参数时。需要分别传入a,b,c三个参数。
而当我们传入的参数的数量不确定时,就需要在定义函数时,加一个*号。即:
  1. def fun(*a):
  2.     pass
复制代码

这时,我们调用函数时,就可以传入多个数值了。而我们传一的这一串数值,将以列表的形式传入,所以需要用for 循环来提取。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-26 16:26:18 | 显示全部楼层    本楼为最佳答案   
搜集参数,只要有*符号的,函数里就叫做搜集参数。这个的作用主要在调用的时候,你可以写任意个实参,调用函数之后,这个搜集形参可以把这些全部的实参全都可以搜索到,而且把这些实参保存到元组或列表里(就是说param已经是元租或列表了),所以这个函数内部万全可以param当做列表来用了,元组和列表方法都可以用在函数里。
给你举个例子:
def func(*param):
    print('param的输出内容是',param)
    print('param的数据类型是',type(param))
    print('param当做元组来使用的时候,访问内部元素:',param[1])
    print('param当做元组,调用元组内部方法:',param.count(3))

   
func(1,2,3,4,5,6,3,2,3,3,5,3)

你看一下运行结果吧,就是说,函数里,搜集参数*param就已经变成了元组,然后函数里用这个参数的时候就当做元组或列表来用,内部方法什么的都可以用。一句话理解的话就是把列表和元组跟函数结合来用了。

肯定我们学的每个内互相之间都会穿插着用的,这样才效率高啊。
     

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-26 16:29:11 | 显示全部楼层
金刚 发表于 2018-3-26 16:26
搜集参数,只要有*符号的,函数里就叫做搜集参数。这个的作用主要在调用的时候,你可以写任意个实参,调用 ...

最后一行内容的容给丢了,你读的时候加容字就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-26 21:16:45 | 显示全部楼层
谢谢大家的解答 ,很详细,在此谢过
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-9 19:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表