The builtin print() method is currently printing values like this (see https://github.com/go-python/gpython/blob/master/builtin/builtin.go#L192): fmt.Printf("%v", v) The result is that some python objects are printed differently than expect: None: print {} True: print true False: print false The print method should probably use __str__ or __repr__ when available. As an alternative all types implementing __str__ should also implement String()