Python 理解“不是无”的含义
我正在学习Oop并用python实现。这是用于教我Oop概念的示例Python 理解“不是无”的含义,python,oop,Python,Oop,我正在学习Oop并用python实现。这是用于教我Oop概念的示例 class Car(object): def __init__(self, wheels, miles, make, model, year, sold_on): """Return a new Car object.""" self.wheels = wheels self.miles = miles self.make = make s
class Car(object):
def __init__(self, wheels, miles, make, model, year, sold_on):
"""Return a new Car object."""
self.wheels = wheels
self.miles = miles
self.make = make
self.model = model
self.year = year
self.sold_on = sold_on
def sale_price(self):
"""Return the sale price for this car as a float amount."""
if self.sold_on is not None:
return 0.0 # Already sold
return 5000.0 * self.wheels
def purchase_price(self):
"""Return the price for which we would pay to purchase the car."""
if self.sold_on is None:
return 0.0 # Not yet sold
return 8000 - (.10 * self.miles)
到目前为止,我不明白下面的代码是什么意思
if self.sold_on is not None:
return 0.0 # Already sold
return 5000.0 * self.wheels
在此上下文中,不是“无”是什么意思 类的创建者似乎希望您使用
None
属性初始化一个新的Car
对象,例如:
vw_bug = Car(4, 150000, 'VW', 'Bug', 1972, None)
然后,如果有人使用sale\u price()
方法检查销售价格
它将返回5000美元*个轮子
但是如果这辆车是在2017年8月8日售出的,你可以,
将salled\u on
属性设置为字符串'2017/08'08'
。之后,如果有人检查销售价格,它将返回$0,因为saled\u on
属性将不再具有None
vw_bug.sold_on = '2017/08/08'
您需要一个更完整的类实现和/或doc字符串来准确地说明
Car
类实际上是如何使用的。在Python中,None
值是一个对象,与其他对象非常相似。它也是一个单例对象(即只有一个None
对象)。它表示缺乏价值
Python None对象,表示缺少值
在Python中,是
关键字测试对象相等性。也就是说,x是y
测试x
和y
是否是同一对象,如果是,则返回True
,如果不是,则返回False
。因此,x不是y
测试x
和y
不是同一对象
如果您将此扩展到您的示例,您将检查对象上的self.self\u是否与None
对象相同。请注意,如果self.self\u on
是任何东西但None
,则该值将计算为True
(请记住,Python中的任何变量都是对对象的引用,因此多个变量都可以引用同一个None
object)您知道None
的含义吗?你知道不是的意思吗?如果self.self.on
的值不同于None
(即不是None
),则满足该条件。@user2357112我知道该符号表示,如果存在某个值,则返回0.0。该答案确实没有抓住要点。他不是问如何使用汽车
,他是问不是没有
工作原理。