Source: https://darrylmcleod.com/wp-content/uploads/2016/06/Python-Scripting-for-ArcGIS.pdf