PHY 546: Python for Scientific Computing#
(from https://xkcd.com)
Why python?#
Python is a very high-level language
it provides many complex data-structures (lists, dictionaries, …)
your code is shorter than a comparable algorithm in a compiled language
Many powerful libraries to perform complex tasks
Parse structured inputs files
send e-mail
interact with the operating system
make plots
make GUIs
do scientific computations
…
Python makes it easy to prototype new tools
Python is cross-platform and Free
Language Features#
Some of the language features are:
Dynamical typing
Object-oriented foundation
Extensible (easy to call Fortran, C/C++, …)
Automatic memory management (garbage collection)
Ease of readability (whitespace matters)
Scientific python#
Perhaps most importantly, and why we are here:
Python has been widely adopted in the scientific community.