ArcPy is a Python site package that provides a useful and productive way to perform geographic data analysis, data conversion, data management, and map automation with Python.
This package provides a rich and native Python experience offering code completion (type a keyword and a dot to get a pop-up list of properties and methods supported by that keyword; select one to insert it) and reference documentation for each function, module, and class.
The additional power of using ArcPy is that Python is a general-purpose programming language. It is interpreted and dynamically typed and is suited for interactive work and quick prototyping of one-off programs known as scripts while being powerful enough to write large applications in. ArcGIS applications written with ArcPy benefit from the development of additional modules in numerous niches of Python by GIS professionals and programmers from many different disciplines.
What is Python?
Python is a free, cross-platform, open-source programming language that is both powerful and easy to learn. It is widely used and supported. To learn more about Python, visit python.org.
Python was introduced to the ArcGIS community with ArcGIS 9.0. Since then, it has been accepted as the scripting language of choice for geoprocessing users and continues to grow. Each release has furthered the Python experience, providing you with more capabilities and a richer, more Python-friendly experience.
Esri has fully embraced Python for ArcGIS and sees Python as the language that fulfills the needs of our user community. Here are just some of the advantages of Python:
- Easy to learn and excellent for beginners, yet superb for experts
- Highly scalable, suitable for large projects or small one-off programs known as scripts
- Portable, cross-platform
- Embeddable (making ArcGIS scriptable)
- Stable and mature
- A large user community
A suitable Python reference book is strongly recommended to augment the ArcPy-focused information you find here. For Python beginners, 'Learning Python' by Mark Lutz and David Ascher, published by O’Reilly & Associates, and 'Core Python Programming' by Wesley J. Chun, published by Prentice Hall, are both good introductions to the language and are not overwhelming in scope. There are many other books on Python and its particular uses, with new ones being released regularly, so explore what is available. The Python website has full documentation for Python, but it is concise and developer oriented. There is a large online Python community with many online resources that are accessible from the Python home page.
If you're new to Python, the external tutorials listed here are recommended for you.
Python tutorials for programmers
The external tutorials listed here are aimed at those who have previous experience with other programming languages (Perl, Visual Basic, C).