<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>开发 on heyaohua's Blog</title><link>https://blog.heyaohua.com/tags/%E5%BC%80%E5%8F%91/</link><description>Recent content in 开发 on heyaohua's Blog</description><image><title>heyaohua's Blog</title><url>https://blog.heyaohua.com/og-image.png</url><link>https://blog.heyaohua.com/og-image.png</link></image><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 15 Jan 2024 14:30:00 +0800</lastBuildDate><atom:link href="https://blog.heyaohua.com/tags/%E5%BC%80%E5%8F%91/index.xml" rel="self" type="application/rss+xml"/><item><title>Python开发小技巧分享</title><link>https://blog.heyaohua.com/posts/2024/01/python-tips/</link><pubDate>Mon, 15 Jan 2024 14:30:00 +0800</pubDate><guid>https://blog.heyaohua.com/posts/2024/01/python-tips/</guid><description>日常开发中，掌握一些高频技巧能够明显提升代码质量与效率。本文整理了五个常用的小窍门，并配以示例代码，便于在项目中直接应用。</description><content:encoded><![CDATA[<p>日常开发中，掌握一些高频技巧能够明显提升代码质量与效率。本文整理了五个常用的小窍门，并配以示例代码，便于在项目中直接应用。</p>
<h2 id="1-善用列表推导式">1. 善用列表推导式</h2>
<p>列表推导式可以将循环与条件判断浓缩到一行，既简洁又易读：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span># 传统写法
</span></span><span style="display:flex;"><span>squares = []
</span></span><span style="display:flex;"><span>for x in range(10):
</span></span><span style="display:flex;"><span>    squares.append(x**2)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span># 列表推导式
</span></span><span style="display:flex;"><span>squares = [x**2 for x in range(10)]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span># 搭配条件过滤
</span></span><span style="display:flex;"><span>even_squares = [x**2 for x in range(10) if x % 2 == 0]
</span></span></code></pre></div><h2 id="2-使用-dictget-提升容错性">2. 使用 <code>dict.get</code> 提升容错性</h2>
<p>通过 <code>dict.get</code> 读取字典时，可定义默认值，避免 KeyError 并简化分支逻辑：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span># 可能抛出 KeyError
</span></span><span style="display:flex;"><span>user_name = user_dict[&#39;name&#39;]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span># 更稳健的写法
</span></span><span style="display:flex;"><span>user_name = user_dict.get(&#39;name&#39;, &#39;Unknown&#39;)
</span></span></code></pre></div><h2 id="3-搭配-enumerate-获取索引">3. 搭配 <code>enumerate</code> 获取索引</h2>
<p><code>enumerate</code> 能在遍历序列时同时获得索引和值，避免手动维护计数器：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>fruits <span style="color:#ff79c6">=</span> [<span style="color:#f1fa8c">&#39;apple&#39;</span>, <span style="color:#f1fa8c">&#39;banana&#39;</span>, <span style="color:#f1fa8c">&#39;orange&#39;</span>]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">for</span> index, fruit <span style="color:#ff79c6">in</span> <span style="color:#8be9fd;font-style:italic">enumerate</span>(fruits, start<span style="color:#ff79c6">=</span><span style="color:#bd93f9">1</span>):
</span></span><span style="display:flex;"><span>    <span style="color:#8be9fd;font-style:italic">print</span>(<span style="color:#f1fa8c">f</span><span style="color:#f1fa8c">&#34;</span><span style="color:#f1fa8c">{</span>index<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">. </span><span style="color:#f1fa8c">{</span>fruit<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">&#34;</span>)
</span></span></code></pre></div><h2 id="4-用-zip-打包多组数据">4. 用 <code>zip</code> 打包多组数据</h2>
<p>当需要并行遍历多个可迭代对象时，<code>zip</code> 能有效避免索引操作：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>names <span style="color:#ff79c6">=</span> [<span style="color:#f1fa8c">&#39;Alice&#39;</span>, <span style="color:#f1fa8c">&#39;Bob&#39;</span>, <span style="color:#f1fa8c">&#39;Charlie&#39;</span>]
</span></span><span style="display:flex;"><span>ages <span style="color:#ff79c6">=</span> [<span style="color:#bd93f9">25</span>, <span style="color:#bd93f9">30</span>, <span style="color:#bd93f9">35</span>]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">for</span> name, age <span style="color:#ff79c6">in</span> <span style="color:#8be9fd;font-style:italic">zip</span>(names, ages):
</span></span><span style="display:flex;"><span>    <span style="color:#8be9fd;font-style:italic">print</span>(<span style="color:#f1fa8c">f</span><span style="color:#f1fa8c">&#34;</span><span style="color:#f1fa8c">{</span>name<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c"> 的年龄是 </span><span style="color:#f1fa8c">{</span>age<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c"> 岁&#34;</span>)
</span></span></code></pre></div><h2 id="5-借助-f-string-优雅格式化">5. 借助 f-string 优雅格式化</h2>
<p>Python 3.6 及以上版本推荐使用 f-string 进行字符串拼接，可读性高、性能更优：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>name = &#34;World&#34;
</span></span><span style="display:flex;"><span>age = 25
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>message = f&#34;Hello, {name}! You are {age} years old.&#34;
</span></span></code></pre></div><hr>
<p>这些技巧虽然简单，却能在编写脚本、数据处理或后端服务时显著提升编码体验。欢迎在评论中分享你常用的 Python 诀窍。</p>
]]></content:encoded></item></channel></rss>