码迷,mamicode.com
首页 > 其他好文 > 详细

继续讲一下参数的问题

时间:2018-06-09 23:11:21      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:表示   逗号   是什么   问题   使用   图片   验证   定义   class   

我们昨天讲了参数的赋值问题,今天我们继续来讲一下参数的问题。这次要讲的是关于同时赋多个值的问题。

技术分享图片

 

你可能会觉得奇怪,为什么要对同一个变量赋多个值,直接用X1,X2不就好了?如果数据量不大的话,显然是没有问题的,如果数据量大的话,很显然,同时赋多个值会大幅提高编程的效率。

我们来看一下同时对一个变量赋多个值的例子:

def LSF(*X):
   print(X)
#按回车,直到出现<<<这个符号才能继续写代码
LSF(1,2,3)
#按回车,得到的结果是:(1, 2, 3)

我们来看一下上面的代码:首先是定义一个函数,这个函数和我们之前看到的差不多,但是,有一点很重要的区别就是:在变量X前面多了一个*,这个*表示的是什么意思?我们可以用两句代码来验证一下:

 LSF(TEST)
#按回车,得到的结果是:(‘TEST‘,)

通过上面这个验证,我们可以看出什么呢?我们来看一下输出结果,仔细看,会发现在‘TEST’后面有一个逗号,这说明什么?没错,这是一个元组,也就是能够储存多个值。

好的,接下来我们要将这方法丰富一下,多场景运用一下:

场景1:普通变量与元组能否同时使用?答案是:可以的!我们来看一下例子:

def LSF1(x,*y):
   print(x,y)
#按回车,直到出现<<<这个符号
LSF1(1,2,3)
#按回车,得到的结果是:1 (2, 3)

我们可以看到最终的输出结果是1赋给了x,2和3赋给了*y,这在一定程度上也验证了我们上面的说法。

场景2:元组的赋值是不是一定要放在最后?答案是:不是的!我们来看一下例子:

def LSF2(x,*y,z):
  print(x,y,z)
#按回车,直到看到<<<
LSF2(1,2,3,z=4)
#按回车,得到的结果是:1 (2, 3) 4

我们看一下上面的代码,很明显,在对z进行赋值的时候要注明z,如果不注明的话,程序会报错,因为z没有得到值,也不确定最后一个值是给*y,还是z。

好的,今天的内容就讲到这里啦~

 技术分享图片

 

(文章图片若有侵权,请联系作者删除)

继续讲一下参数的问题

标签:表示   逗号   是什么   问题   使用   图片   验证   定义   class   

原文地址:https://www.cnblogs.com/Galaxyfengfeng/p/9161533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!