<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on 布萊恩 | QA job | Testing</title><link>https://brian-hsu.github.io/categories/python/</link><description>Recent content in Python on 布萊恩 | QA job | Testing</description><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Sat, 28 Mar 2026 22:35:40 +0800</lastBuildDate><atom:link href="https://brian-hsu.github.io/categories/python/index.xml" rel="self" type="application/rss+xml"/><item><title>從 Conda 轉向 uv：大幅縮短 CUDA 環境建置時間的實踐心得</title><link>https://brian-hsu.github.io/blog/my_share-048/</link><pubDate>Sat, 28 Mar 2026 22:35:40 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-048/</guid><description>&lt;h2 id="最近嘗試讓ai幫助我寫作-以下是我的原文-可以再比對看看優缺點"&gt;最近嘗試讓AI幫助我寫作 以下是我的原文 可以再比對看看優缺點&lt;/h2&gt;
&lt;h2 id="我用很久的conda-一直到-vibe-coding-發生質變"&gt;我用很久的conda 一直到 vibe coding 發生質變&lt;/h2&gt;
&lt;p&gt;因為阿, 建立cuda生態真的是很肥大, 測試一個版本就一直放著install到沒興致&lt;/p&gt;</description></item><item><title>提升 AI 協作安全性：從 .env 轉向 Doppler 的祕鑰管理實踐</title><link>https://brian-hsu.github.io/blog/my_share-047/</link><pubDate>Sat, 28 Mar 2026 10:43:52 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-047/</guid><description>&lt;h2 id="隱患ai-協作中的機敏資料外洩風險"&gt;隱患：AI 協作中的機敏資料外洩風險&lt;/h2&gt;
&lt;p&gt;在當前 Vibe Coding 或 AI 輔助開發的流程中，開發者頻繁將程式碼片段與除錯日誌提供給大型語言模型（LLM）。實務經驗顯示，當使用 &lt;code&gt;.env&lt;/code&gt; 檔案管理環境變數時，若程式中存在未經處理的 Exception 或 Verbose Log，機敏資料（如 API Token、資料庫連線字串）極易隨之輸出至終端機。&lt;/p&gt;</description></item><item><title>用VScode來一小段python - Jupyter</title><link>https://brian-hsu.github.io/blog/my_share-037/</link><pubDate>Thu, 21 Jul 2022 23:18:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-037/</guid><description>&lt;h5 id="有時候想驗證function-邏輯-又不想開一個-py-file"&gt;有時候想驗證function 邏輯, 又不想開一個 py file&lt;/h5&gt;
&lt;h5 id="這時候想到-ipython-但-人就是這麼懶-連terminal-也很不想打字"&gt;這時候想到 ipython, 但! 人就是這麼懶.. 連terminal 也很不想打字?&lt;/h5&gt;
&lt;h5 id="那麼-jupyter-就是你和-python-的邱比特"&gt;那麼 Jupyter 就是你和 python 的邱比特&lt;/h5&gt;
&lt;h5 id="先安裝吧-如果有用虛擬環境-建立一個給jupyter吧"&gt;先安裝吧 (如果有用虛擬環境, 建立一個給jupyter吧)&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install jupyter
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="vscode-使用-jupyter"&gt;VScode 使用 Jupyter&lt;/h5&gt;
&lt;h5 id="ctrl--shift--p---打上-jupyter--選擇-jupyter-create-new-blank-notebook"&gt;Ctrl + shift + P -&amp;gt; 打上 Jupyter 選擇 Jupyter: Create New Blank Notebook&lt;/h5&gt;
&lt;h5&gt;&lt;/h5&gt;
&lt;h5 id="yes-開始-建立你的-python-筆記吧"&gt;YES! 開始 建立你的 python 筆記吧&lt;/h5&gt;
&lt;h5&gt;&lt;/h5&gt;
&lt;h5 id="幾個好用快速鍵"&gt;幾個好用快速鍵&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Alt + Enter 執行這個cell, 執行後再幫你多一個cell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift + Enter 執行這個cell, 執行後再幫你選下一個cell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl + Enter 只有執行這個cell, 不會雞婆了
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;K 往上選一個cell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;J 往下選一個cell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;A 往上建立一個cell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;B 往下建立一個cell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;D,D 喜歡 VIM 的, 你懂的
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;L 顯示行數 (要先選擇有程式碼的cell喔)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Conda 常用指令</title><link>https://brian-hsu.github.io/blog/my_share-029/</link><pubDate>Fri, 21 Jan 2022 18:19:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-029/</guid><description>&lt;h5 id="初始化-執行後重啟終端機"&gt;初始化 (執行後重啟終端機)&lt;/h5&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-Windows" data-lang="Windows"&gt;conda init
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="查看目前環境"&gt;查看目前環境&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;conda&lt;/span&gt; &lt;span style="color:#268bd2"&gt;env&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="建立新環境-可以指定python版本"&gt;建立新環境 (可以指定python版本)&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;conda&lt;/span&gt; &lt;span style="color:#268bd2"&gt;create&lt;/span&gt; --&lt;span style="color:#268bd2"&gt;name&lt;/span&gt; &lt;span style="color:#268bd2"&gt;myenv&lt;/span&gt; &lt;span style="color:#268bd2"&gt;python&lt;/span&gt;=&lt;span style="color:#2aa198;font-weight:bold"&gt;3.9&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="最重要的-切入環境"&gt;最重要的, 切入環境&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;activate myenv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="ps-遇到-unicodeencodeerror-怎辦呢-以下是-windows解法"&gt;PS. 遇到 UnicodeEncodeError 怎辦呢? 以下是 Windows解法&lt;/h4&gt;
&lt;h5 id="設定-環境變數-對-就是系統進階設定-那個"&gt;設定 環境變數 (對! 就是系統=&amp;gt;進階設定 那個)&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;PYTHONIOENCODING&lt;/span&gt; = UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;PYTHONLEGACYWINDOWSSTDIO&lt;/span&gt; = UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>ipython 的 線上版 jupyter notebook</title><link>https://brian-hsu.github.io/blog/my_share-024/</link><pubDate>Thu, 17 Jun 2021 23:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-024/</guid><description>&lt;h4 id="以前-ipython-使用起來特別威"&gt;以前 ipython 使用起來特別威&lt;/h4&gt;
&lt;h4 id="沒想到後來-jupyter-notebook-出來更是厲害"&gt;沒想到後來 jupyter notebook 出來更是厲害&lt;/h4&gt;
&lt;h4 id="不過考量我是使用-conda-虛擬環境特別去建立一個環境給jupyter有點多餘"&gt;不過考量我是使用 conda 虛擬環境，特別去建立一個環境給jupyter有點多餘&lt;/h4&gt;
&lt;h4 id="而且jupyter-notebook-是-online-模式的"&gt;而且jupyter notebook 是 online 模式的&lt;/h4&gt;
&lt;h4 id="所以-docker-container-特別適合"&gt;所以 docker container 特別適合&lt;/h4&gt;
&lt;h4 id="先來一段掛載-docker-container-指令吧-我的環境為-windows"&gt;先來一段掛載 docker container 指令吧~ (我的環境為 Windows)&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;docker&lt;/span&gt; &lt;span style="color:#268bd2"&gt;run&lt;/span&gt; -&lt;span style="color:#268bd2"&gt;-name&lt;/span&gt; &lt;span style="color:#268bd2"&gt;jupyter&lt;/span&gt; \ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;-v&lt;/span&gt; &lt;span style="color:#268bd2"&gt;C:&lt;/span&gt;\&lt;span style="color:#268bd2"&gt;docker_data&lt;/span&gt;\&lt;span style="color:#268bd2"&gt;jupyter&lt;/span&gt;:/&lt;span style="color:#268bd2"&gt;home&lt;/span&gt;/&lt;span style="color:#268bd2"&gt;jovyan&lt;/span&gt;/&lt;span style="color:#268bd2"&gt;work&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;-d&lt;/span&gt; -&lt;span style="color:#268bd2"&gt;-restart&lt;/span&gt;=&lt;span style="color:#268bd2"&gt;always&lt;/span&gt; &lt;span style="color:#268bd2"&gt;-p&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8888&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;8888&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;jupyter&lt;/span&gt;/&lt;span style="color:#cb4b16"&gt;datascience-notebook&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;start&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;sh&lt;/span&gt; &lt;span style="color:#268bd2"&gt;jupyter&lt;/span&gt; &lt;span style="color:#268bd2"&gt;notebook&lt;/span&gt; -&lt;span style="color:#268bd2"&gt;-NotebookApp&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;token&lt;/span&gt;=&lt;span style="color:#2aa198"&gt;&amp;#39;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="之後只要把-想要執行的資料放-cdocker_datajupyter-就可以在-http1270018888notebookswork-找到囉"&gt;之後只要把 想要執行的資料放 C:\docker_data\jupyter 就可以在 http://127.0.0.1:8888/notebooks/work/ 找到囉&lt;/h5&gt;
&lt;h5 id="如果是在-jupyter-notebook-建立新檔案-就建立在-work-資料夾-依然可以去-cdocker_datajupyter-找到檔案"&gt;如果是在 jupyter notebook 建立新檔案 就建立在 work 資料夾, 依然可以去 C:\docker_data\jupyter 找到檔案&lt;/h5&gt;
&lt;h5 id="jupyter-notebook-快捷鍵"&gt;jupyter notebook 快捷鍵&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;命令模式 (按键 Esc 开启)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Enter : 转入编辑模式
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-Enter : 运行本单元，选中下个单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Enter : 运行本单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Alt-Enter : 运行本单元，在其下插入新单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Y : 单元转入代码状态
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;M :单元转入markdown状态
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;R : 单元转入raw状态
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1 : 设定 1 级标题
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2 : 设定 2 级标题
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;3 : 设定 3 级标题
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;4 : 设定 4 级标题
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;5 : 设定 5 级标题
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;6 : 设定 6 级标题
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Up : 选中上方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;K : 选中上方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Down : 选中下方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;J : 选中下方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-K : 扩大选中上方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-J : 扩大选中下方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;A : 在上方插入新单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;B : 在下方插入新单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;X : 剪切选中的单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C : 复制选中的单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-V : 粘贴到上方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;V : 粘贴到下方单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Z : 恢复删除的最后一个单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;D,D : 删除选中的单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-M : 合并选中的单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-S : 文件存盘
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;S : 文件存盘
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;L : 转换行号
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;O : 转换输出
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-O : 转换输出滚动
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Esc : 关闭页面
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Q : 关闭页面
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;H : 显示快捷键帮助
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;I,I : 中断Notebook内核
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;0,0 : 重启Notebook内核
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift : 忽略
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-Space : 向上滚动
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Space : 向下滚动
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;编辑模式 ( Enter 键启动)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Tab : 代码补全或缩进
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-Tab : 提示
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-] : 缩进
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-[ : 解除缩进
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-A : 全选
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Z : 复原
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Shift-Z : 再做
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Y : 再做
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Home : 跳到单元开头
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Up : 跳到单元开头
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-End : 跳到单元末尾
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Down : 跳到单元末尾
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Left : 跳到左边一个字首
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Right : 跳到右边一个字首
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Backspace : 删除前面一个字
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Delete : 删除后面一个字
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Esc : 进入命令模式
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-M : 进入命令模式
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift-Enter : 运行本单元，选中下一单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Enter : 运行本单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Alt-Enter : 运行本单元，在下面插入一单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Shift-- : 分割单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-Shift-Subtract : 分割单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ctrl-S : 文件存盘
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shift : 忽略
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Up : 光标上移或转入上一单元
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Down :光标下移或转入下一单元
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>python 計算 執行時間</title><link>https://brian-hsu.github.io/blog/my_share-023/</link><pubDate>Thu, 17 Jun 2021 12:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-023/</guid><description>&lt;h4 id="有時候用秒數計算執行時間"&gt;有時候用秒數計算執行時間&lt;/h4&gt;
&lt;h4 id="測試資料不夠龐大的情況會使結果變成負值"&gt;測試資料不夠龐大的情況會使結果變成負值&lt;/h4&gt;
&lt;h4 id="這時候使用奈秒來看會比較快一些"&gt;這時候使用奈秒來看會比較快一些&lt;/h4&gt;
&lt;h4 id="1秒1000000000-ns-1ns-11000000000s"&gt;1秒=1000000000 (ns), 1(ns) =1／1000000000(s)；&lt;/h4&gt;
&lt;h4 id="來看看-exsample-比較-deque-與-list-的-append-時間花費"&gt;來看看 exsample (比較 deque 與 list 的 append 時間花費)&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#dc322f;font-weight:bold"&gt;from&lt;/span&gt; &lt;span style="color:#268bd2"&gt;collections&lt;/span&gt; &lt;span style="color:#dc322f;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#268bd2"&gt;deque&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#dc322f;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#268bd2"&gt;time&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;d&lt;/span&gt; = &lt;span style="color:#268bd2"&gt;deque&lt;/span&gt;(&lt;span style="color:#cb4b16"&gt;range&lt;/span&gt;(&lt;span style="color:#2aa198;font-weight:bold"&gt;10000000&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;l&lt;/span&gt; = &lt;span style="color:#cb4b16"&gt;list&lt;/span&gt;(&lt;span style="color:#cb4b16"&gt;range&lt;/span&gt;(&lt;span style="color:#2aa198;font-weight:bold"&gt;10000000&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;t1&lt;/span&gt; = &lt;span style="color:#268bd2"&gt;time&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;perf_counter_ns&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;d&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;append&lt;/span&gt;(-&lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#39;deque Spend time(ns):&amp;#39;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;time&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;perf_counter_ns&lt;/span&gt;() - &lt;span style="color:#268bd2"&gt;t1&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;t2&lt;/span&gt; = &lt;span style="color:#268bd2"&gt;time&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;perf_counter_ns&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;l&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;append&lt;/span&gt;(-&lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#39;list Spend time(ns):&amp;#39;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;time&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;perf_counter_ns&lt;/span&gt;() - &lt;span style="color:#268bd2"&gt;t2&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="執行後顯示"&gt;執行後顯示&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deque Spend time(ns): &lt;span style="color:#2aa198;font-weight:bold"&gt;4100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;list Spend time(ns): &lt;span style="color:#2aa198;font-weight:bold"&gt;60945300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="用奈秒來看-可以清楚知道差距"&gt;用奈秒來看 可以清楚知道差距&lt;/h4&gt;
&lt;h4 id="數值越大-花費時間越久"&gt;數值越大 花費時間越久&lt;/h4&gt;</description></item><item><title>取代 python 的 logging</title><link>https://brian-hsu.github.io/blog/my_share-022/</link><pubDate>Thu, 17 Jun 2021 01:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-022/</guid><description>&lt;h4 id="喜歡這款無腦操作的-神logging"&gt;喜歡這款無腦操作的 神logging&lt;/h4&gt;
&lt;h4 id="並且無須變更就很美的-log"&gt;並且無須變更就很美的 log&lt;/h4&gt;
&lt;h4 id="先看看效果"&gt;先看看效果&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#dc322f;font-weight:bold"&gt;from&lt;/span&gt; &lt;span style="color:#268bd2"&gt;loguru&lt;/span&gt; &lt;span style="color:#dc322f;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#268bd2"&gt;logger&lt;/span&gt; &lt;span style="color:#859900"&gt;as&lt;/span&gt; &lt;span style="color:#268bd2"&gt;logur&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;logur&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;debug&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#39;this is debug&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;logur&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;info&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#39;this is info&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;logur&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;warning&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#39;this is warning&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;logur&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;error&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#39;this is error&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;logur&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;critical&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#39;this is critical&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="執行後顯示"&gt;執行後顯示&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://brian-hsu.github.io/images/loguru01.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>Python debug 神器之一</title><link>https://brian-hsu.github.io/blog/my_share-021/</link><pubDate>Wed, 16 Jun 2021 23:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-021/</guid><description>&lt;h4 id="never-use-print-for-debugging-again-真的講得很好"&gt;Never use print for debugging again 真的講得很好~&lt;/h4&gt;
&lt;h4 id="新手最土炮的方法就是在問題之前-print-函式"&gt;新手最土炮的方法就是在問題之前 print 函式&lt;/h4&gt;
&lt;h4 id="有幸可以不再使用-print-真的是很幸福的事"&gt;有幸可以不再使用 print 真的是很幸福的事&lt;/h4&gt;
&lt;h4 id="來看看範例"&gt;來看看範例&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#dc322f;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#268bd2"&gt;pysnooper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;@pysnooper.snoop&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#859900"&gt;def&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict_for2&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt; = {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;2&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;k&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;items&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;key is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;k&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;value is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;v&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="執行後顯示"&gt;執行後顯示&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;Source&lt;/span&gt; &lt;span style="color:#268bd2"&gt;path&lt;/span&gt;:... &lt;span style="color:#268bd2"&gt;U&lt;/span&gt;:/&lt;span style="color:#268bd2"&gt;PY&lt;/span&gt;/&lt;span style="color:#268bd2"&gt;practice&lt;/span&gt;/&lt;span style="color:#268bd2"&gt;for_loop&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;py&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.931199&lt;/span&gt; &lt;span style="color:#268bd2"&gt;call&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;40&lt;/span&gt; &lt;span style="color:#859900"&gt;def&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict_for2&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;42&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;43&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;2&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;44&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;41&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt; = {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;New&lt;/span&gt; &lt;span style="color:#268bd2"&gt;var&lt;/span&gt;:....... &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt; = {&lt;span style="color:#2aa198"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;2&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;47&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;k&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;items&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;New&lt;/span&gt; &lt;span style="color:#268bd2"&gt;var&lt;/span&gt;:....... &lt;span style="color:#268bd2"&gt;k&lt;/span&gt; = &lt;span style="color:#2aa198"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;New&lt;/span&gt; &lt;span style="color:#268bd2"&gt;var&lt;/span&gt;:....... &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; = &lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;48&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;key is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;k&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;49&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;value is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;v&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;47&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;k&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;items&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;Modified&lt;/span&gt; &lt;span style="color:#268bd2"&gt;var&lt;/span&gt;:.. &lt;span style="color:#268bd2"&gt;k&lt;/span&gt; = &lt;span style="color:#2aa198"&gt;&amp;#39;b&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;Modified&lt;/span&gt; &lt;span style="color:#268bd2"&gt;var&lt;/span&gt;:.. &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; = &lt;span style="color:#2aa198;font-weight:bold"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;48&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;key is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;k&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;49&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;value is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;v&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;47&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;k&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;items&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;Modified&lt;/span&gt; &lt;span style="color:#268bd2"&gt;var&lt;/span&gt;:.. &lt;span style="color:#268bd2"&gt;k&lt;/span&gt; = &lt;span style="color:#2aa198"&gt;&amp;#39;c&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;Modified&lt;/span&gt; &lt;span style="color:#268bd2"&gt;var&lt;/span&gt;:.. &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; = &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;48&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;key is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;k&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;49&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;value is : &lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;v&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;47&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;k&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;items&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#2aa198;font-weight:bold"&gt;23&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;32&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;44.932198&lt;/span&gt; &lt;span style="color:#859900"&gt;return&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;47&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;k&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;v&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;dict1&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;items&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;Return&lt;/span&gt; &lt;span style="color:#268bd2"&gt;value&lt;/span&gt;:.. &lt;span style="color:#859900;font-weight:bold"&gt;None&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;Elapsed&lt;/span&gt; &lt;span style="color:#268bd2"&gt;time&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;00&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;00&lt;/span&gt;:&lt;span style="color:#2aa198;font-weight:bold"&gt;00.000999&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;key&lt;/span&gt; &lt;span style="color:#859900"&gt;is&lt;/span&gt; : &lt;span style="color:#268bd2"&gt;a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;value&lt;/span&gt; &lt;span style="color:#859900"&gt;is&lt;/span&gt; : &lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;key&lt;/span&gt; &lt;span style="color:#859900"&gt;is&lt;/span&gt; : &lt;span style="color:#268bd2"&gt;b&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;value&lt;/span&gt; &lt;span style="color:#859900"&gt;is&lt;/span&gt; : &lt;span style="color:#2aa198;font-weight:bold"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;key&lt;/span&gt; &lt;span style="color:#859900"&gt;is&lt;/span&gt; : &lt;span style="color:#268bd2"&gt;c&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;value&lt;/span&gt; &lt;span style="color:#859900"&gt;is&lt;/span&gt; : &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="還有給-elapsed-time"&gt;還有給 Elapsed time&lt;/h4&gt;
&lt;h4 id="其實有點像-shell-script-的--x-方法"&gt;其實有點像 shell script 的 -x 方法&lt;/h4&gt;
&lt;h4 id="真心推薦"&gt;真心推薦~&lt;/h4&gt;</description></item><item><title>Python trace 神器之一</title><link>https://brian-hsu.github.io/blog/my_share-020/</link><pubDate>Wed, 16 Jun 2021 20:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-020/</guid><description>&lt;h4 id="遇到-exception-但不知道哪邊或是-root-cause"&gt;遇到 Exception 但不知道哪邊或是 root cause&lt;/h4&gt;
&lt;h4 id="發現-stackprinter-真的是很棒"&gt;發現 stackprinter 真的是很棒&lt;/h4&gt;
&lt;h4 id="來看看範例"&gt;來看看範例&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#dc322f;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#859900"&gt;try&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#859900"&gt;except&lt;/span&gt; &lt;span style="color:#268bd2"&gt;Exception&lt;/span&gt; &lt;span style="color:#859900"&gt;as&lt;/span&gt; &lt;span style="color:#268bd2"&gt;e&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;e&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;show&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="執行後顯示"&gt;執行後顯示&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;unsupported&lt;/span&gt; &lt;span style="color:#268bd2"&gt;operand&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;type&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;s&lt;/span&gt;) &lt;span style="color:#859900"&gt;for&lt;/span&gt; %: &lt;span style="color:#2aa198"&gt;&amp;#39;int&amp;#39;&lt;/span&gt; &lt;span style="color:#859900"&gt;and&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;str&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;File&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#34;U:/PY/practice/exception.py&amp;#34;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;12&lt;/span&gt;, &lt;span style="color:#859900"&gt;in&lt;/span&gt; &amp;lt;&lt;span style="color:#268bd2"&gt;module&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt; &lt;span style="color:#93a1a1;font-style:italic"&gt;# with stackprinter.TracePrinter(style=&amp;#39;darkbg2&amp;#39;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#93a1a1;font-style:italic"&gt;# b = [i for i in a if 100 % i == 0]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;11&lt;/span&gt; &lt;span style="color:#859900"&gt;try&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--&amp;gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;12&lt;/span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;13&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;File&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#34;U:/PY/practice/exception.py&amp;#34;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;12&lt;/span&gt;, &lt;span style="color:#859900"&gt;in&lt;/span&gt; &amp;lt;&lt;span style="color:#268bd2"&gt;listcomp&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt; &lt;span style="color:#93a1a1;font-style:italic"&gt;# with stackprinter.TracePrinter(style=&amp;#39;darkbg2&amp;#39;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#93a1a1;font-style:italic"&gt;# b = [i for i in a if 100 % i == 0]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;11&lt;/span&gt; &lt;span style="color:#859900"&gt;try&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--&amp;gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;12&lt;/span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;13&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; = &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;TypeError&lt;/span&gt;: &lt;span style="color:#268bd2"&gt;unsupported&lt;/span&gt; &lt;span style="color:#268bd2"&gt;operand&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;type&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;s&lt;/span&gt;) &lt;span style="color:#859900"&gt;for&lt;/span&gt; %: &lt;span style="color:#2aa198"&gt;&amp;#39;int&amp;#39;&lt;/span&gt; &lt;span style="color:#859900"&gt;and&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;str&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="如果-還沒-try-except-更推薦用"&gt;如果 還沒 try except 更推薦用&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#859900"&gt;with&lt;/span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;style&lt;/span&gt;=&lt;span style="color:#2aa198"&gt;&amp;#39;darkbg2&amp;#39;&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;something&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="結果顯示如下-雖然有點攏長但是色彩很棒"&gt;結果顯示如下 (雖然有點攏長，但是色彩很棒~)&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;File&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#34;U:/PY/practice\exception.py&amp;#34;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#859900"&gt;in&lt;/span&gt; &amp;lt;&lt;span style="color:#268bd2"&gt;module&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;5&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;6&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;7&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt; &lt;span style="color:#859900"&gt;with&lt;/span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;style&lt;/span&gt;=&lt;span style="color:#2aa198"&gt;&amp;#39;darkbg2&amp;#39;&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--&amp;gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt; = &amp;lt;&lt;span style="color:#859900"&gt;class&lt;/span&gt; &amp;#39;&lt;span style="color:#cb4b16"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;tracing&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#39;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; └──┐
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;File&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#34;U:/PY/practice\exception.py&amp;#34;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#859900"&gt;in&lt;/span&gt; &amp;lt;&lt;span style="color:#268bd2"&gt;listcomp&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;5&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;6&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;7&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt; &lt;span style="color:#859900"&gt;with&lt;/span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;style&lt;/span&gt;=&lt;span style="color:#2aa198"&gt;&amp;#39;darkbg2&amp;#39;&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --&amp;gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt; = &amp;lt;&lt;span style="color:#859900"&gt;class&lt;/span&gt; &amp;#39;&lt;span style="color:#cb4b16"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;tracing&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#39;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;File&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#34;U:/PY/practice\exception.py&amp;#34;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#859900"&gt;in&lt;/span&gt; &amp;lt;&lt;span style="color:#268bd2"&gt;listcomp&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;5&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;6&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;7&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt; &lt;span style="color:#859900"&gt;with&lt;/span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;style&lt;/span&gt;=&lt;span style="color:#2aa198"&gt;&amp;#39;darkbg2&amp;#39;&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --&amp;gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt; = &amp;lt;&lt;span style="color:#859900"&gt;class&lt;/span&gt; &amp;#39;&lt;span style="color:#cb4b16"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;tracing&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#39;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; = &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;TypeError&lt;/span&gt;: &lt;span style="color:#268bd2"&gt;unsupported&lt;/span&gt; &lt;span style="color:#268bd2"&gt;operand&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;type&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;s&lt;/span&gt;) &lt;span style="color:#859900"&gt;for&lt;/span&gt; %: &lt;span style="color:#2aa198"&gt;&amp;#39;int&amp;#39;&lt;/span&gt; &lt;span style="color:#859900"&gt;and&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;str&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;File&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#34;U:/PY/practice\exception.py&amp;#34;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#859900"&gt;in&lt;/span&gt; &amp;lt;&lt;span style="color:#268bd2"&gt;module&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;5&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;6&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;7&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt; &lt;span style="color:#859900"&gt;with&lt;/span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;style&lt;/span&gt;=&lt;span style="color:#2aa198"&gt;&amp;#39;darkbg2&amp;#39;&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--&amp;gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt; = &amp;lt;&lt;span style="color:#859900"&gt;class&lt;/span&gt; &amp;#39;&lt;span style="color:#cb4b16"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;tracing&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#39;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;File&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#34;U:/PY/practice\exception.py&amp;#34;&lt;/span&gt;, &lt;span style="color:#268bd2"&gt;line&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#859900"&gt;in&lt;/span&gt; &amp;lt;&lt;span style="color:#268bd2"&gt;listcomp&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;5&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;6&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;7&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt; &lt;span style="color:#859900"&gt;with&lt;/span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;style&lt;/span&gt;=&lt;span style="color:#2aa198"&gt;&amp;#39;darkbg2&amp;#39;&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--&amp;gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#268bd2"&gt;b&lt;/span&gt; = [&lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;for&lt;/span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; &lt;span style="color:#859900"&gt;in&lt;/span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;100&lt;/span&gt; % &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; == &lt;span style="color:#2aa198;font-weight:bold"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;a&lt;/span&gt; = [&lt;span style="color:#2aa198;font-weight:bold"&gt;10&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;4&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;9&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt; = &amp;lt;&lt;span style="color:#859900"&gt;class&lt;/span&gt; &amp;#39;&lt;span style="color:#cb4b16"&gt;stackprinter&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;tracing&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;TracePrinter&lt;/span&gt;&lt;span style="color:#2aa198"&gt;&amp;#39;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#268bd2"&gt;i&lt;/span&gt; = &lt;span style="color:#2aa198"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ..................................................
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;TypeError&lt;/span&gt;: &lt;span style="color:#268bd2"&gt;unsupported&lt;/span&gt; &lt;span style="color:#268bd2"&gt;operand&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;type&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;s&lt;/span&gt;) &lt;span style="color:#859900"&gt;for&lt;/span&gt; %: &lt;span style="color:#2aa198"&gt;&amp;#39;int&amp;#39;&lt;/span&gt; &lt;span style="color:#859900"&gt;and&lt;/span&gt; &lt;span style="color:#2aa198"&gt;&amp;#39;str&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Python 常用 函式 isinstance</title><link>https://brian-hsu.github.io/blog/my_share-019/</link><pubDate>Mon, 14 Jun 2021 23:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-019/</guid><description>&lt;h4 id="在不知道這個函式之前判斷變數為-int-就得自己寫定義"&gt;在不知道這個函式之前,判斷變數為 int 就得自己寫定義&lt;/h4&gt;
&lt;h4 id="發現了-isinstance-這個函式後-判斷變數值非常簡單"&gt;發現了 isinstance 這個函式後, 判斷變數值非常簡單&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#859900"&gt;def&lt;/span&gt; &lt;span style="color:#268bd2"&gt;it_isinstance&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#859900"&gt;if&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;isinstance&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;, &lt;span style="color:#cb4b16"&gt;int&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt; is Int&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#859900"&gt;elif&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;isinstance&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;, &lt;span style="color:#cb4b16"&gt;str&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt; is Str&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#859900"&gt;elif&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;isinstance&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;, &lt;span style="color:#cb4b16"&gt;list&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt; is List&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#859900"&gt;elif&lt;/span&gt; &lt;span style="color:#cb4b16"&gt;isinstance&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;, &lt;span style="color:#cb4b16"&gt;dict&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt; is Dict&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#859900"&gt;else&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cb4b16"&gt;print&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#2aa198"&gt;{}&lt;/span&gt;&lt;span style="color:#2aa198"&gt; is Unknown&amp;#34;&lt;/span&gt;.&lt;span style="color:#268bd2"&gt;format&lt;/span&gt;(&lt;span style="color:#268bd2"&gt;x&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;it_isinstance&lt;/span&gt;(&lt;span style="color:#2aa198;font-weight:bold"&gt;8&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;it_isinstance&lt;/span&gt;(&lt;span style="color:#2aa198"&gt;&amp;#34;Hi&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;it_isinstance&lt;/span&gt;([&lt;span style="color:#2aa198"&gt;&amp;#39;l&amp;#39;&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;i&amp;#39;&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;, &lt;span style="color:#2aa198"&gt;&amp;#39;t&amp;#39;&lt;/span&gt;])
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;it_isinstance&lt;/span&gt;({&lt;span style="color:#2aa198"&gt;&amp;#39;d&amp;#39;&lt;/span&gt;: &lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;})
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#268bd2"&gt;it_isinstance&lt;/span&gt;((&lt;span style="color:#2aa198;font-weight:bold"&gt;1&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;2&lt;/span&gt;, &lt;span style="color:#2aa198;font-weight:bold"&gt;3&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#93a1a1;font-style:italic"&gt;## 8 is Int&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#93a1a1;font-style:italic"&gt;## Hi is Str&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#93a1a1;font-style:italic"&gt;## [&amp;#39;l&amp;#39;, &amp;#39;i&amp;#39;, &amp;#39;s&amp;#39;, &amp;#39;t&amp;#39;] is List&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#93a1a1;font-style:italic"&gt;## {&amp;#39;d&amp;#39;: 1} is Dict&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#93a1a1;font-style:italic"&gt;## (1, 2, 3) is Unknown&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>PyCharm 設定</title><link>https://brian-hsu.github.io/blog/my_share-006/</link><pubDate>Fri, 04 Jun 2021 22:40:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-006/</guid><description>&lt;p&gt;在 PyCharm 的 &lt;code&gt;File&lt;/code&gt; =&amp;gt; &lt;code&gt;Settings&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;打開後 在搜尋欄位 打上 &lt;code&gt;wheels&lt;/code&gt;&lt;/p&gt;</description></item><item><title>RobotFramework with PyCharm</title><link>https://brian-hsu.github.io/blog/my_share-005/</link><pubDate>Fri, 04 Jun 2021 22:40:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-005/</guid><description>&lt;p&gt;之前不知道為什麼，在 Mac 系統 PyCharm 沒灌成功。&lt;/p&gt;
&lt;p&gt;一直以為 PyCharm 不能在 Mac 免費使用。&lt;/p&gt;</description></item></channel></rss>