Some tips and new examples from last week ... Python in Plymouth!
• How do I put comments in a Python regular expression to make it more readable:
[source]
• How do I use a python dictionary as a table of counters - in our example, counting the number of people in our team who have each of a whole series of skills:
[source]
• How do I replace a string you've matched in a Python regular expression with a literal string, with a string which includes part of the matched text, and with the result of running a piece of code on the matched text:
[source]
• How do I convert a python program that reads a whole file in then processes it all into one that processes each line as it has read it (using a generator):
[source] and
[data]
• How do I run a block of python code every time I leave a
try block, even if you are breaking or returning:
[source]
• How do lists and strings and tuples differ when I copy them - mutable v immutable:
[source]
• How do I manipulate python lists - insert and delete items, add things on to the end, etc:
[source]
• How do I write python strings in different ways - raw and cooked, single line and multiline, unicode, etc:
[source]
• "Have you an example in Python that shows many / most / all of the OO features of the language in a single practical example". In truth, the answer always has to be "no" as there are quite a lot of features used only rarely, and we really have to contrive an example to show a lot of them. But here are a couple:
[source] of an example that uses a static method, comparators, operator overriding, polymorphism and interitance, etc. And
[source] a simpler example that loads data into Python objects using a wholesale factory method. The data for that latter is
[here].
See
[here] for details of our public courses in Python. We also run courses on site (for groups of 4 or more delegates) which can be tailored to meet your needs, and scheduled to suit your requirements too.
(written 2010-10-10)
Associated topics are indexed under
Y107 - Python - Dictionaries [3662] Finding all the unique lines in a file, using Python or Perl - (2012-03-20)
[3555] Football league tables - under old and new point system. Python program. - (2011-12-18)
[3554] Learning more about our web site - and learning how to learn about yours - (2011-12-17)
[3488] Python sets and frozensets - what are they? - (2011-10-20)
[3464] Passing optional and named parameters to python methods - (2011-10-04)
[2986] Python dictionaries - reaching to new uses - (2010-10-05)
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries - (2010-08-11)
[2368] Python - fresh examples of all the fundamentals - (2009-08-20)
[1145] Using a list of keys and a list of values to make a dictionary in Python - zip - (2007-04-13)
[1144] Python dictionary for quick look ups - (2007-04-12)
[955] Python collections - mutable and imutable - (2006-11-29)
[103] Can't resist writing about Python - (2004-10-29)
Y112 - Python - Objects - Intermediate [3524] Metaclasses (Python) and Metatables (Lua) - (2011-11-17)
[3472] Static variables in functions - and better ways using objects - (2011-10-10)
[3442] A demonstration of how many Python facilities work together - (2011-09-16)
[3002] A list of special method and attribute names in Python - (2010-10-17)
[2905] Defining static methods in Python - (2010-08-05)
[2889] Should Python classes each be in their own file? - (2010-07-27)
[2785] The Light bulb moment when people see how Object Orientation works in real use - (2010-05-28)
[2764] Python decorators - your own, staticmethod and classmethod - (2010-05-14)
[2722] Mixins example in Python - (2010-04-14)
[2720] Multiple inheritance in Python - complete working example - (2010-04-14)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2693] Methods that run on classes (static methods) in Python - (2010-03-25)
[2485] How do I set up a constant in Python? - (2009-10-31)
[2409] TypeError: super() argument 1 must be type, not classobj (Python) - (2009-09-18)
[1819] Calling base class constructors - (2008-10-03)
[1661] Equality, sameness and identity - Python - (2008-05-31)
[1644] Using a utility method to construct objects of different types - Python - (2008-05-17)
[1517] Python - formatting objects - (2008-01-24)
[1217] What are factory and singleton classes? - (2007-06-04)
[1146] __new__ v __init__ - python constructor alternatives? - (2007-04-14)
[964] Practical polymorphism in action - (2006-12-04)
[903] Pieces of Python - (2006-10-23)
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl - (2006-08-13)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[477] Class, static and unbound variables - (2005-10-25)
[383] Overloading of operators on standard objects in Python - (2005-07-19)
[296] Using a Python dictionary as a holder of object attributes - (2005-04-30)
Y109 - Python - Exceptions [3664] Error checking in a Python program - making your program robust via exceptions - (2012-03-22)
[3441] Pressing ^C in a Python program. Also Progress Bar. - (2011-09-15)
[3433] Exceptions - a fail-safe way of trapping things that may go wrong - (2011-09-11)
[3177] Insurance against any errors - Volcanoes and Python - (2011-02-19)
[2998] Using an exception to initialise a static variable in a Python function / method - (2010-10-13)
[2622] Handling unusual and error conditions - exceptions - (2010-02-03)
[2408] Robust user input (exception handling) example in Python - (2009-09-17)
[2281] Python - using exceptions to set a fallback - (2009-07-12)
[2018] UnboundLocalError - Python Message - (2009-01-31)
[1236] Trying things in Python - (2007-06-18)
[1042] Nested exceptions in Python - (2007-01-18)
[381] Exceptions in Python - (2005-07-17)
Y105 - Python - Functions, Modules and Packages [3695] Functions are first class variables in Lua and Python - (2012-04-13)
[3474] Python Packages - groupings of modules. An introduction - (2011-10-11)
[3459] Catching the fishes first? - (2011-09-27)
[3280] Passing parameters to Python functions - the options you have - (2011-05-07)
[3159] Returning multiple values from a function call in various languages - a comparison - (2011-02-06)
[2929] Passing a variable number of parameters in to a function / method - (2010-08-20)
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use - (2010-07-19)
[2766] Optional and named parameters to Python functions/methods - (2010-05-15)
[2718] Python - access to variables in the outer scope - (2010-04-12)
[2520] Global and Enable - two misused words! - (2009-11-30)
[2506] Good example of recursion in Python - analyse an RSS feed - (2009-11-18)
[2481] Sample code with errors in it on our web site - (2009-10-29)
[2440] Optional parameters to Python functions - (2009-10-07)
[2439] Multiple returns from a function in Python - (2009-10-06)
[2011] Conversion of OSI grid references to Eastings and Northings - (2009-01-28)
[1879] Dynamic code - Python - (2008-11-11)
[1871] Optional and named parameters in Python - (2008-11-05)
[1870] What to do with a huge crop of apples - (2008-11-04)
[1869] Anonymous functions (lambdas) and map in Python - (2008-11-04)
[1790] Sharing variables with functions, but keeping them local too - Python - (2008-09-09)
[1784] Global - Tcl, PHP, Python - (2008-09-03)
[1464] Python Script - easy examples of lots of basics - (2007-12-08)
[1202] Returning multiple values from a function (Perl, PHP, Python) - (2007-05-24)
[1163] A better alternative to cutting and pasting code - (2007-04-26)
[1134] Function / method parameters with * and ** in Python - (2007-04-04)
[959] It's the 1st, not the 1nd 1rd or 1th. - (2006-12-01)
[949] Sludge off the mountain, and Python and PHP - (2006-11-27)
[913] Python - A list of methods - (2006-11-03)
[912] Recursion in Python - (2006-11-02)
[900] Python - function v method - (2006-10-20)
[821] Dynamic functions and names - Python - (2006-08-03)
[775] Do not duplicate your code - (2006-06-23)
[749] Cottage industry or production line data handling methods - (2006-06-07)
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus. - (2006-06-05)
[668] Python - block insets help with documentation - (2006-04-04)
[561] Python's Generator functions - (2006-01-11)
[418] Difference between import and from in Python - (2005-08-18)
[386] What is a callback? - (2005-07-22)
[340] Code and code maintainance efficiency - (2005-06-08)
[308] Call by name v call by value - (2005-05-11)
[303] Lambdas in Python - (2005-05-06)
[294] Python generator functions, lambdas, and iterators - (2005-04-28)
[105] Distance Learning - (2004-10-31)
[96] Variable Scope - (2004-10-22)
Some other Articles
3D graphics - web site usage - simple matplotlib and python exampleCopying - duplicating data, or just adding a name? Perl and Python comparedA river in Melksham is not just for boaters.Python - some common questions answered in code examplesArrays v Lists - what is the difference, why use one or the otherMatplotlib - graphing in Python - teaching examplesLoading and saving data - Python / numpyWhat are numpy and scipy?Oddballs in Plymouth