See Python PEP 8: Function and Variable Names:
Answer from S.Lott on Stack OverflowFunction names should be lowercase, with words separated by underscores as necessary to improve readability.
Variable names follow the same convention as function names.
mixedCase is allowed only in contexts where that's already the prevailing style (e.g. threading.py), to retain backwards compatibility.
See Python PEP 8: Function and Variable Names:
Function names should be lowercase, with words separated by underscores as necessary to improve readability.
Variable names follow the same convention as function names.
mixedCase is allowed only in contexts where that's already the prevailing style (e.g. threading.py), to retain backwards compatibility.
The Google Python Style Guide has the following convention:
module_name,package_name,ClassName,method_name,ExceptionName,function_name,GLOBAL_CONSTANT_NAME,global_var_name,instance_var_name,function_parameter_name,local_var_name.
A similar naming scheme should be applied to a CLASS_CONSTANT_NAME
coding style - Python file naming convention? - Software Engineering Stack Exchange
Variable naming conventions
Follow these rules to write PYTHON variables names like a PRO.
Go to variable names?
Videos
Quoting https://www.python.org/dev/peps/pep-0008/#package-and-module-names:
Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.
For classes:
Class names should normally use the CapWords convention.
And function and (local) variable names should be:
lowercase, with words separated by underscores as necessary to improve readability
See this answer for the difference between a module, class and package:
- A Python module is simply a Python source file, which can expose classes, functions and global variables.
- A Python package is simply a directory of Python module(s).
So PEP 8 tells you that:
- modules (filenames) should have short, all-lowercase names, and they can contain underscores;
- packages (directories) should have short, all-lowercase names, preferably without underscores;
- classes should use the CapWords convention.
PEP 8 tells that names should be short; this answer gives a good overview of what to take into account when creating variable names, which also apply to other names (for classes, packages, etc.):
- variable names are not full descriptors;
- put details in comments;
- too specific name might mean too specific code;
- keep short scopes for quick lookup;
- spend time thinking about readability.
To finish, a good overview of the naming conventions is given in the Google Python Style Guide.
Here is a link for different types of Python name conventions:
Type Public Internal Packages lower_with_underModules lower_with_under_lower_with_underClasses CapWords_CapWordsExceptions CapWordsFunctions lower_with_under()_lower_with_under()Global/Class Constants CAPS_WITH_UNDER_CAPS_WITH_UNDERGlobal/Class Variables lower_with_under_lower_with_underInstance Variables lower_with_under_lower_with_underMethod Names lower_with_under()_lower_with_under()Function/Method Parameters lower_with_underLocal Variables lower_with_under
The style guide for Python is based on Guido’s naming convention recommendations.
Hey guys. I'm an old school coder from way back, though I haven't done much coding in many years. My experience is primarily with Visual Basic 6 and .NET as well as some C++. I started my coding journey with good old QBASIC on DOS. I've recently decided to take up Python.
In college, I was taught that variables should have names with prefixes indicating their type. For example, a string variable would be named strVariable or an integer would be intVariable and a boolean would be blnVariable or boolVariable so as to be immediately apparent what type the variable is later in the code.
I've noticed that while it is possible to declare python variables with a specific type, nowhere on the Internet have I found any suggestion that this convention is preferred at all for this language despite Python being touted as a readable, English-like language. (As a side note here, Python isn't nearly as English-like as COBOL, which I once convinced my instructor was similar enough to pseudo-code that he decided not to require us to write pseudo-code for our assignments.)
Is this simply an outdated practice and I'm showing my age or is it not necessary in Python specifically for some other reason? I'm very curious about this.
Cheers.
EDIT: Ah, yes. Hungarian notation. I had forgotten that name. Anyways, it appears I'm simply showing my age and it's an outdated practice for various reasons. Thanks guys.
Also, I have another issue I'm struggling with, but I suppose I should make a separate thread for that.