Classes are a bit easier to declare in python -- they are shorter and can go anywhere.
package Empty; sub new { return bless({}, shift); } sub nothing {undef}; package main; $empty = new Empty; $empty->nothing; #nothing happens $empty->{something} = 2; #empty is a hash {'something' => 2} |
class Empty: def nothing(self): pass empty = Empty() empty.nothing() empty.something = 2 # empty.__dict__ is a hash {'something': 2} |
A python class is an object that returns an object, but so is everything else. Classes are convenient for inheritance and mutability.
package Full; sub new { my $class = shift; my $self = { @_ }; bless($self, $class); return $self; } |
class Full: def __init__(self, **keywords): self.__dict__ = keywords |