【发布时间】:2019-05-31 15:47:53
【问题描述】:
所以当我打电话时
plot_bounces( ball, numbounces, boxWH_tuple, circle=None )
其中ball是一个对象,numbounces是一个int,boxWH_tuple和circle是元组,在这个函数里面放一个print(type(circle))语句,就是一个元组。但是,当我调用 update_ball(ball, boxWH_tuple, circle=None) 并在此函数中添加 print(type(circle)) 语句时,它是一个非类型。我不明白为什么或如何使它成为这两个函数的元组。这只是我的代码的一部分,似乎有问题。
这就是我以前所说的 plot_bounces
plot_bounces(Ball(-1,0,0.1), 1, (3,2), ( (0,0) ,0.4) )
还有一个处理 Ball 对象的类 Ball 的脚本。
我主要关心的是为什么print(type(circle)) 给我第一次打印的“元组”类和第二次打印的“NoneType”类。
def plot_bounces(ball, numbounces, boxWH_tuple, circle=None):
print(type (circle))
#make space to store coordinates
xcoords = []
ycoords = []
#store the starting point
xcoords.append(ball.x)
ycoords.append(ball.y)
while numbounces>0 :
#calls on update_ball and change the old values with new ones
update_ball(ball, boxWH_tuple, circle=None)
#
ball=update_ball(ball, boxWH_tuple, circle=None)
xpoint = ball.x
ypoint = ball.y
ycoords.append(ypoint)
xcoords.append(xpoint)
numbounces+= -1
def update_ball(ball, boxWH_tuple, circle=None):
print (type(circle))
这两种情况不应该是一个元组吗?
【问题讨论】:
-
None在 Python 中是一个单独的类型。你传递的是circle=None,类型是nonetype -
你打电话给
update_ball( ..., circle=None)。在这两种情况下,您都应该拨打:update_ball(ball, boxWH_tuple, circle)。 -
不幸的是,我仍然没有区别
标签: python python-3.x types tuples nonetype