<?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>Flib &#187; python</title>
	<atom:link href="http://blog.flib.me/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.flib.me</link>
	<description>flex&#039;s library</description>
	<lastBuildDate>Thu, 15 Dec 2011 11:05:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>python全局变量与命名空间</title>
		<link>http://blog.flib.me/2010/06/10/python%e5%85%a8%e5%b1%80%e5%8f%98%e9%87%8f%e4%b8%8e%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python%25e5%2585%25a8%25e5%25b1%2580%25e5%258f%2598%25e9%2587%258f%25e4%25b8%258e%25e5%2591%25bd%25e5%2590%258d%25e7%25a9%25ba%25e9%2597%25b4</link>
		<comments>http://blog.flib.me/2010/06/10/python%e5%85%a8%e5%b1%80%e5%8f%98%e9%87%8f%e4%b8%8e%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:22:58 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[global]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[全局变量]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38191</guid>
		<description><![CDATA[[python] KEY_WORD = &#34;A&#34; def temp(): print KEY_WORD KEY_WORD = &#34;B&#34; [/python] 这段代码运行会提示变量KEY_WORD在定义前使用。原因是因为一旦在函数中修改全局变量，则python会将全局变量认成局部变量，在函数的命名空间内寻找其定义。如果要修改全局变量，要在函数内使用global关键字进行声明。如下： [python] KEY_WORD = &#34;A&#34; def temp(): global KEY_WORD print KEY_WORD KEY_WORD = &#34;B&#34; [/python] 当然，我个人更倾向将全局变量只作为常量。]]></description>
			<content:encoded><![CDATA[<p>[python]<br />
KEY_WORD = &quot;A&quot;</p>
<p>def temp():<br />
    print KEY_WORD<br />
    KEY_WORD = &quot;B&quot;<br />
[/python]</p>
<p>这段代码运行会提示变量KEY_WORD在定义前使用。原因是因为一旦在函数中修改全局变量，则python会将全局变量认成局部变量，在函数的命名空间内寻找其定义。如果要修改全局变量，要在函数内使用global关键字进行声明。如下：</p>
<p>[python]<br />
KEY_WORD = &quot;A&quot;</p>
<p>def temp():<br />
    global KEY_WORD<br />
    print KEY_WORD<br />
    KEY_WORD = &quot;B&quot;<br />
[/python]</p>
<p>当然，我个人更倾向将全局变量只作为常量。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/06/10/python%e5%85%a8%e5%b1%80%e5%8f%98%e9%87%8f%e4%b8%8e%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

