Coming from C++, I initially thought it aggravating that you have to go self. everywhere when working with classes in Python. But I've conceded that it improves code-legibility, and now I'm going this-> everywhere when I'm back in C++.
My personal convention in C++ was to use an m prefix on member variables and a g for class variables.
I guess in Python, I think of _ as equivalent to protected scope in C++ and __ (double underscore) as equivalent to private. Not a perfect analogy, but it works for me.
5 Comments
tunetardis@piefed.ca · 2 pts · 48d
Coming from C++, I initially thought it aggravating that you have to go
self.everywhere when working with classes in Python. But I've conceded that it improves code-legibility, and now I'm goingthis->everywhere when I'm back in C++.bterwijn@programming.dev · 0 pts · 48d
Another common naming convention in C++ is using an underscore as prefix for member variables: int _memberVariable{123};
tunetardis@piefed.ca · 1 pts · 47d
My personal convention in C++ was to use an
mprefix on member variables and agfor class variables.I guess in Python, I think of
_as equivalent toprotectedscope in C++ and__(double underscore) as equivalent toprivate. Not a perfect analogy, but it works for me.aion@lemmy.world · 2 pts · 47d
Just don't use double underscores in C++, identifiers containing double underscores are reserved for the compiler/linker/standard library.
bterwijn@programming.dev · 1 pts · 47d
Same thing in Python, double underscore prefix triggers "name mangling". There are issues that can pop up when using it if not aware.