Python Development For Engineers
Python is a high level programming language that allows clean, easy-to-read code for rapid application development. Both engineering students and practicing professionals would do well to learn Python or another high level programming language.
The Case For Python
Engineers in many fields find themselves performing calculations and tasks repeatedly. Although spreadsheet applications such as Microsoft Excel® have become the workhorse for daily engineering calculation and analysis, there are certain tasks performed regularly that could (and should) be automated or programmed. Engineers outside of software development, such as mechanical, electrical and chemical engineers, can benefit from developing their own custom applications and utilities using a high level programming language such as Python.
Consider this scenario: You are working in the industrial gas business and often approached by business team members asking for the estimated power of a gas compressors. "How will the power be affected by changing the suction pressure, discharge pressure and flow?" You might have a spreadsheet for that; but by writing a simple application and grapical user interface (GUI) you would be able to run scenarios in less time and with less chance of error.
Why Python
For a language to meet daily engineering needs, it must meet the following criteria:
- Code is clear, concise and easily understood
- Low amounts of "filler" code (such as type definitions and terminating semicolons)
- Flexible syntax (e.g. using integers and floating points interchangeably)
- Fast development time (more solution with less lines of code)
- Fast and easy GUI development
- Useful built in functions and libraries
While many languages meet the criteria listed above, such as C# and Java, Python is unmatched for rapidly developing easy to read code.
Getting Started With Python
Getting started with Python application development has never been easier thanks to the amount of online tutorials and reference materials. An internet search will yield vast amounts of dedicated tutorial websites and videos with interactive training.
Recommended Learning Resources
- Learn Python the Hard Way by Zed Shaw - Entertaining and well-written book with detailed explanations and examples to learn the Python Language
- Codecademy.com - Step by step Python instruction with browser embedded sample code and problems.
- Codewars.com - A good resource for problems created by other users that are used to teach Python and other languages. The problems range from elementary to extremely difficult.
- PyQT Python GUI Application Development with Python - A series of Youtube based tutorials teaching GUI development using the PyQT Framework.
Recommended Tools
- Python Framework - The Python Framework is required to create and run python applications.
- JetBrains Pycharm IDE - A powerful integrated development environment (IDE) for developing python applications
- Qt Framework / Qt Designer - Rapid GUI development for python applications
Python is my go-to language of choice for general purpose programming. I've never played around much with the GUI side of things, but I can replicate 99% of MATLAB's functionality with the right libraries.
Good stuff!