On Tue, Apr 28, 2015 at 01:01:04PM +0530, Mitesh H. Budhabhatti wrote: > Hello Friends, > > Can you please suggest good naming conventions/guidelines to following > while writing Python code? Thanks.
Most important rule of all: names should be descriptive and understandable, not too short or cryptic, not so long that they are painful to use. Very common names may be abbreviated. Names should be easy to say aloud. # Good names length, len, map, format # Bad names a, the_thing_we_process, szty Avoid "funny" or meaningless names: pizza = 23 homework = 5 print (pizza > homework) It is acceptable to use standard one-letter variable names in generic functions, especially for algebraic (maths) functions and short utility functions, e.g.: i, j, k: integer loop variables m, n: other integers x, y: floats z: complex numbers s: string or set d: dict L: list (don't use l because it can look like 1) o: object u, v: vectors, arrays, sets are common choices. But don't over-use one-letter names. Otherwise, names should be self-descriptive: # Bad L = get_customers() # list of customers # Good customers = get_customers() Use plurals for lists, sets or dicts of some data type, and the singular for individual data types. E.g.: names = ['John', 'Mary', 'Fred', 'Sue'] for name in names: process(name) Functions and methods should be verbs or verb-phrases in all lowercase, for example: expand() sort() lift() prepare_database() create_factory() Variables holding data values should be nouns: page count header footer server client factory (Watch out for words which can be both a noun and a verb, like count.) Classes should be nouns with initial capitals: Car Engine Animal HTTPServer and instances should be lowercase: server = HTTPServer() The exception is if the class is a "small" primitive or simple type, like built-ins int, str, dict, list etc. But even then, you may choose to use Initial Capitals instead. Modules should follow the all-lowercase name. If possible, modules should describe what they are about: math string io unicodedata but it is also acceptable for modules to have an arbitrary name which you just have to learn: pillow flask zope fabric nose Does this help? -- Steve _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor