继续讲一下参数的问题

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

你可能会觉得奇怪,为什么要对同一个变量赋多个值,直接用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。

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

 

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

猜你喜欢

转载自www.cnblogs.com/Galaxyfengfeng/p/9161533.html