Class Issue`
Rhodri James
rhodri at kynesim.co.uk
Wed Mar 6 07:12:15 EST 2019
On 05/03/2019 22:39, Milt wrote:
> The following code gives me unusual results - base on experience with C++.
>
> class Car:
> # carColor = None
> # mileage = None
>
> def __init__(self, color = None, miles = None):
> self.mileage = miles
> self.carColor = color
>
> def print(self):
> print(f"Color: {self.carColor}")
> print(f"Mileage: {self.mileage}")
>
> myCar = Car('blue', 15000)
> myCar.print()
>
> print()
>
> myCar = Car(25000, 'orange')
> myCar.print()
The behaviour you should expect even from C++ (a language I have no
respect for) is a compile-time error complaining that you are passing an
integer to a string parameter and vice versa. Python is a dynamically
typed language; it doesn't enforce any restrictions on what types of
object can be bound to any given name. This is occasionally a surprise
when you're being careless, but it really shouldn't break your expectations.
--
Rhodri James *-* Kynesim Ltd
More information about the Python-list
mailing list