GET /api/v2/video/1041
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "EuroPython 2011", "language": "English", "slug": "objects-and-classes-in-python-and-javascript", "speakers": [ "Jonathan Fine" ], "tags": [ "dictionaries", "javascript", "tutorial" ], "id": 1041, "state": 1, "title": "Objects and classes in Python (and JavaScript)", "summary": "[EuroPython 2011] Jonathan Fine - 23 June 2011 in \"Training Pizza Napoli \"\n\n", "description": "Python has a well-thought out system for classes. Beginners can use it without\nunderstanding it all. Experts can use it to produce code that is both elegant\nand powerful (such as models and class-based views in Django). Python classes\ncan be used for many purposes.\n\nThis tutorial arises from the author's experience in using classes to solve\nproblems, such as:\n\n * Add custom methods and attributes to objects that are, at root, just an integer\n * Construct dictionaries whose values are functions\n * Construct classes on-the-fly\n * Implement JavaScript object semantics in Python (advanced topic)\n\nThe outline syllabus is:\n\n * Review of the class statement in Python (and decorators)\n * Subclassing built-in types such as int and tuple\n * How to define classes without using a class statement\n * How to define a dispatch dictionary using a class statement\n * Metaclasses as syntactic sugar for class construction\n * Metaclasses to provide new class semantics\n * Review of JavaScript object semantics\n * Using Python classes to implement JavaScript object semantics\n\nFor Guido on the history of Python classes see:\n\n * [http://python-history.blogspot.com/2010/06/new-style-classes.html](http://python-history.blogspot.com/2010/06/new-style-classes.html)\n * [http://python-history.blogspot.com/2010/06/inside-story-on-new-style-classes.html](http://python-history.blogspot.com/2010/06/inside-story-on-new-style-classes.html)\n * [http://python-history.blogspot.com/2010/06/method-resolution-order.html](http://python-history.blogspot.com/2010/06/method-resolution-order.html)\n\nThis tutorial is for Intermediate or Advanced Python programmers. (Beginners\nwill find it very hard going.) The aim of the course is to explain exactly\nwhat happens when a class in constructed, and to learn ways of using this\nknowledge.\n\n", "quality_notes": "", "copyright_text": "Standard YouTube License", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/e0tK-Kawx3E?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/e0tK-Kawx3E?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i.ytimg.com/vi/e0tK-Kawx3E/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "http://www.youtube.com/watch?v=e0tK-Kawx3E", "whiteboard": "", "recorded": "2011-07-21", "added": "2012-08-30T21:02:14", "updated": "2014-04-08T20:28:27.745" }