Skip to main content Accessibility help
×
×
Home

Why scientists should learn to program in Python

  • Vidya M. Ayer (a1), Sheila Miguez (a2) and Brian H. Toby (a3)
Abstract

The importance of software continues to grow for all areas of scientific research, no less for powder diffraction. Knowing how to program a computer is a basic and useful skill for scientists. This paper explains the three approaches for programming languages and why scripting languages are preferred for non-expert programmers. The Python-scripting language is extremely efficient for science and its use by scientists is growing. Python is also one of the easiest languages to learn. The language is introduced, as well as a few of the many add-on packages available that extend its capabilities, for example, for numerical computations, scientific graphics, and graphical user interface programming. Resources for learning Python are also provided.

  • View HTML
    • Send article to Kindle

      To send this article to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle. Find out more about sending to your Kindle.

      Note you can select to send to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

      Find out more about the Kindle Personal Document Service.

      Why scientists should learn to program in Python
      Available formats
      ×
      Send article to Dropbox

      To send this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Dropbox.

      Why scientists should learn to program in Python
      Available formats
      ×
      Send article to Google Drive

      To send this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Google Drive.

      Why scientists should learn to program in Python
      Available formats
      ×
Copyright
Corresponding author
a) Author to whom correspondence should be addressed. Electronic mail: toby@anl.gov
References
Hide All
Brandl, G. (2010). Sphinx: Python Documentation Generator (Computer software). Available at sphinx-doc.org
Hunter, J. D. (2007). “Matplotlib: a 2D graphics environment,” Comput. Sci. Eng. 9(3), 9095.
McKinney, W. (2012). Python for Data Analysis (O'Reilly Media, Sebastopol, CA).
Pérez, F. and Granger, B. E. (2007). “IPython: a system for interactive scientific computing,” Comput. Sci. Eng. 9(3), 2129.
Rappin, N. and Dunn, R. (2006). wxPython in Action (Manning Publications, Cherry Hill, NJ).
Shen, H. (2014). “Interactive Notebooks: Sharing the Code,” Nature. 515, 151152.
Toby, B. H., Huang, Y., Dohan, D., Carroll, D., Jiao, X., Ribaud, L., Doebbler, J. A., Suchomel, M. R., Wang, J., Preissner, C., Kline, D.,and Mooney, T. M. (2009). “Management of metadata and automation for mail-in measurements with the APS 11-BM high-throughput, high-resolution synchrotron powder diffractometer,” J. Appl. Crystallogr. 42(6), 990993.
Toby, B. H. and Von Dreele, R. B. (2013). “GSAS-II: The Genesis of a Modern Open-Source All-Purpose Crystallography Software Package,” J. Appl. Crystallogr. 46, 544549.
Toby, B. H. and Von Dreele, R. B. (2014). “What's new in GSAS-II,” Powder Diffr. (in press). DOI: 10.1017/S0885715614000736.
van der Walt, S., Colbert, S. C., and Varoquaux, G. (2011). “The NumPy array: a structure for efficient numerical computation,” Comput. Sci. Eng. 13(2), 2230.
van Rossum, G. (1998). “What's new in Python 1.5?,” Dr. Dobbs J. 23(2), 4445.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Powder Diffraction
  • ISSN: 0885-7156
  • EISSN: 1945-7413
  • URL: /core/journals/powder-diffraction
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Keywords

Type Description Title
UNKNOWN
Supplementary materials

Ayer Supplementary Material
Ayer Supplementary Material

 Unknown (278 KB)
278 KB

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed