<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Valentin's Lab &#187; python</title>
	<atom:link href="https://vaab.blog.kal.fr/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>https://vaab.blog.kal.fr</link>
	<description>Ratiocination of an opensource techie</description>
	<lastBuildDate>Thu, 15 Nov 2018 08:04:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.1</generator>
	<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F&amp;language=en_US&amp;category=text&amp;title=Valentin%27s+Lab&amp;description=Ratiocination+of+an+opensource+techie&amp;tags=blog" type="text/html" />
	<item>
		<title>Fixing Windows Python 2.7 unicode issue with subprocess&#8217;s Popen.</title>
		<link>https://vaab.blog.kal.fr/2017/03/16/fixing-windows-python-2-7-unicode-issue-with-subprocesss-popen/</link>
		<comments>https://vaab.blog.kal.fr/2017/03/16/fixing-windows-python-2-7-unicode-issue-with-subprocesss-popen/#comments</comments>
		<pubDate>Thu, 16 Mar 2017 10:22:49 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[ctypes]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=591</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[ <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=591&amp;md5=77d3033e88bd60e262aba556bd682af8" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2017/03/16/fixing-windows-python-2-7-unicode-issue-with-subprocesss-popen/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2017%2F03%2F16%2Ffixing-windows-python-2-7-unicode-issue-with-subprocesss-popen%2F&amp;language=en_GB&amp;category=text&amp;title=Fixing+Windows+Python+2.7+unicode+issue+with+subprocess%26%238217%3Bs+Popen.&amp;description=Ratiocination+of+an+opensource+techie&amp;tags=ctypes%2Cpython%2Cwindows%2Cblog" type="text/html" />
	</item>
		<item>
		<title>comparison of minimal packaging between distribute and distutils2</title>
		<link>https://vaab.blog.kal.fr/2013/02/22/comparison-of-minimal-packaging-between-distribute-and-distutils2/</link>
		<comments>https://vaab.blog.kal.fr/2013/02/22/comparison-of-minimal-packaging-between-distribute-and-distutils2/#comments</comments>
		<pubDate>Fri, 22 Feb 2013 15:27:14 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[distribute]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=382</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[ <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=382&amp;md5=b1ad1bba5169dd4715c5a089b8fe888b" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2013/02/22/comparison-of-minimal-packaging-between-distribute-and-distutils2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2013%2F02%2F22%2Fcomparison-of-minimal-packaging-between-distribute-and-distutils2%2F&amp;language=en_GB&amp;category=text&amp;title=comparison+of+minimal+packaging+between+distribute+and+distutils2&amp;description=Ratiocination+of+an+opensource+techie&amp;tags=distribute%2Cdistutils2%2Cpackaging%2Cpython%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Inheriting from a builtin strangeness</title>
		<link>https://vaab.blog.kal.fr/2010/11/23/inheriting-from-a-builtin-strangeness/</link>
		<comments>https://vaab.blog.kal.fr/2010/11/23/inheriting-from-a-builtin-strangeness/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 09:03:15 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[comp]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[sci]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=74</guid>
		<description><![CDATA[In python, when inheriting from a builtin, you must be carefull as your object won't follow common rules.<p class="read-more"><a href="https://vaab.blog.kal.fr/2010/11/23/inheriting-from-a-builtin-strangeness/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>In python, when inheriting from a builtin, you must be carefull as your object won't follow common rules:</p>
<pre>
&gt;&gt;&gt; class A(object):
...     def __init__(self, *args, **kwargs):
...         print "%r" % (args,)
...         print "%r" % (kwargs,)
{'prefix': 2}
(3,)
&lt;__main__.A object at ...&gt;
</pre>
<p>This is normal behavoir: __init__ gets called and do its job at<br />
instantiation time of the class A.</p>
<p>Let's create the exact same class but inheriting from the builtin unicode:</p>
<pre>&gt;&gt;&gt; class B(unicode):
...     def __init__(self, *args, **kwargs):
...         print "%r" % (args,)
...         print "%r" % (kwargs,)
...
&gt;&gt;&gt; B(3, prefix=2)
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: 'prefix' is an invalid keyword argument for this function

</pre>
<p>Pretty traceback: __init__ of our class do not seem to be called, and because it is inheriting from unicode it seems that C level initialisation is called, bypassing rules of inheritage.</p>
<p>But look at this:</p>
<pre>&gt;&gt;&gt; B(3)
{}
(3,)
u'3'
</pre>
<p>Clearly, our __init__ was called ! probably after the internal init of the builtin. An idea how to check this ?</p>
<p>Anyway, next time, be carefull and do not inherits builtin if you don't know what you are doing.</p>
<p>PS: this was tested on python 2.5</p>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=74&amp;md5=6ad88a21991adbb761c888db0c536647" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2010/11/23/inheriting-from-a-builtin-strangeness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2010%2F11%2F23%2Finheriting-from-a-builtin-strangeness%2F&amp;language=en_GB&amp;category=text&amp;title=Inheriting+from+a+builtin+strangeness&amp;description=In+python%2C+when+inheriting+from+a+builtin%2C+you+must+be+carefull+as+your+object+won%27t+follow+common+rules%3A+%26gt%3B%26gt%3B%26gt%3B+class+A%28object%29%3A+...+def+__init__%28self%2C+%2Aargs%2C+%2A%2Akwargs%29%3A+...+print+%22%25r%22+%25...&amp;tags=python%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
