module names all_lower_case class names and exception namescamelcase global and local namesall_lower_case functions and method namesall_lower_case constantsall_upper_case these are just the recommendationyou can vary if you like but as most of the developers follows these recommendation so might me your code is less readable why conform to conventionwe can follow the pep recommendation we it allows us to getmore familiar to the vast majority of developers clearer to most readers of your code will match style of other contributers who work on same code base mark of professional software developers everyone will accept you variable naming'publicand 'privatein pythonwhen we are dealing with modules and classeswe designate some variables or attribute as private in pythonthere is no existence of "privateinstance variable which cannot be accessed except inside an object private simply means they are simply not intended to be used by the users of the code instead they are intended to be used internally in generala convention is being followed by most python developers name prefixed with an underscore for example _attrval (example belowshould be treated as non-public part of the api or any python codewhether it is functiona method or data member below is the naming convention we followpublic attributes or variables (intended to be used by the importer of this module or user of this class)private attributes or regular_lower_case variables (internal use by the module or class)_single_leading_underscore private attributes that shouldn' be subclassed__double_leading_underscore magic attributes__double_underscores__ (use themdon' create themclass getset(object)instance_count public __mangled_name 'no privacy!special variable