这个大小运算符在函数调用中做什么?

时间:2019-06-03 16:19:32

标签: python-3.x

如果Enquiry(lis1).size:的工作原理是什么?如果可以的话,我们可以在调用函数时使用.size吗,那么lis1参数将在函数定义def Enquiry(lis1)中收到什么? ):请详细说明一下,因为我是python的初学者

import numpy 
def Enquiry(lis1): 
    return(numpy.array(lis1))  
lis1 = [] 
if Enquiry(lis1).size: 
    print("Not Empty") 
else: 
    print("Empty

1 个答案:

答案 0 :(得分:0)

对于numpy数组,size是一个属性,其中包含numpy.array对象的大小。参数lis1是一个公开array接口的python对象。是的,您可以在调用.size时使用Enquiry(lis1),因为对其求值时,它将返回一个numpy.array对象,然后在其上调用.size。 样本用法:

>>> import numpy
>>> v = numpy.array([1, 2, 3])
>>> v.size
3
>>> dir(v)
[..., 'shape', 'size', 'sort', ...]
>>>
>>> getattr(v, 'size')
3

函数签名(使用help(numpy.array))可以看到以下内容:

Help on built-in function array in module numpy.core.multiarray:

array(...)
    array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

    Create an array.

    Parameters
    ----------
    object : array_like
        An array, any object exposing the array interface, an object whose
        __array__ method returns an array, or any (nested) sequence.