170 likes | 347 Views
python. TM. for technical artists. Adam Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc.com www.volition-inc.com. Background. Myself Python @ Volition MaxScript Tech Art Council Programming Classes Future Engine Toolset. Key Features. Dynamic Typing.
E N D
python TM for technical artists Adam Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc.com www.volition-inc.com
Background • Myself • Python @ Volition • MaxScript • Tech Art Council • Programming Classes • Future Engine Toolset
Key Features Dynamic Typing >>> spam = 32.38 >>> print spam 32.38 >>> spam = "Three, sir." >>> print spam Three, sir.
Key Features Clear Syntax C#: for (int i = 0; i < 6; i++) { avgColor += colorArray[i]; } Python: No braces?! for c in colorArray: avgColor += c
Key Features Introspection >>> val = 32.38 >>> help(val) Help on float object: class float(object) | float(x) -> floating point number | | Convert a string or number to a | floating point number, if possible. | | Methods defined here: etc…
Key Features Real Exception/Error-Handling System try: myList.append(val) exceptAttributeError: print'Oops, "myList" needs to be list type!' print'It was type',type(myList), 'instead.' except: raise
Key Features • Classes, Inheritance • No more structs-as-classes (MaxScript) • Extendable • Add functionality with C, C++, Python packages • Embeddable • Python scripting in your application
Key Features • Ginormous Standard Library • Manipulate text, binary, XML, HTML, ZIP files • Send & receive email • Dates & times • GUI toolkit • Data Persistence/Serialization • Internet access, networking • Multi-threading • Unit testing framework (two, actually)
Key Features • Third-Party Extensions • Windows win32 API • COM, app. automation (MS Excel, etc.) • Image manipulation • More GUI toolkits, RAD designers • Source control • Databases • Reports & graph generation
Key Features • Python is FUN • Feel more productive • Fits your brain • Huge community
Demonstrations • Scripts for Tech Artists • Data mining • Screen scraping • Data persistence (serialization) • Using GUIs • Texture validation, comparison • Databases • COM integration with 3ds Max
Python Resources Web • Official Python Site – www.python.org (try the tutorials) • Dive Into Python – www.diveintopython.org • ActiveState Cookbook – • http://aspn.activestate.com/ASPN/Cookbook/Python/ • Guide to Python Introspection – • http://www.ibm.com/developerworks/linux/library/l-pyint.html • Large collection of Python Tutorials – • http://python.objectis.net/
Python Resources Books Learning Python, 3rd Ed., Mark Lutz Python Programming for the Absolute Beginner, Michael Dawson Python Programming in Win32, Mark Hammond, Andy Robinson Programming Python, 3rd Ed., Mark Lutz Beginning Python: From Novice to Professional, Magnus Lie Hetland
Python Resources Useful Extensions wxPython - http://www.wxpython.org/ Python Win32 - https://sourceforge.net/projects/pywin32/ Python Imaging Library - http://www.pythonware.com/products/pil/ MySQLdb - http://sourceforge.net/projects/mysql-python PyExcelerator - http://sourceforge.net/projects/pyexcelerator Pygame - http://www.pygame.org/ Py2exe - http://www.py2exe.org/ Pyro (Python Remote Objects) - http://pyro.sourceforge.net/
www.volition-inc.com/gdc • All code examples • Powerpoint slides • Extra goodies Questions? adam@volition-inc.com