<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>PyVideo.org - pythonic</title><link>https://pyvideo.org/</link><description></description><lastBuildDate>Sat, 24 Aug 2019 00:00:00 +0000</lastBuildDate><item><title>How to Write Python Code Others Like to Use</title><link>https://pyvideo.org/kiwi-pycon-2019/how-to-write-python-code-others-like-to-use.html</link><description>&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;What makes an API Pythonic? If you are writing Python code you want to share with the world, or maybe just within your team - how can you design it in a way that's intuitive to use and easy to navigate for both the beginner and the expert.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anna Tisch</dc:creator><pubDate>Sat, 24 Aug 2019 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:pyvideo.org,2019-08-24:/kiwi-pycon-2019/how-to-write-python-code-others-like-to-use.html</guid><category>Kiwi PyCon 2019</category><category>pythonic</category></item><item><title>Transforming Code into Beautiful, Idiomatic Python</title><link>https://pyvideo.org/pycon-us-2013/transforming-code-into-beautiful-idiomatic-pytho.html</link><description>&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;Learn to take better advantage of Python's best features and improve
existing code through a series of code transformations, &amp;quot;When you see
this, do that instead.&amp;quot;&lt;/p&gt;
&lt;p&gt;Timetable:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=184s"&gt;03:04&lt;/a&gt; -- Looping over a range of functions&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=287s"&gt;04:47&lt;/a&gt; -- Looping over a collection&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=328s"&gt;05:28&lt;/a&gt; -- Looping backwards&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=411s"&gt;06:51&lt;/a&gt; -- Looping over a collection of indicies&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=456s"&gt;07:36&lt;/a&gt; -- Looping over two collections&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=582s"&gt;09:42&lt;/a&gt; -- Looping in sorted order&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=604s"&gt;10:04&lt;/a&gt; -- Custom sort order&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=747s"&gt;12:27&lt;/a&gt; -- Call a function until a sentinel value&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=952s"&gt;15:52&lt;/a&gt; -- Distinguishing multiple exit points in loops&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1158s"&gt;19:18&lt;/a&gt; -- Looping over dictionary keys&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1270s"&gt;21:10&lt;/a&gt; -- Looping over dictionary keys and values&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1312s"&gt;21:52&lt;/a&gt; -- Construct a dictionary from pairs&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1395s"&gt;23:15&lt;/a&gt; -- Counting with dictionaries&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1530s"&gt;25:30&lt;/a&gt; -- Grouping with dictionaries&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1677s"&gt;27:57&lt;/a&gt; -- Is a dictionary pop() atomic?&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1752s"&gt;29:12&lt;/a&gt; -- Linking dictionaries&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1870s"&gt;31:10&lt;/a&gt; -- Clarify function calls with keyword arguments&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1937s"&gt;32:17&lt;/a&gt; -- Clarify multiple return values with named tuples&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=1993s"&gt;33:13&lt;/a&gt; -- Unpacking sequences&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2041s"&gt;34:01&lt;/a&gt; -- Updating multiple state variables&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2175s"&gt;36:15&lt;/a&gt; -- Simultaneous state updates&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2304s"&gt;38:24&lt;/a&gt; -- Concatenating strings&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2321s"&gt;38:41&lt;/a&gt; -- Updating sequences&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2397s"&gt;39:57&lt;/a&gt; -- Using decorators to factor-out administrative logic&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2424s"&gt;40:24&lt;/a&gt; -- Caching decorator&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2479s"&gt;41:19&lt;/a&gt; -- Factor-out temporary contexts for decimal&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2521s"&gt;42:01&lt;/a&gt; -- How to open and close files&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2545s"&gt;42:25&lt;/a&gt; -- How to use locks&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2590s"&gt;43:10&lt;/a&gt; -- Factor-out temporary contexts&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2696s"&gt;44:56&lt;/a&gt; -- Context manager: redirect_stdout()&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="/watch?v=OSGv2VnC0go&amp;amp;t=2764s"&gt;46:04&lt;/a&gt; -- Concise expressive one-liners&lt;/li&gt;
&lt;/ul&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raymond Hettinger</dc:creator><pubDate>Fri, 15 Mar 2013 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:pyvideo.org,2013-03-15:/pycon-us-2013/transforming-code-into-beautiful-idiomatic-pytho.html</guid><category>PyCon US 2013</category><category>talk</category><category>python3</category><category>pythonic</category></item></channel></rss>