<?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>Arslanlar Şehri &#187; augmented assignment</title>
	<atom:link href="http://blog.arsln.org/tag/augmented-assignment/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.arsln.org</link>
	<description>Dağlara çıkamayan uzakları göremez ...</description>
	<lastBuildDate>Tue, 24 Aug 2010 05:23:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Python&#8217;da X += Y ve X = X + Y arasındaki fark</title>
		<link>http://blog.arsln.org/pythonda-x-y-ve-x-x-y-arasindaki-fark/</link>
		<comments>http://blog.arsln.org/pythonda-x-y-ve-x-x-y-arasindaki-fark/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 13:28:49 +0000</pubDate>
		<dc:creator>Fatih Arslan</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[augmented assignment]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.arsln.org/pythonda-x-y-ve-x-x-y-arasindaki-fark/</guid>
		<description><![CDATA[Bir nesneyi başka bir nesneye eklemek için genellikle şu ifade kullanılır 1X = X + Y Burada X&#8217;deki değeri alıp Y ile beraber yine X&#8217;e kayıt ediyor. Bu yöntem çokca kullanıldığı için C,Python gibi dillerde şu ifade de kullanılabiliyor 1X += Y Bu yukarıdaki ifade ile aynı. Velakin Python&#8217;da örneğin listeler ile uğraşırken bunu kullanmak [...]]]></description>
			<content:encoded><![CDATA[<p>Bir nesneyi başka bir nesneye eklemek için genellikle şu ifade kullanılır</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">X = X + Y</div></td></tr></tbody></table></div>
<p>Burada X&#8217;deki değeri alıp Y ile beraber yine X&#8217;e kayıt ediyor. Bu yöntem çokca kullanıldığı için C,Python gibi dillerde şu ifade de kullanılabiliyor</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">X += Y</div></td></tr></tbody></table></div>
<p>Bu yukarıdaki ifade ile aynı. Velakin Python&#8217;da örneğin listeler ile uğraşırken bunu kullanmak yerine list komutunun kendi içinde barındırdığı özellikleri kullanabiliriz, örneğin .append veya .extend gibi. L = [1,2] ifadesi için şu örneği ele alalım</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">L = L + [3]</div></td></tr></tbody></table></div>
<p>Burada 3 sayısını <strong>L</strong> listesine ekliyebiliyoruz. Aynı işlemi şu şekilde de yapmamız mümkün</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">L.append(3)</div></td></tr></tbody></table></div>
<p>Gördüğünüz gibi ikiside aynı işlemi yapıyor. Fakat yukarıdaki örnekte, yani + kullandığımı örnek diğerine göre çok daha yavaş. Çünkü ekleme yapılırken yeni bir nesne oluşturuluyor, soldaki L listesine kopyalanıyor, bu da sağ tarafdaki L listesine kopyalanıyor. Halbuki L.append yaparken var olan L listesine 3 sayısı ekleniyor. </p>
<p>Şimdi Python&#8217;da şöyle bir özellik var. <a href="http://blog.arsln.org/python-kitabim-geldi-bu-sabah/">Kitabı</a> okurken gördüm. Eğer siz L listesine 3 sayısını şu şekilde</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">L += [3]</div></td></tr></tbody></table></div>
<p>eklerseniz, aynı <strong>L.append()</strong> şeklinde ekliyor. Yani bizim için daha avantajlı oluyor(daha hızlı olduğu için). Bu demek ki, Python&#8217;da eklemeler yapılırken kesinlikle +=(-=,*=,..) gibi ifadeler(Ingilizce&#8217;de: <em>augmented assignment</em>) kullanmamız bizim için daha iyi olacaktır. </p>
<p><em>Not:(Python öğrenirken bana göre ilginç ve işe yarayan ipuçları sizlerle bu şekilde paylaşmayı düşünüyorum)</em></p>
<hr />
<p><small>&copy; Fatih for <a href="http://blog.arsln.org">Arslanlar Şehri</a>, 2007. |
<a href="http://blog.arsln.org/pythonda-x-y-ve-x-x-y-arasindaki-fark/">Permalink</a> |
<a href="http://blog.arsln.org/pythonda-x-y-ve-x-x-y-arasindaki-fark/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.arsln.org/pythonda-x-y-ve-x-x-y-arasindaki-fark/&amp;title=Python&#8217;da X += Y ve X = X + Y arasındaki fark">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.arsln.org/tag/augmented-assignment/" rel="tag">augmented assignment</a>, <a href="http://blog.arsln.org/tag/python/" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.arsln.org/pythonda-x-y-ve-x-x-y-arasindaki-fark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
