Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的参数_Python_Variables_Types - Fatal编程技术网

Python中的参数

Python中的参数,python,variables,types,Python,Variables,Types,假设有一个参数n。n可以是任何数字吗?例如,这样的问题:给定一个非负数num,如果num在10的倍数的2以内,则返回True。这就是我的想法: def near_ten(num): n = int #So I assume n can be any integer if abs(num - n*10) <=2: return True Return False 然而,我仍然对n作为前面提到的参数感到好奇。因为我只是一个初学者,所以这确实令人困惑。在

假设有一个参数n。n可以是任何数字吗?例如,这样的问题:给定一个非负数num,如果num在10的倍数的2以内,则返回True。这就是我的想法:

def near_ten(num):
    n = int #So I assume n can be any integer
    if abs(num - n*10) <=2:
        return True
    Return False
然而,我仍然对n作为前面提到的参数感到好奇。因为我只是一个初学者,所以这确实令人困惑。

在Python中,int是一种类型。类型是Python中的一级对象,可以绑定到名称。当然,尝试将一个类型乘以一个数字通常是没有意义的,因此默认情况下不会定义该操作。不过,它可以用新名称来表示

n = int
print(n(3.4))
print(n('10') == 10)

我不确定您是否运行过代码,但python是一种高级解释语言,python可以区分变量类型,因此不需要显式声明它们,函数头是有效的。 您还可以在整数和浮点/双精度之间执行操作,而无需强制转换,python已经为您处理了这些操作


您的函数将在任何编译器中引发错误,声明了ur n变量,您已经定义了它,但尚未初始化它

def near_mult_ten(num):
    return abs(num - (num+5) // 10 * 10) <= 2

编辑:已修复。

否,n已初始化为int。即使如此,该对象没有存储值,因此他无法对该对象执行操作,它是一个空对象;itd称之为声明;例如在C++中做int x;定义对象,但仅当执行x=整数值时;然后对象被初始化,因为现在它在内存中有一个空间。。。如果我的理解有误,请纠正我是的,对象具有存储值。该值是int类型,它是Python.ohhh ok中的一个对象,因此它默认为NULL no,该值不是NULL,而是None;这是int类型。你不能说n可以是任何int,然后继续在计算中使用n,就像它是一个数字一样。Python不是这样工作的。不,对于9,它将返回False。你是对的。信不信由你,我昨晚刚入睡就意识到了这一点。修好了。
def near_mult_ten(num):
    return abs(num - (num+5) // 10 * 10) <= 2