<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-396083382034174439.post6919794499818837544..comments</id><updated>2009-08-09T23:51:46.297-03:00</updated><title type='text'>Comments on RodolfoCarvalho.net: If-else em uma linha de Python</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.rodolfocarvalho.net/feeds/6919794499818837544/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396083382034174439/6919794499818837544/comments/default'/><link rel='alternate' type='text/html' href='http://blog.rodolfocarvalho.net/2009/08/if-else-em-uma-linha-de-python.html'/><author><name>Rodolfo</name><uri>http://www.blogger.com/profile/13115401885842551697</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-396083382034174439.post-9151941904713057962</id><published>2009-08-09T23:51:46.297-03:00</published><updated>2009-08-09T23:51:46.297-03:00</updated><title type='text'>Bem lembrado Osvaldo.
Apesar de eu não ter entrado...</title><content type='html'>Bem lembrado Osvaldo.&lt;br /&gt;Apesar de eu não ter entrado no mérito de explicar o truque do &amp;quot;and or&amp;quot;, é sempre bom explicar pros afoitos que isso não é equivalente ao if else como você já explicitou.&lt;br /&gt;&lt;br /&gt;Eu só indico usar curto-circuito lógico só em casos especiais, e quando souber muito bem o que está fazendo... mas uma vez, legibilidade conta e muito.&lt;br /&gt;&lt;br /&gt;E por isso mesmo o truque principal [a,b][cond] é só uma brincadeira... não vejo nunca isso sendo usado em código de verdade.&lt;br /&gt;&lt;br /&gt;De qualquer forma, tem como fazer o que você propôs:&lt;br /&gt;&lt;br /&gt;[func_a, func_b][v == &amp;#39;b&amp;#39;](&amp;quot;x&amp;quot;)&lt;br /&gt;&lt;br /&gt;É só chamar a função na hora que você quer que ela seja chamada...&lt;br /&gt;&lt;br /&gt;[]&amp;#39;s</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396083382034174439/6919794499818837544/comments/default/9151941904713057962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396083382034174439/6919794499818837544/comments/default/9151941904713057962'/><link rel='alternate' type='text/html' href='http://blog.rodolfocarvalho.net/2009/08/if-else-em-uma-linha-de-python.html?showComment=1249872706297#c9151941904713057962' title=''/><author><name>Rodolfo</name><uri>http://www.blogger.com/profile/13115401885842551697</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16283501231544353573'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.rodolfocarvalho.net/2009/08/if-else-em-uma-linha-de-python.html' ref='tag:blogger.com,1999:blog-396083382034174439.post-6919794499818837544' source='http://www.blogger.com/feeds/396083382034174439/posts/default/6919794499818837544' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-396083382034174439.post-1673415318990944697</id><published>2009-08-09T23:33:36.941-03:00</published><updated>2009-08-09T23:33:36.941-03:00</updated><title type='text'>Oi Rodolfo,

Só algumas observações de 'segurança'...</title><content type='html'>Oi Rodolfo,&lt;br /&gt;&lt;br /&gt;Só algumas observações de &amp;#39;segurança&amp;#39; para cada uma dessas técnicas :)&lt;br /&gt;&lt;br /&gt;1 - em condicao and verdadeiro or falso – é sempre bom lembrar que para Python os valores &amp;quot;&amp;quot;, (), [], {}, 0, None e tudo o que retorna 0 em __len__() ou em __nonzero__() são considerados FALSO. Portanto se o valor &amp;#39;verdadeiro&amp;#39; na verdade for um desses valores ele não será retornado.&lt;br /&gt;&lt;br /&gt;2 - para esse caso é sempre bom tomar cuidado para não fazer algo como [ func_a(&amp;quot;x&amp;quot;), func_b(&amp;quot;x&amp;quot;) ][ v == &amp;quot;b&amp;quot; ]. Não podemos nos esquecer que ambas as funções (func_a e func_b) serão executadas antes da condição &amp;quot;v == &amp;#39;b&amp;#39;&amp;quot; ser avaliada.&lt;br /&gt;&lt;br /&gt;No caso da nova expressão if/else que apareceu no Python 2.5 tá &amp;#39;tudo certo&amp;#39;. Só colocar um ( ) em torno dela pra &amp;#39;garantir&amp;#39; a precedência :)&lt;br /&gt;&lt;br /&gt;Cuidando disso e garantindo a boa legibilidade do código (que é o mais importante) podem &amp;#39;mandar bala&amp;#39; com qualquer uma dessas alternativas. :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396083382034174439/6919794499818837544/comments/default/1673415318990944697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396083382034174439/6919794499818837544/comments/default/1673415318990944697'/><link rel='alternate' type='text/html' href='http://blog.rodolfocarvalho.net/2009/08/if-else-em-uma-linha-de-python.html?showComment=1249871616941#c1673415318990944697' title=''/><author><name>Osvaldo Santana Neto</name><uri>http://www.blogger.com/profile/17298234602176827576</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.rodolfocarvalho.net/2009/08/if-else-em-uma-linha-de-python.html' ref='tag:blogger.com,1999:blog-396083382034174439.post-6919794499818837544' source='http://www.blogger.com/feeds/396083382034174439/posts/default/6919794499818837544' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-396083382034174439.post-5703810481899477997</id><published>2009-08-08T20:11:56.823-03:00</published><updated>2009-08-08T20:11:56.823-03:00</updated><title type='text'>De qq forma, interessante.</title><content type='html'>De qq forma, interessante.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396083382034174439/6919794499818837544/comments/default/5703810481899477997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396083382034174439/6919794499818837544/comments/default/5703810481899477997'/><link rel='alternate' type='text/html' href='http://blog.rodolfocarvalho.net/2009/08/if-else-em-uma-linha-de-python.html?showComment=1249773116823#c5703810481899477997' title=''/><author><name>Israel Teixeira</name><uri>http://www.blogger.com/profile/00093796089537037769</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.rodolfocarvalho.net/2009/08/if-else-em-uma-linha-de-python.html' ref='tag:blogger.com,1999:blog-396083382034174439.post-6919794499818837544' source='http://www.blogger.com/feeds/396083382034174439/posts/default/6919794499818837544' type='text/html'/></entry></feed>