<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Partie à trois : Python, __slots__ et metaclass</title>
	<atom:link href="http://www.gabes.fr/jean/2010/02/15/partie-a-trois-python-__slots__-et-metaclass/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gabes.fr/jean/2010/02/15/partie-a-trois-python-__slots__-et-metaclass/</link>
	<description>Être admin, ça a parfois des airs de /dev/random...</description>
	<lastBuildDate>Tue, 13 Jul 2010 15:57:34 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Vincent Vinet</title>
		<link>http://www.gabes.fr/jean/2010/02/15/partie-a-trois-python-__slots__-et-metaclass/comment-page-1/#comment-181</link>
		<dc:creator>Vincent Vinet</dc:creator>
		<pubDate>Wed, 24 Feb 2010 16:03:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabes.fr/jean/?p=453#comment-181</guid>
		<description>La question de performance n&#039;est pas du tout problématique, en fait. Le mécanisme de metaclass se déclenche au moment de la création de la classe elle même, et non à l&#039;instantiation de chaque objet de cette classe. Donc, à moins de créer dynamiquement de nouvelles classes, il sera appelé une seule fois.</description>
		<content:encoded><![CDATA[<p>La question de performance n&#8217;est pas du tout problématique, en fait. Le mécanisme de metaclass se déclenche au moment de la création de la classe elle même, et non à l&#8217;instantiation de chaque objet de cette classe. Donc, à moins de créer dynamiquement de nouvelles classes, il sera appelé une seule fois.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nap</title>
		<link>http://www.gabes.fr/jean/2010/02/15/partie-a-trois-python-__slots__-et-metaclass/comment-page-1/#comment-180</link>
		<dc:creator>Nap</dc:creator>
		<pubDate>Wed, 24 Feb 2010 08:55:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabes.fr/jean/?p=453#comment-180</guid>
		<description>Très bien vu merci :)

Je pense qu&#039;ici le sur-coût est limité, car on le fait une fois par classe et par propriété, donc à moins d&#039;avoir des classes avec 100000 propriétés, ça va être efficace :)</description>
		<content:encoded><![CDATA[<p>Très bien vu merci <img src='http://www.gabes.fr/jean/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Je pense qu&#8217;ici le sur-coût est limité, car on le fait une fois par classe et par propriété, donc à moins d&#8217;avoir des classes avec 100000 propriétés, ça va être efficace <img src='http://www.gabes.fr/jean/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bertrand Mathieu</title>
		<link>http://www.gabes.fr/jean/2010/02/15/partie-a-trois-python-__slots__-et-metaclass/comment-page-1/#comment-179</link>
		<dc:creator>Bertrand Mathieu</dc:creator>
		<pubDate>Tue, 23 Feb 2010 13:37:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabes.fr/jean/?p=453#comment-179</guid>
		<description>Intéressant!

J&#039;ai toutefois une petite remarque: dans la méthode __new__ de AutoSlots, la variables &quot;slots&quot; est un dictionnaire.

Or un &quot;set&quot; me parait plus approprié, l&#039;écriture ressemblerait alors à ça:

if &#039;properties&#039; in dct:
    # pour ne parcourir qu&#039;une fois la liste lors de l&#039;union, 
    #j&#039;utilise la forme générateur (&quot;(x for x in ...)&quot; plutôt que &quot;[x for x in ...]&quot;
    slots.update((p for p in dct[&#039;properties&#039;]))

la dernière ligne deviendrait:
    dct[&#039;__slots__&#039;] = tuple(slots)

Je ne vois qu&#039;une raison de ne pas utiliser les sets: si leur utilisation coute plus cher (en temps) que celle d&#039;un dict, étant donnée le nombre d&#039;objet (100000, ça commence à faire pas mal).</description>
		<content:encoded><![CDATA[<p>Intéressant!</p>
<p>J&#8217;ai toutefois une petite remarque: dans la méthode __new__ de AutoSlots, la variables &#8220;slots&#8221; est un dictionnaire.</p>
<p>Or un &#8220;set&#8221; me parait plus approprié, l&#8217;écriture ressemblerait alors à ça:</p>
<p>if &#8216;properties&#8217; in dct:<br />
    # pour ne parcourir qu&#8217;une fois la liste lors de l&#8217;union,<br />
    #j&#8217;utilise la forme générateur (&#8221;(x for x in &#8230;)&#8221; plutôt que &#8220;[x for x in ...]&#8221;<br />
    slots.update((p for p in dct['properties']))</p>
<p>la dernière ligne deviendrait:<br />
    dct['__slots__'] = tuple(slots)</p>
<p>Je ne vois qu&#8217;une raison de ne pas utiliser les sets: si leur utilisation coute plus cher (en temps) que celle d&#8217;un dict, étant donnée le nombre d&#8217;objet (100000, ça commence à faire pas mal).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

