<?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>Cn-Programming on Hacper&#39;s Blog</title>
    <link>https://hacperme.com/tags/cn-programming/</link>
    <description>Recent content in Cn-Programming on Hacper&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Sun, 26 Aug 2018 15:24:10 +0800</lastBuildDate>
    <atom:link href="https://hacperme.com/tags/cn-programming/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Learn Python with Steem #10 #11 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-26-learn-python-with-steem-10-11-note/</link>
      <pubDate>Sun, 26 Aug 2018 15:24:10 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-26-learn-python-with-steem-10-11-note/</guid>
      <description>Learn Python with Steem #10 #11 笔记 [toc] 划重点 获取用户的文章列表 通过 steem.Steem.get_account_history 获取用户的动态，从中筛选出文章的 permlink。 再用 steem.Steem.get_content 方法获取每篇文章的详细信息。 其实也可</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-10-11-笔记">Learn Python with Steem #10 #11 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>获取用户的文章列表 通过 steem.Steem.get_account_history 获取用户的动态，从中筛选出文章的 permlink。</p>
<p>再用 steem.Steem.get_content 方法获取每篇文章的详细信息。</p>
<p>其实也可以用 steem.blog.Blog 获取用户所有的文章信息。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<p>导入需要的Python包</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">csv</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">pymongo</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timezone</span><span class="p">,</span> <span class="n">timedelta</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">steem.blog</span> <span class="kn">import</span> <span class="n">Blog</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">pprint</span> <span class="kn">import</span> <span class="n">pprint</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">math</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义一个日期转换函数</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">date_2_local_date</span><span class="p">(</span><span class="n">_utcdate</span><span class="p">,</span> <span class="n">_timedelta</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">utc_date</span> <span class="o">=</span> <span class="n">_utcdate</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">utc_date</span><span class="o">.</span><span class="n">astimezone</span><span class="p">(</span><span class="n">timezone</span><span class="p">(</span><span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="n">_timedelta</span><span class="p">)))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义计算声望的函数</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">parse_reputation</span><span class="p">(</span><span class="n">raw_reputation</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">raw_reputation</span><span class="p">))</span> <span class="o">-</span> <span class="mi">9</span><span class="p">)</span> <span class="o">*</span> <span class="mi">9</span> <span class="o">+</span> <span class="mi">25</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义获取文章详情的函数，返回字典类型的数据</p>
<p><img loading="lazy" src="https://i.loli.net/2018/08/26/5b825040a0e76.jpg" alt="blob.jpg"  />
</p>
<p>定义获取用户所有文章的函数，返回字典</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">get_user_posts</span><span class="p">(</span><span class="n">account_name</span><span class="o">=</span><span class="s1">&#39;yjcps&#39;</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">blog</span> <span class="o">=</span> <span class="n">Blog</span><span class="p">(</span><span class="n">account_name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">all_data</span> <span class="o">=</span> <span class="n">blog</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="n">posts</span> <span class="o">=</span> <span class="p">[</span><span class="n">get_post_detail</span><span class="p">(</span><span class="n">post</span><span class="p">)</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">all_data</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;account_name&#39;</span><span class="p">:</span><span class="n">account_name</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;count_posts&#39;</span><span class="p">:</span><span class="nb">len</span><span class="p">(</span><span class="n">posts</span><span class="p">),</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;posts&#39;</span><span class="p">:</span><span class="n">posts</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>保存所有文章数据为CSV文件</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">save_to_csv</span><span class="p">(</span><span class="n">data</span><span class="p">:</span> <span class="nb">list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">encoding</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">keys</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">,</span> <span class="n">newline</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="n">encoding</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="n">errors</span><span class="o">=</span><span class="s1">&#39;ignore&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">writer</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">DictWriter</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">fieldnames</span><span class="o">=</span><span class="n">keys</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">writer</span><span class="o">.</span><span class="n">writeheader</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">        <span class="n">writer</span><span class="o">.</span><span class="n">writerows</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>将数据导入到 MongoDB 数据库</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 配置数据库连接信息</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">MONGO_HOST</span> <span class="o">=</span> <span class="s1">&#39;localhost&#39;</span>
</span></span><span class="line"><span class="cl"><span class="n">MONGO_COLLECTION</span> <span class="o">=</span> <span class="s1">&#39;steem&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">mongo_client</span> <span class="o">=</span> <span class="n">pymongo</span><span class="o">.</span><span class="n">MongoClient</span><span class="p">(</span><span class="n">MONGO_HOST</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">mongo_collection</span> <span class="o">=</span> <span class="n">mongo_client</span><span class="p">[</span><span class="n">MONGO_COLLECTION</span><span class="p">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">save_to_mongodb</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">tablename</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">data</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">            <span class="n">result</span> <span class="o">=</span> <span class="n">mongo_collection</span><span class="p">[</span><span class="n">tablename</span><span class="p">]</span><span class="o">.</span><span class="n">insert_many</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">            <span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">acknowledged</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;已导入</span><span class="si">%d</span><span class="s1">条数据&#39;</span> <span class="o">%</span> <span class="nb">len</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">inserted_ids</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">                <span class="k">return</span> <span class="n">result</span><span class="o">.</span><span class="n">inserted_ids</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">            <span class="k">if</span> <span class="n">mongo_collection</span><span class="p">[</span><span class="n">tablename</span><span class="p">]</span><span class="o">.</span><span class="n">update_one</span><span class="p">({</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;account_name&#39;</span><span class="p">:</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;account_name&#39;</span><span class="p">)},</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;$set&#39;</span><span class="p">:</span> <span class="n">data</span><span class="p">},</span> <span class="n">upsert</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;已导入</span><span class="si">%s</span><span class="s1">的数据&#39;</span> <span class="o">%</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;account_name&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">                <span class="k">return</span> <span class="kc">True</span>
</span></span><span class="line"><span class="cl">    <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="kc">None</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">yjcps</span> <span class="o">=</span> <span class="n">get_user_posts</span><span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 查看返回的数据</span>
</span></span><span class="line"><span class="cl"><span class="n">pprint</span><span class="p">(</span><span class="n">yjcps</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"><span class="p">{</span><span class="s1">&#39;account_name&#39;</span><span class="p">:</span> <span class="s1">&#39;yjcps&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="s1">&#39;count_posts&#39;</span><span class="p">:</span> <span class="mi">35</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="s1">&#39;posts&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;active&#39;</span><span class="p">:</span> <span class="s1">&#39;2018-08-23 11:32:18&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;active_voter&#39;</span><span class="p">:</span> <span class="s1">&#39;steempress,justyy,happyukgo,doraemon,superbing,dailystats,cryptocurrencyhk,jianan,steemtaker,cnbuddy,anxin,foodielifestyle,woolfe19861008,dailychina,yjcps,dongfengman,serenazz,shentrading,ethanlee,fanso,lilypang22,steempress-io,sweet-jenny8,shine.wong,turtlegraphics,regretfulwooden,witnesstools,happyfamily,ilovecoding&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;author&#39;</span><span class="p">:</span> <span class="s1">&#39;yjcps&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;author_reputation&#39;</span><span class="p">:</span> <span class="mf">51.616714372034224</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;body&#39;</span><span class="p">:</span> <span class="s1">&#39;# Learn Python with Steem #09 笔记</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;---</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;[toc]</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;## 划重点</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;- 遍历字典</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39; 利用dict.items()方法，用一个循环语句遍历整个字典的所有元素。</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                <span class="o">...</span>
</span></span><span class="line"><span class="cl">                <span class="o">...</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;last_post_date&#39;: &#39;2018-08-16-Thu 20:57:21&#39;,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;post_count&#39;: 5926,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;reputation&#39;: 67.26589131476406,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;sbd_balance&#39;: &#39;30.081 SBD&#39;,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;sp&#39;: 5186.613554620994,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;vesting_shares&#39;: 10501691.705077,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;vot</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><strong>limit_output extension: Maximum message size of 9996 exceeded with 57914 characters</strong></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">file_path</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">_all_posts_</span><span class="si">{}</span><span class="s1">.csv&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;account_name&#39;</span><span class="p">],</span> <span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;count_posts&#39;</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 保存数据为CSV文件，方便在Windows的Excel软件打开，选择编码为gbk,这样会丢弃不能编码的字符</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 可以选择utf-8编码，但需要从Excel中手动导入数据</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 如果日后编程需要取用，建议使用utf-8编码</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">save_to_csv</span><span class="p">(</span><span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">],</span> <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;gbk&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>哈哈，我的所有文章数据，放到Excel里打开</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmaydqUDiVJ1bi4ttWA4d461d8FPEvZKRnhdvh7SwQibp2" alt="图片.png"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1">#保存到数据库</span>
</span></span><span class="line"><span class="cl"><span class="n">save_to_mongodb</span><span class="p">(</span><span class="n">yjcps</span><span class="p">,</span> <span class="s1">&#39;steem_posts&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">已导入yjcps的数据
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">True
</span></span></code></pre></td></tr></table>
</div>
</div><p>成功保存到数据库</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmdLm5AbaDjCT3bi2WM1ZdYnZDXM42brf7i7Tw5xfUgSXa" alt="图片.png"  />
</p>
<p>取大鹏的数据看看</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dapeng</span> <span class="o">=</span> <span class="n">get_user_posts</span><span class="p">(</span><span class="s1">&#39;dapeng&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">file_path</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">_all_posts_</span><span class="si">{}</span><span class="s1">.csv&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;account_name&#39;</span><span class="p">],</span> <span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;count_posts&#39;</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_csv</span><span class="p">(</span><span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">],</span> <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;gbk&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_mongodb</span><span class="p">(</span><span class="n">dapeng</span><span class="p">,</span> <span class="s1">&#39;steem_posts&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">已导入dapeng的数据
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">True
</span></span></code></pre></td></tr></table>
</div>
</div><p>花了5分钟来获取大鹏的所有文章数据，一共497篇文章，难怪要等那么久，以后从数据库获取数据会快一点。<br>
<img loading="lazy" src="https://ipfs.busy.org/ipfs/QmZrzqgxVMNaH6WYQNCjmk84VxW82eUZLq2fiqyeWDfYGa" alt="图片.png"  />
</p>
<p>再看看刘美女的文章</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">deanliu</span> <span class="o">=</span> <span class="n">get_user_posts</span><span class="p">(</span><span class="s1">&#39;deanliu&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">WARNING:root:Retry in 1s -- RPCErrorRecoverable: non-200 response: 502 from api.steemit.com
</span></span><span class="line"><span class="cl">WARNING:root:Retry in 1s -- RPCErrorRecoverable: non-200 response: 502 from api.steemit.com
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">file_path</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">_all_posts_</span><span class="si">{}</span><span class="s1">.csv&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;account_name&#39;</span><span class="p">],</span> <span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;count_posts&#39;</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_csv</span><span class="p">(</span><span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">],</span> <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;gbk&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_mongodb</span><span class="p">(</span><span class="n">deanliu</span><span class="p">,</span> <span class="s1">&#39;steem_posts&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">已导入deanliu的数据
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">True
</span></span></code></pre></td></tr></table>
</div>
</div><p>获取刘美女的所有文章花了11分钟，一共878篇文章，高产作家！</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmewjLTJARvyjez2PBUfBNW8RGAv2SFEV9xKH6kRJki1im" alt="图片.png"  />
</p>
<p>也成功保存了CSV文件。</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/Qmctf4Rd5i7Ksd6nacdLGouPuMqNCPLzdNtwSBpJRkjtbv" alt="图片.png"  />
</p>
<h2 id="补充">补充</h2>
<h3 id="为所有文章生成词云图片">为所有文章生成词云图片</h3>
<p>导入需要的Python包</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">jieba.analyse</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">PIL.Image</span> <span class="k">as</span> <span class="nn">Image</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">re</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">Counter</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">wordcloud</span> <span class="kn">import</span> <span class="n">WordCloud</span><span class="p">,</span> <span class="n">ImageColorGenerator</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义一个清理文章的函数，只保留中文</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 去除所有半角全角符号，只留字母、数字、中文。</span>
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">clean_text</span><span class="p">(</span><span class="n">text</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="c1"># rule = re.compile(r&#34;[^a-zA-Z0-9\u4e00-\u9fa5]&#34;)</span>
</span></span><span class="line"><span class="cl">    <span class="n">rule</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">u</span><span class="s2">&#34;[^</span><span class="se">\u4e00</span><span class="s2">-</span><span class="se">\u9fa5</span><span class="s2">]&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">text</span> <span class="o">=</span> <span class="n">rule</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">text</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>为文章分词，并统计每个关键词的频率</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">get_tag</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">cnt</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">re_text</span> <span class="o">=</span> <span class="n">clean_text</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">tag_list</span> <span class="o">=</span> <span class="n">jieba</span><span class="o">.</span><span class="n">analyse</span><span class="o">.</span><span class="n">extract_tags</span><span class="p">(</span><span class="n">re_text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">tag</span> <span class="ow">in</span> <span class="n">tag_list</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">cnt</span><span class="p">[</span><span class="n">tag</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 取出所有文章，放到一个列表里面</span>
</span></span><span class="line"><span class="cl"><span class="n">yjcps_all_post</span> <span class="o">=</span> <span class="p">[</span><span class="n">post</span><span class="p">[</span><span class="s1">&#39;body&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://i.loli.net/2018/08/26/5b8251cb9ad9f.jpg" alt="blob.jpg"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 获取词频</span>
</span></span><span class="line"><span class="cl"><span class="n">yjcps_post_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">yjcps_all_post</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">get_tag</span><span class="p">(</span><span class="n">post</span><span class="p">,</span> <span class="n">yjcps_post_counter</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://i.loli.net/2018/08/26/5b8252a46a0a8.jpg" alt="blob.jpg"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 画词云图</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 指定中文字体</span>
</span></span><span class="line"><span class="cl"><span class="n">font</span> <span class="o">=</span> <span class="s1">&#39;DroidSansFallbackFull.ttf&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span> <span class="o">=</span> <span class="n">WordCloud</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">    <span class="n">font_path</span><span class="o">=</span><span class="n">font</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">background_color</span><span class="o">=</span><span class="s2">&#34;white&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_words</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_font_size</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">height</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">yjcps_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">&#34;none&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&#34;off&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmSnhL64GwH659dkCz33vtU7cJ4gTTxkUceMDmi9JEEcdm" alt="output_49_0.png"  />
</p>
<p>再来看看大鹏的文章关键词</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dapeng_all_post</span> <span class="o">=</span> <span class="p">[</span><span class="n">post</span><span class="p">[</span><span class="s1">&#39;body&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 获取词频</span>
</span></span><span class="line"><span class="cl"><span class="n">dapeng_post_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">dapeng_all_post</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">get_tag</span><span class="p">(</span><span class="n">post</span><span class="p">,</span> <span class="n">dapeng_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 画词云图</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 指定中文字体</span>
</span></span><span class="line"><span class="cl"><span class="n">font</span> <span class="o">=</span> <span class="s1">&#39;DroidSansFallbackFull.ttf&#39;</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 指定背景图片</span>
</span></span><span class="line"><span class="cl"><span class="n">bg_image</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">&#34;steemit.png&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span> <span class="o">=</span> <span class="n">WordCloud</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">    <span class="n">font_path</span><span class="o">=</span><span class="n">font</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">background_color</span><span class="o">=</span><span class="s2">&#34;white&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_words</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_font_size</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">mask</span><span class="o">=</span><span class="n">bg_image</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">dapeng_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">&#34;none&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&#34;off&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmSBS9E34jn7FNWPmsVVf66mDwZA1atCsbc9nfG6wXjVuK" alt="output_51_0.png"  />
</p>
<p>同样的，再看看刘美女的关键词</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">deanliu_all_post</span> <span class="o">=</span> <span class="p">[</span><span class="n">post</span><span class="p">[</span><span class="s1">&#39;body&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 获取词频</span>
</span></span><span class="line"><span class="cl"><span class="n">deanliu_post_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">deanliu_all_post</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">get_tag</span><span class="p">(</span><span class="n">post</span><span class="p">,</span> <span class="n">deanliu_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 画词云图</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 指定中文字体</span>
</span></span><span class="line"><span class="cl"><span class="n">font</span> <span class="o">=</span> <span class="s1">&#39;DroidSansFallbackFull.ttf&#39;</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 指定背景图片</span>
</span></span><span class="line"><span class="cl"><span class="n">bg_image</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">&#34;steemit2.png&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 取图片的颜色作为绘制词云图片的颜色</span>
</span></span><span class="line"><span class="cl"><span class="n">image_colors</span> <span class="o">=</span> <span class="n">ImageColorGenerator</span><span class="p">(</span><span class="n">bg_image</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span> <span class="o">=</span> <span class="n">WordCloud</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">    <span class="n">font_path</span><span class="o">=</span><span class="n">font</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">background_color</span><span class="o">=</span><span class="s2">&#34;white&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_words</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_font_size</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">mask</span><span class="o">=</span><span class="n">bg_image</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">deanliu_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="o">.</span><span class="n">recolor</span><span class="p">(</span><span class="n">color_func</span><span class="o">=</span><span class="n">image_colors</span><span class="p">),</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">&#34;none&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&#34;off&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmXPLkMGXEEyud9C5qEkz7aphGH1gYX6dukfEa77HXpRvq" alt="output_53_0.png"  />
</p>
<h3 id="绘制发帖时间图">绘制发帖时间图</h3>
<p>导入Python包</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">windrose</span> <span class="kn">import</span> <span class="n">WindroseAxes</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 获取发帖时间,返回小时，获取的时间已处理为北京时间</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">get_post_time</span><span class="p">(</span><span class="n">account</span><span class="p">:</span><span class="nb">dict</span><span class="p">,</span> <span class="n">_type</span><span class="p">:</span><span class="nb">str</span><span class="o">=</span><span class="s1">&#39;created&#39;</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">list</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">posts</span> <span class="o">=</span> <span class="n">account</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="n">time_format</span> <span class="o">=</span> <span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span>
</span></span><span class="line"><span class="cl">    <span class="n">posts_time</span> <span class="o">=</span> <span class="p">[</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">post</span><span class="p">[</span><span class="n">_type</span><span class="p">],</span> <span class="n">time_format</span><span class="p">)</span>  <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">posts</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="n">hours</span> <span class="o">=</span> <span class="p">[</span><span class="n">time</span><span class="o">.</span><span class="n">hour</span> <span class="k">for</span> <span class="n">time</span> <span class="ow">in</span> <span class="n">posts_time</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">hours</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">yjcps_post_time</span> <span class="o">=</span> <span class="n">get_post_time</span><span class="p">(</span><span class="n">yjcps</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">dapeng_post_time</span> <span class="o">=</span> <span class="n">get_post_time</span><span class="p">(</span><span class="n">dapeng</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">deanliu_post_time</span> <span class="o">=</span> <span class="n">get_post_time</span><span class="p">(</span><span class="n">deanliu</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 我所有的发帖时间</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">yjcps_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>[15, 6, 7, 6, 6, 6, 14, 7, 22, 7, 10, 0, 12, 20, 20, 19, 13, 0, 21, 18, 11, 11, 12, 1, 18, 15, 13, 12, 14, 11, 0, 0, 23, 18, 21, 15]</p>
<p>绘制我的发帖时间图</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">make_time_image</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">colors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">&#39;white&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">ws</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">time</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">wd</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">time</span><span class="p">)</span> <span class="o">/</span> <span class="mi">24</span> <span class="o">*</span> <span class="mi">360</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 统计各时间次数</span>
</span></span><span class="line"><span class="cl">    <span class="n">count</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">bins</span><span class="o">=</span><span class="mi">24</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">colors</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">pass</span>
</span></span><span class="line"><span class="cl">    <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">colors</span> <span class="o">=</span> <span class="p">[(</span><span class="mi">94</span><span class="o">/</span><span class="mi">255</span><span class="p">,</span> <span class="mi">79</span><span class="o">/</span><span class="mi">255</span><span class="p">,</span> <span class="mi">162</span><span class="o">/</span><span class="mi">255</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 画图</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span> <span class="o">=</span> <span class="n">WindroseAxes</span><span class="o">.</span><span class="n">from_ax</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span><span class="n">wd</span><span class="p">,</span> <span class="n">ws</span><span class="p">,</span> <span class="n">nsector</span><span class="o">=</span><span class="mi">24</span><span class="p">,</span> <span class="n">normed</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">colors</span><span class="o">=</span><span class="n">colors</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">           <span class="n">bins</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="n">edgecolor</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">xticklabels</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;6:00&#39;</span><span class="p">,</span> <span class="s1">&#39;3:00&#39;</span><span class="p">,</span> <span class="s1">&#39;0:00&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                   <span class="s1">&#39;21:00&#39;</span><span class="p">,</span> <span class="s1">&#39;18:00&#39;</span><span class="p">,</span> <span class="s1">&#39;15:00&#39;</span><span class="p">,</span> <span class="s1">&#39;12:00&#39;</span><span class="p">,</span> <span class="s1">&#39;9:00&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 获取最大极径</span>
</span></span><span class="line"><span class="cl">    <span class="n">rmax</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">get_rmax</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="n">fmt</span> <span class="o">=</span> <span class="s2">&#34;</span><span class="si">%.1f</span><span class="s2"> &#34;</span>
</span></span><span class="line"><span class="cl">    <span class="n">yticklabels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">rmax</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span> <span class="o">/</span> <span class="n">rmax</span> <span class="o">*</span> <span class="nb">max</span><span class="p">(</span><span class="n">count</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">yticklabels</span> <span class="o">=</span> <span class="p">[</span><span class="n">fmt</span> <span class="o">%</span> <span class="n">r</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">yticklabels</span><span class="p">[</span><span class="mi">1</span><span class="p">:]]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 设置标签</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span><span class="o">.</span><span class="n">set_yticklabels</span><span class="p">(</span><span class="n">yticklabels</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span><span class="o">.</span><span class="n">set_xticklabels</span><span class="p">(</span><span class="n">xticklabels</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 显示</span>
</span></span><span class="line"><span class="cl">    <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">make_time_image</span><span class="p">(</span><span class="n">yjcps_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmfG7R5vdHpxTCeht6ZPRonG7hFwSVeLj1DhTPUjkz1ds2" alt="image.png"  />
</p>
<p>绘制大鹏的发帖时间图</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">make_time_image</span><span class="p">(</span><span class="n">dapeng_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmdhpUktvTV294FJwR4RhgTy1WPFzPp7PSAh9zEUBdDbvv" alt="image.png"  />
</p>
<p>最后绘制刘美女的发帖时间图</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">make_time_image</span><span class="p">(</span><span class="n">deanliu_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmWF8uqYyd1Y1uzBWqm49zuXgu1Y7sDrWhxt8xL38CKt11" alt="image.png"  />
</p>
<p>看到词云图和发帖时间图，大家是否想起了大鹏举办的 “猜猜 TA 是谁” 活动？</p>
<p>猴年马月终于到了， @dapeng @angelina6688 山寨版的用Python画这两个图的方法就在这里了。</p>
<p>期待下个猴年马月， @dapeng 写个正宗的用R画词云图和发帖时间图。</p>
<hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series – Learn Python with Steem #05] 基本資料結構</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-06">[DA series - Learn Python with Steem #06] 函式</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-07">[DA series - Learn Python with Steem #07] 類別</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-08-modules-steem">[DA series - Learn Python with Steem #08] 函式庫(Modules)的安裝與使用，準備好玩Steem！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-09-steem-diy-1-steem">[DA series - Learn Python with Steem #09] Steem 小工具DIY #1 - 我的Steem小偵探</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-10-steem-diy-2">[DA series - Learn Python with Steem #10] Steem 小工具DIY #2 - 我的文章列表（一）</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-11-steem-diy-3">[DA series - Learn Python with Steem #11] Steem 小工具DIY #3 - 我的文章列表（二）</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem06-c0tgbg3puu">Learn Python with Steem #06 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem07-2tx2pvwskh">Learn Python with Steem #07 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem08-5w4cklx91x">Learn Python with Steem #08 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem09-z0dpwgv61i">Learn Python with Steem #09 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #09 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-20-learn-python-with-steem-09-note/</link>
      <pubDate>Mon, 20 Aug 2018 06:00:24 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-20-learn-python-with-steem-09-note/</guid>
      <description>Learn Python with Steem #09 笔记 [toc] 划重点 遍历字典 利用dict.items()方法，用一个循环语句遍历整个字典的所有元素。 转换 Reputation 和 Voting Power 的原始数据 直接获取的某些数</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-09-笔记">Learn Python with Steem #09 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>遍历字典 利用dict.items()方法，用一个循环语句遍历整个字典的所有元素。</p>
</li>
<li>
<p>转换 Reputation 和 Voting Power 的原始数据</p>
<p>直接获取的某些数据是生的，需要煮(转换)一下才能吃。</p>
</li>
<li>
<p>解析时间</p>
<p>使用Python的dateutil和datetime模块来解析和处理时间数据。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">steem</span> <span class="kn">import</span> <span class="n">Steem</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">steem.converter</span> <span class="kn">import</span> <span class="n">Converter</span>
</span></span><span class="line"><span class="cl"><span class="c1"># import sys</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">math</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">dateutil</span> <span class="kn">import</span> <span class="n">parser</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">dateutil.tz</span> <span class="kn">import</span> <span class="o">*</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timezone</span><span class="p">,</span> <span class="n">timedelta</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">pprint</span> <span class="kn">import</span> <span class="n">pprint</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span><span class="lnt">48
</span><span class="lnt">49
</span><span class="lnt">50
</span><span class="lnt">51
</span><span class="lnt">52
</span><span class="lnt">53
</span><span class="lnt">54
</span><span class="lnt">55
</span><span class="lnt">56
</span><span class="lnt">57
</span><span class="lnt">58
</span><span class="lnt">59
</span><span class="lnt">60
</span><span class="lnt">61
</span><span class="lnt">62
</span><span class="lnt">63
</span><span class="lnt">64
</span><span class="lnt">65
</span><span class="lnt">66
</span><span class="lnt">67
</span><span class="lnt">68
</span><span class="lnt">69
</span><span class="lnt">70
</span><span class="lnt">71
</span><span class="lnt">72
</span><span class="lnt">73
</span><span class="lnt">74
</span><span class="lnt">75
</span><span class="lnt">76
</span><span class="lnt">77
</span><span class="lnt">78
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">Steemains</span><span class="p">(</span><span class="n">Steem</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_account_name</span><span class="o">=</span><span class="s1">&#39;yjcps&#39;</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">Steem</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">account_name</span> <span class="o">=</span> <span class="n">_account_name</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_account</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account_name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nd">@property</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">view_account_info</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">post_count</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;post_count&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">balance</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;balance&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">created</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_date</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;created&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">        <span class="n">sbd_balance</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;sbd_balance&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">vesting_shares</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_vests</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;vesting_shares&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">        <span class="n">delegated_vesting_shares</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_vests</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;delegated_vesting_shares&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        <span class="n">converter</span> <span class="o">=</span> <span class="n">Converter</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">        <span class="n">sp</span> <span class="o">=</span> <span class="n">converter</span><span class="o">.</span><span class="n">vests_to_sp</span><span class="p">(</span><span class="n">vesting_shares</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">delegated_sp</span> <span class="o">=</span> <span class="n">converter</span><span class="o">.</span><span class="n">vests_to_sp</span><span class="p">(</span><span class="n">delegated_vesting_shares</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        <span class="n">voting_power</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_voting_power</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;voting_power&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">        <span class="n">reputation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_reputation</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;reputation&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">        <span class="n">last_post_date</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_date</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">account_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;last_root_post&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">        <span class="n">time_since_last_post</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="n">tzinfo</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">)</span> <span class="o">-</span> <span class="n">last_post_date</span>
</span></span><span class="line"><span class="cl">        <span class="n">days_since_last_post</span> <span class="o">=</span> <span class="n">time_since_last_post</span><span class="o">.</span><span class="n">days</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        <span class="c1">#         print(_timedelta)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;account_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">account_name</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;balance&#39;</span><span class="p">:</span> <span class="n">balance</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;created&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">utc_2_local_date</span><span class="p">(</span><span class="n">created</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">                <span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">-</span><span class="si">%a</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">),</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;sbd_balance&#39;</span><span class="p">:</span> <span class="n">sbd_balance</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;vesting_shares&#39;</span><span class="p">:</span> <span class="n">vesting_shares</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;delegated_vesting_shares&#39;</span><span class="p">:</span> <span class="n">delegated_vesting_shares</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;sp&#39;</span><span class="p">:</span> <span class="n">sp</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;delegated_sp&#39;</span><span class="p">:</span> <span class="n">delegated_sp</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;post_count&#39;</span><span class="p">:</span> <span class="n">post_count</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;voting_power&#39;</span><span class="p">:</span> <span class="n">voting_power</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;reputation&#39;</span><span class="p">:</span> <span class="n">reputation</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;last_post_date&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">utc_2_local_date</span><span class="p">(</span><span class="n">last_post_date</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">                <span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">-</span><span class="si">%a</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">),</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;days_since_last_post&#39;</span><span class="p">:</span> <span class="n">days_since_last_post</span>
</span></span><span class="line"><span class="cl">        <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">get_post_histry</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">pass</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nd">@staticmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">utc_2_local_date</span><span class="p">(</span><span class="n">_utcdate</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">_timedelta</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="n">_utcdate</span><span class="o">.</span><span class="n">astimezone</span><span class="p">(</span><span class="n">timezone</span><span class="p">(</span><span class="n">_timedelta</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nd">@staticmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">parse_vests</span><span class="p">(</span><span class="n">_vests</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">_vests</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">0</span><span class="p">])</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nd">@staticmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">parse_voting_power</span><span class="p">(</span><span class="n">voting_power</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">voting_power</span><span class="p">)</span> <span class="o">/</span> <span class="mi">100</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nd">@staticmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">parse_reputation</span><span class="p">(</span><span class="n">raw_reputation</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">raw_reputation</span><span class="p">))</span> <span class="o">-</span> <span class="mi">9</span><span class="p">)</span> <span class="o">*</span> <span class="mi">9</span> <span class="o">+</span> <span class="mi">25</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nd">@staticmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">parse_date</span><span class="p">(</span><span class="n">_date</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">utc_date</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">_date</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="n">utc_date</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">yjcps</span> <span class="o">=</span> <span class="n">Steemains</span><span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">pprint</span><span class="p">(</span><span class="n">yjcps</span><span class="o">.</span><span class="n">view_account_info</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;account_name&#39;: &#39;yjcps&#39;,
</span></span><span class="line"><span class="cl"> &#39;balance&#39;: &#39;0.437 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;created&#39;: &#39;2018-01-04-Thu 13:25:18&#39;,
</span></span><span class="line"><span class="cl"> &#39;days_since_last_post&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;delegated_sp&#39;: 57.07436926020711,
</span></span><span class="line"><span class="cl"> &#39;delegated_vesting_shares&#39;: 115562.393455,
</span></span><span class="line"><span class="cl"> &#39;last_post_date&#39;: &#39;2018-08-19-Sun 07:01:57&#39;,
</span></span><span class="line"><span class="cl"> &#39;post_count&#39;: 261,
</span></span><span class="line"><span class="cl"> &#39;reputation&#39;: 51.49449059489242,
</span></span><span class="line"><span class="cl"> &#39;sbd_balance&#39;: &#39;4.499 SBD&#39;,
</span></span><span class="line"><span class="cl"> &#39;sp&#39;: 121.35204133768676,
</span></span><span class="line"><span class="cl"> &#39;vesting_shares&#39;: 245709.808613,
</span></span><span class="line"><span class="cl"> &#39;voting_power&#39;: 68.73}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">deanliu</span> <span class="o">=</span> <span class="n">Steemains</span><span class="p">(</span><span class="s1">&#39;deanliu&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">pprint</span><span class="p">(</span><span class="n">deanliu</span><span class="o">.</span><span class="n">view_account_info</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">del</span> <span class="n">deanliu</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;account_name&#39;: &#39;deanliu&#39;,
</span></span><span class="line"><span class="cl"> &#39;balance&#39;: &#39;105.649 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;created&#39;: &#39;2016-07-14-Thu 13:56:39&#39;,
</span></span><span class="line"><span class="cl"> &#39;days_since_last_post&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;delegated_sp&#39;: 3028.3048743103254,
</span></span><span class="line"><span class="cl"> &#39;delegated_vesting_shares&#39;: 6131616.465781,
</span></span><span class="line"><span class="cl"> &#39;last_post_date&#39;: &#39;2018-08-19-Sun 11:23:24&#39;,
</span></span><span class="line"><span class="cl"> &#39;post_count&#39;: 9998,
</span></span><span class="line"><span class="cl"> &#39;reputation&#39;: 74.33099682076877,
</span></span><span class="line"><span class="cl"> &#39;sbd_balance&#39;: &#39;189.594 SBD&#39;,
</span></span><span class="line"><span class="cl"> &#39;sp&#39;: 17333.498512941853,
</span></span><span class="line"><span class="cl"> &#39;vesting_shares&#39;: 35096322.630247,
</span></span><span class="line"><span class="cl"> &#39;voting_power&#39;: 55.17}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dapeng</span> <span class="o">=</span> <span class="n">Steemains</span><span class="p">(</span><span class="s1">&#39;dapeng&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">pprint</span><span class="p">(</span><span class="n">dapeng</span><span class="o">.</span><span class="n">view_account_info</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">del</span> <span class="n">dapeng</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;account_name&#39;: &#39;dapeng&#39;,
</span></span><span class="line"><span class="cl"> &#39;balance&#39;: &#39;229.299 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;created&#39;: &#39;2016-10-14-Fri 19:03:39&#39;,
</span></span><span class="line"><span class="cl"> &#39;days_since_last_post&#39;: 2,
</span></span><span class="line"><span class="cl"> &#39;delegated_sp&#39;: 3909.296719340023,
</span></span><span class="line"><span class="cl"> &#39;delegated_vesting_shares&#39;: 7915420.822822,
</span></span><span class="line"><span class="cl"> &#39;last_post_date&#39;: &#39;2018-08-16-Thu 20:57:21&#39;,
</span></span><span class="line"><span class="cl"> &#39;post_count&#39;: 5926,
</span></span><span class="line"><span class="cl"> &#39;reputation&#39;: 67.26589131476406,
</span></span><span class="line"><span class="cl"> &#39;sbd_balance&#39;: &#39;30.081 SBD&#39;,
</span></span><span class="line"><span class="cl"> &#39;sp&#39;: 5186.613554620994,
</span></span><span class="line"><span class="cl"> &#39;vesting_shares&#39;: 10501691.705077,
</span></span><span class="line"><span class="cl"> &#39;voting_power&#39;: 69.86}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">for</span> <span class="n">key</span><span class="p">,</span><span class="n">value</span> <span class="ow">in</span> <span class="n">yjcps</span><span class="o">.</span><span class="n">view_account_info</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">key</span><span class="p">,</span><span class="s1">&#39;:&#39;</span><span class="p">,</span><span class="n">value</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">account_name : yjcps
</span></span><span class="line"><span class="cl">balance : 0.437 STEEM
</span></span><span class="line"><span class="cl">created : 2018-01-04-Thu 13:25:18
</span></span><span class="line"><span class="cl">sbd_balance : 4.499 SBD
</span></span><span class="line"><span class="cl">vesting_shares : 245709.808613
</span></span><span class="line"><span class="cl">delegated_vesting_shares : 115562.393455
</span></span><span class="line"><span class="cl">sp : 121.35205839875916
</span></span><span class="line"><span class="cl">delegated_sp : 57.07437728438151
</span></span><span class="line"><span class="cl">post_count : 261
</span></span><span class="line"><span class="cl">voting_power : 68.73
</span></span><span class="line"><span class="cl">reputation : 51.49449059489242
</span></span><span class="line"><span class="cl">last_post_date : 2018-08-19-Sun 07:01:57
</span></span><span class="line"><span class="cl">days_since_last_post : 0
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">display_message</span> <span class="o">=</span> <span class="s1">&#39;&#39;&#39;
</span></span></span><span class="line"><span class="cl"><span class="s1">Username: </span><span class="se">\t</span><span class="si">{account_name}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">Reputation: </span><span class="se">\t</span><span class="si">{reputation}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">Created:</span><span class="se">\t</span><span class="si">{created}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">Last Post: </span><span class="se">\t</span><span class="si">{last_post_date}</span><span class="s1"> (</span><span class="si">{days_since_last_post}</span><span class="s1"> days ago)
</span></span></span><span class="line"><span class="cl"><span class="s1">===========================================
</span></span></span><span class="line"><span class="cl"><span class="s1">STEEM Balance:</span><span class="se">\t</span><span class="si">{balance}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">SBD Balance:</span><span class="se">\t</span><span class="si">{sbd_balance}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">SP: </span><span class="se">\t\t</span><span class="si">{sp}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">Delegated SP:</span><span class="se">\t</span><span class="si">{delegated_sp}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">Total Posts:</span><span class="se">\t</span><span class="si">{post_count}</span><span class="s1">
</span></span></span><span class="line"><span class="cl"><span class="s1">Voting Power:</span><span class="se">\t</span><span class="si">{voting_power}</span><span class="s1">%
</span></span></span><span class="line"><span class="cl"><span class="s1">&#39;&#39;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="n">yjcps</span><span class="o">.</span><span class="n">view_account_info</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">display_message</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Username:   yjcps
</span></span><span class="line"><span class="cl">Reputation:     51.49449059489242
</span></span><span class="line"><span class="cl">Created:    2018-01-04-Thu 13:25:18
</span></span><span class="line"><span class="cl">Last Post:  2018-08-19-Sun 07:01:57 (0 days ago)
</span></span><span class="line"><span class="cl">===========================================
</span></span><span class="line"><span class="cl">STEEM Balance:  0.437 STEEM
</span></span><span class="line"><span class="cl">SBD Balance:    4.499 SBD
</span></span><span class="line"><span class="cl">SP:         121.35205862624704
</span></span><span class="line"><span class="cl">Delegated SP:   57.07437749836572
</span></span><span class="line"><span class="cl">Total Posts:    261
</span></span><span class="line"><span class="cl">Voting Power:   68.73%
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">pprint</span><span class="p">(</span><span class="n">yjcps</span><span class="o">.</span><span class="n">account_info</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span><span class="lnt">48
</span><span class="lnt">49
</span><span class="lnt">50
</span><span class="lnt">51
</span><span class="lnt">52
</span><span class="lnt">53
</span><span class="lnt">54
</span><span class="lnt">55
</span><span class="lnt">56
</span><span class="lnt">57
</span><span class="lnt">58
</span><span class="lnt">59
</span><span class="lnt">60
</span><span class="lnt">61
</span><span class="lnt">62
</span><span class="lnt">63
</span><span class="lnt">64
</span><span class="lnt">65
</span><span class="lnt">66
</span><span class="lnt">67
</span><span class="lnt">68
</span><span class="lnt">69
</span><span class="lnt">70
</span><span class="lnt">71
</span><span class="lnt">72
</span><span class="lnt">73
</span><span class="lnt">74
</span><span class="lnt">75
</span><span class="lnt">76
</span><span class="lnt">77
</span><span class="lnt">78
</span><span class="lnt">79
</span><span class="lnt">80
</span><span class="lnt">81
</span><span class="lnt">82
</span><span class="lnt">83
</span><span class="lnt">84
</span><span class="lnt">85
</span><span class="lnt">86
</span><span class="lnt">87
</span><span class="lnt">88
</span><span class="lnt">89
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;active&#39;: {&#39;account_auths&#39;: [],
</span></span><span class="line"><span class="cl">            &#39;key_auths&#39;: [[&#39;STM52aJdPyehuxigiDfYngKBL8PSAcESNmYENdaVnwRuKoiP1M9eu&#39;,
</span></span><span class="line"><span class="cl">                           1]],
</span></span><span class="line"><span class="cl">            &#39;weight_threshold&#39;: 1},
</span></span><span class="line"><span class="cl"> &#39;average_bandwidth&#39;: &#39;56831815207&#39;,
</span></span><span class="line"><span class="cl"> &#39;average_market_bandwidth&#39;: 1279817315,
</span></span><span class="line"><span class="cl"> &#39;balance&#39;: &#39;0.437 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;can_vote&#39;: True,
</span></span><span class="line"><span class="cl"> &#39;comment_count&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;created&#39;: &#39;2018-01-04T05:25:18&#39;,
</span></span><span class="line"><span class="cl"> &#39;curation_rewards&#39;: 231,
</span></span><span class="line"><span class="cl"> &#39;delegated_vesting_shares&#39;: &#39;115562.393455 VESTS&#39;,
</span></span><span class="line"><span class="cl"> &#39;guest_bloggers&#39;: [],
</span></span><span class="line"><span class="cl"> &#39;id&#39;: 556829,
</span></span><span class="line"><span class="cl"> &#39;json_metadata&#39;: &#39;{&#34;profile&#34;:{&#34;name&#34;:&#34;hacper&#34;,&#34;profile_image&#34;:&#34;https://s.gravatar.com/avatar/6f1c379a4a2c2190a4aa0921836e98b1?s=80&#34;,&#34;location&#34;:&#34;GuangDong, &#39;
</span></span><span class="line"><span class="cl">                  &#39;China&#34;,&#34;about&#34;:&#34;最好的选择莫过于投资自己，写作是其一！&#34;,&#34;website&#34;:&#34;https://steemit.com/@yjcps&#34;,&#34;cover_image&#34;:&#34;https://cdn.steemitimages.com/DQmTvZbcaXYAcpTAjyNLp4qa9ttMu2Eo5wHSSzTaQSK4tPj/%E5%9B%BE%E7%89%87.png&#34;,&#34;bitcoin&#34;:&#34;123YPnYjJmANKtiBr4DTsGJcncxxu2q6y3&#34;,&#34;ethereum&#34;:&#34;0x50be5c7e721b8e146167dccb35e3c94156e13f58&#34;}}&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_account_recovery&#39;: &#39;1970-01-01T00:00:00&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_account_update&#39;: &#39;2018-08-10T02:42:45&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_bandwidth_update&#39;: &#39;2018-08-19T02:06:15&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_market_bandwidth_update&#39;: &#39;2018-08-16T01:42:00&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_owner_update&#39;: &#39;2018-01-04T14:49:21&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_post&#39;: &#39;2018-08-18T23:01:57&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_root_post&#39;: &#39;2018-08-18T23:01:57&#39;,
</span></span><span class="line"><span class="cl"> &#39;last_vote_time&#39;: &#39;2018-08-19T02:06:15&#39;,
</span></span><span class="line"><span class="cl"> &#39;lifetime_bandwidth&#39;: &#39;615056000000&#39;,
</span></span><span class="line"><span class="cl"> &#39;lifetime_market_bandwidth&#39;: &#39;22160000000&#39;,
</span></span><span class="line"><span class="cl"> &#39;lifetime_vote_count&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;market_history&#39;: [],
</span></span><span class="line"><span class="cl"> &#39;memo_key&#39;: &#39;STM6spBZkmNSe9fccLvsms7bGjSRaE4gsRbTAxNLnEiFHyhP9ww1f&#39;,
</span></span><span class="line"><span class="cl"> &#39;mined&#39;: False,
</span></span><span class="line"><span class="cl"> &#39;name&#39;: &#39;yjcps&#39;,
</span></span><span class="line"><span class="cl"> &#39;next_vesting_withdrawal&#39;: &#39;1969-12-31T23:59:59&#39;,
</span></span><span class="line"><span class="cl"> &#39;other_history&#39;: [],
</span></span><span class="line"><span class="cl"> &#39;owner&#39;: {&#39;account_auths&#39;: [],
</span></span><span class="line"><span class="cl">           &#39;key_auths&#39;: [[&#39;STM5gJExNnQn5aLjpp8cn7nngfYsutN6NCJmKfn9dFgji6fZrHkwH&#39;,
</span></span><span class="line"><span class="cl">                          1]],
</span></span><span class="line"><span class="cl">           &#39;weight_threshold&#39;: 1},
</span></span><span class="line"><span class="cl"> &#39;post_count&#39;: 261,
</span></span><span class="line"><span class="cl"> &#39;post_history&#39;: [],
</span></span><span class="line"><span class="cl"> &#39;posting&#39;: {&#39;account_auths&#39;: [[&#39;busy.app&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;dlive.app&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;dtube.app&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;fundition.app&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;partiko-steemcon&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;smartsteem&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;steemauto&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;steemgg.app&#39;, 1],
</span></span><span class="line"><span class="cl">                               [&#39;steemhunt.com&#39;, 1]],
</span></span><span class="line"><span class="cl">             &#39;key_auths&#39;: [[&#39;STM8bbH2Sfq72PshhVeNpSRQAa4XeiDwTNq4LdY8hxFMZkhfSGZU9&#39;,
</span></span><span class="line"><span class="cl">                            1]],
</span></span><span class="line"><span class="cl">             &#39;weight_threshold&#39;: 1},
</span></span><span class="line"><span class="cl"> &#39;posting_rewards&#39;: 54307,
</span></span><span class="line"><span class="cl"> &#39;proxied_vsf_votes&#39;: [0, 0, 0, 0],
</span></span><span class="line"><span class="cl"> &#39;proxy&#39;: &#39;&#39;,
</span></span><span class="line"><span class="cl"> &#39;received_vesting_shares&#39;: &#39;0.000000 VESTS&#39;,
</span></span><span class="line"><span class="cl"> &#39;recovery_account&#39;: &#39;skenan&#39;,
</span></span><span class="line"><span class="cl"> &#39;reputation&#39;: &#39;878683129879&#39;,
</span></span><span class="line"><span class="cl"> &#39;reset_account&#39;: &#39;null&#39;,
</span></span><span class="line"><span class="cl"> &#39;reward_sbd_balance&#39;: &#39;0.000 SBD&#39;,
</span></span><span class="line"><span class="cl"> &#39;reward_steem_balance&#39;: &#39;0.000 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;reward_vesting_balance&#39;: &#39;0.000000 VESTS&#39;,
</span></span><span class="line"><span class="cl"> &#39;reward_vesting_steem&#39;: &#39;0.000 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;savings_balance&#39;: &#39;0.000 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;savings_sbd_balance&#39;: &#39;0.000 SBD&#39;,
</span></span><span class="line"><span class="cl"> &#39;savings_sbd_last_interest_payment&#39;: &#39;1970-01-01T00:00:00&#39;,
</span></span><span class="line"><span class="cl"> &#39;savings_sbd_seconds&#39;: &#39;0&#39;,
</span></span><span class="line"><span class="cl"> &#39;savings_sbd_seconds_last_update&#39;: &#39;1970-01-01T00:00:00&#39;,
</span></span><span class="line"><span class="cl"> &#39;savings_withdraw_requests&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;sbd_balance&#39;: &#39;4.499 SBD&#39;,
</span></span><span class="line"><span class="cl"> &#39;sbd_last_interest_payment&#39;: &#39;2018-08-14T00:32:57&#39;,
</span></span><span class="line"><span class="cl"> &#39;sbd_seconds&#39;: &#39;1907954703&#39;,
</span></span><span class="line"><span class="cl"> &#39;sbd_seconds_last_update&#39;: &#39;2018-08-18T22:40:57&#39;,
</span></span><span class="line"><span class="cl"> &#39;tags_usage&#39;: [],
</span></span><span class="line"><span class="cl"> &#39;to_withdraw&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;transfer_history&#39;: [],
</span></span><span class="line"><span class="cl"> &#39;vesting_balance&#39;: &#39;0.000 STEEM&#39;,
</span></span><span class="line"><span class="cl"> &#39;vesting_shares&#39;: &#39;245709.808613 VESTS&#39;,
</span></span><span class="line"><span class="cl"> &#39;vesting_withdraw_rate&#39;: &#39;0.000000 VESTS&#39;,
</span></span><span class="line"><span class="cl"> &#39;vote_history&#39;: [],
</span></span><span class="line"><span class="cl"> &#39;voting_power&#39;: 6873,
</span></span><span class="line"><span class="cl"> &#39;withdraw_routes&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;withdrawn&#39;: 0,
</span></span><span class="line"><span class="cl"> &#39;witness_votes&#39;: [&#39;abit&#39;,
</span></span><span class="line"><span class="cl">                   &#39;bobdos&#39;,
</span></span><span class="line"><span class="cl">                   &#39;ety001&#39;,
</span></span><span class="line"><span class="cl">                   &#39;justyy&#39;,
</span></span><span class="line"><span class="cl">                   &#39;skenan&#39;,
</span></span><span class="line"><span class="cl">                   &#39;therealwolf&#39;],
</span></span><span class="line"><span class="cl"> &#39;witnesses_voted_for&#39;: 6}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">del</span> <span class="n">yjcps</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="解析日期字符串">解析日期字符串</h3>
<p><a href="http://labix.org/python-dateutil#head-a23e8ae0a661d77b89dfb3476f85b26f0b30349c">python-dateutil</a></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># ISO format</span>
</span></span><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&#34;2018-01-04T14:49:21&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">dt</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2018-01-04 14:49:21
</span></span><span class="line"><span class="cl">&lt;class &#39;datetime.datetime&#39;&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 设置时区</span>
</span></span><span class="line"><span class="cl"><span class="n">TZOFFSETS</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&#34;BRST&#34;</span><span class="p">:</span> <span class="o">-</span><span class="mi">10800</span><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&#34;Thu Sep 25 10:36:28 BRST 2003&#34;</span><span class="p">,</span>  <span class="n">tzinfos</span><span class="o">=</span><span class="n">TZOFFSETS</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">dt</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2003-09-25 10:36:28-03:00
</span></span><span class="line"><span class="cl">&lt;class &#39;datetime.datetime&#39;&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&#34;2003-09-25T10:49:41.5-03:00&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2003-09-25 10:49:41.500000-03:00
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&#34;20030925T104941&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2003-09-25 10:49:41
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&#34;2003.Sep.25&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2003-09-25 00:00:00
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&#34;Tuesday, April 12, 1952 AD 3:30:42pm PST&#34;</span><span class="p">,</span> <span class="n">ignoretz</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">1952-04-12 15:30:42
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="时区转换">时区转换</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 当前本地时间</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 当前UTC时间</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">())</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 时差</span>
</span></span><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 设置时区为UTC+0:00</span>
</span></span><span class="line"><span class="cl"><span class="n">utc_dt</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">utc_dt</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 设置时区为UTC+8:00</span>
</span></span><span class="line"><span class="cl"><span class="n">_bj_dt</span> <span class="o">=</span> <span class="n">utc_dt</span><span class="o">.</span><span class="n">astimezone</span><span class="p">(</span><span class="n">timezone</span><span class="p">(</span><span class="n">dt</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">_bj_dt</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 设置时区为UTC+5:00</span>
</span></span><span class="line"><span class="cl"><span class="n">bj_dt</span> <span class="o">=</span> <span class="n">utc_dt</span><span class="o">.</span><span class="n">astimezone</span><span class="p">(</span><span class="n">timezone</span><span class="p">(</span><span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="mi">5</span><span class="p">)))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">bj_dt</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2018-08-19 11:35:33.051849
</span></span><span class="line"><span class="cl">2018-08-19 03:35:33.051849
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">8:00:00
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">2018-08-19 03:35:33.052827+00:00
</span></span><span class="line"><span class="cl">2018-08-19 11:35:33.052827+08:00
</span></span><span class="line"><span class="cl">2018-08-19 08:35:33.052827+05:00
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="时间格式转换">时间格式转换</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dt</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&#34;2018-08-18T23:01:57&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2018-08-18 23:01:57
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># datetime 2 timestamp</span>
</span></span><span class="line"><span class="cl"><span class="n">timestamp</span> <span class="o">=</span> <span class="n">dt</span><span class="o">.</span><span class="n">timestamp</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">timestamp</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># timestamp 2 datetime</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">timestamp</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">timestamp</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">1534604517.0
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">2018-08-18 23:01:57
</span></span><span class="line"><span class="cl">2018-08-18 15:01:57
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># datetime 2 string</span>
</span></span><span class="line"><span class="cl"><span class="n">str_time</span> <span class="o">=</span> <span class="n">dt</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y/%m/</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">str_time</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">str_time</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2018/08/18 23:01:57
</span></span><span class="line"><span class="cl">&lt;class &#39;str&#39;&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series – Learn Python with Steem #05] 基本資料結構</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-06">[DA series - Learn Python with Steem #06] 函式</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-07">[DA series - Learn Python with Steem #07] 類別</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-08-modules-steem">[DA series - Learn Python with Steem #08] 函式庫(Modules)的安裝與使用，準備好玩Steem！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-09-steem-diy-1-steem">[DA series - Learn Python with Steem #09] Steem 小工具DIY #1 - 我的Steem小偵探</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-10-steem-diy-2">[DA series - Learn Python with Steem #10] Steem 小工具DIY #2 - 我的文章列表（一）</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem06-c0tgbg3puu">Learn Python with Steem #06 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem07-2tx2pvwskh">Learn Python with Steem #07 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem08-5w4cklx91x">Learn Python with Steem #08 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #08 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-16-learn-python-with-steem-08-e7ac94e8aeb0/</link>
      <pubDate>Thu, 16 Aug 2018 06:41:31 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-16-learn-python-with-steem-08-e7ac94e8aeb0/</guid>
      <description>Learn Python with Steem #08 笔记 [toc] 划重点 模块、包 模块是一个XXX.py文件，Python中以模块的方式组织代码片段（函数，类，变量）。 包是一个目录，里面有一些</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-08-笔记">Learn Python with Steem #08 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>模块、包 模块是一个XXX.py文件，Python中以模块的方式组织代码片段（函数，类，变量）。</p>
<p>包是一个目录，里面有一些模块或者子目录，Python中以包的方式管理模块。</p>
</li>
<li>
<p>使用模块</p>
<p>要使用模块，需要先导入模块，使用关键字import来导入模块。</p>
<p>这是我们使用Python标准库和第三方库的方式。</p>
</li>
<li>
<p>安装模块</p>
<p>第三方模块需要自己安装，可以通过Python的包管理工具pip安装、还可以下载模块源码来安装。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">steem</span> <span class="kn">import</span> <span class="n">Steem</span>
</span></span><span class="line"><span class="cl"><span class="n">s</span> <span class="o">=</span> <span class="n">Steem</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="n">balance</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">get_account</span><span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">)[</span><span class="s1">&#39;sbd_balance&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">balance</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">4.484 SBD
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%%</span><span class="n">file</span> <span class="n">check_balance</span><span class="o">.</span><span class="n">py</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">steem</span> <span class="kn">import</span> <span class="n">Steem</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">sys</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">account_name</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="n">s</span> <span class="o">=</span> <span class="n">Steem</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="n">balance</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">get_account</span><span class="p">(</span><span class="n">account_name</span><span class="p">)[</span><span class="s1">&#39;sbd_balance&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">balance</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Overwriting check_balance.py
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">python</span> <span class="n">check_balance</span><span class="o">.</span><span class="n">py</span> <span class="n">yjcps</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">4.484 SBD
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">python</span> <span class="n">check_balance</span><span class="o">.</span><span class="n">py</span> <span class="n">dapeng</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">129.840 SBD
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="pip的安装与使用">pip的安装与使用</h3>
<ul>
<li>安装pip</li>
</ul>
<p>先下载get-pip.py文件</p>
<blockquote>
<p>curl <a href="https://bootstrap.pypa.io/get-pip.py">https://bootstrap.pypa.io/get-pip.py</a> -o get-pip.py</p>
</blockquote>
<p>也可以在浏览器访问网址 <a href="https://bootstrap.pypa.io/get-pip.py">https://bootstrap.pypa.io/get-pip.py</a> ，直接下载保存文件。</p>
<p>然后终端用Python执行这个文件</p>
<blockquote>
<p>python get-pip.py</p>
</blockquote>
<ul>
<li>升级pip</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">U</span> <span class="n">pip</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Requirement already up-to-date: pip in i:\python~1\lib\site-packages (18.0)
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">U</span> <span class="n">pip</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Requirement already up-to-date: pip in i:\python~1\lib\site-packages (18.0)
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>用pip安装Python包</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">install</span> <span class="n">requests</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"><span class="n">Collecting</span> <span class="n">requests</span>
</span></span><span class="line"><span class="cl">  <span class="n">Downloading</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">files</span><span class="o">.</span><span class="n">pythonhosted</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">packages</span><span class="o">/</span><span class="mi">65</span><span class="o">/</span><span class="mi">47</span><span class="o">/</span><span class="mf">7e02164</span><span class="n">a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda</span><span class="o">/</span><span class="n">requests</span><span class="o">-</span><span class="mf">2.19</span><span class="o">.</span><span class="mi">1</span><span class="o">-</span><span class="n">py2</span><span class="o">.</span><span class="n">py3</span><span class="o">-</span><span class="n">none</span><span class="o">-</span><span class="n">any</span><span class="o">.</span><span class="n">whl</span> <span class="p">(</span><span class="mi">91</span><span class="n">kB</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">chardet</span><span class="o">&lt;</span><span class="mf">3.1</span><span class="o">.</span><span class="mi">0</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">3.0</span><span class="o">.</span><span class="mi">2</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">3.0</span><span class="o">.</span><span class="mi">4</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">urllib3</span><span class="o">&lt;</span><span class="mf">1.24</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">1.21</span><span class="o">.</span><span class="mi">1</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">1.22</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">idna</span><span class="o">&lt;</span><span class="mf">2.8</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">2.5</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">2.6</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">certifi</span><span class="o">&gt;=</span><span class="mf">2017.4</span><span class="o">.</span><span class="mi">17</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">2018.4</span><span class="o">.</span><span class="mi">16</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Installing</span> <span class="n">collected</span> <span class="n">packages</span><span class="p">:</span> <span class="n">requests</span>
</span></span><span class="line"><span class="cl"><span class="n">Successfully</span> <span class="n">installed</span> <span class="n">requests</span><span class="o">-</span><span class="mf">2.19</span><span class="o">.</span><span class="mi">1</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wxpy</span> <span class="mf">0.3</span><span class="o">.</span><span class="mf">9.8</span> <span class="n">has</span> <span class="n">requirement</span> <span class="n">itchat</span><span class="o">==</span><span class="mf">1.2</span><span class="o">.</span><span class="mi">32</span><span class="p">,</span> <span class="n">but</span> <span class="n">you</span><span class="s1">&#39;ll have itchat 1.3.10 which is incompatible.</span>
</span></span><span class="line"><span class="cl"><span class="n">pyspider</span> <span class="mf">0.3</span><span class="o">.</span><span class="mi">10</span> <span class="n">has</span> <span class="n">requirement</span> <span class="n">tornado</span><span class="o">&lt;=</span><span class="mf">4.5</span><span class="o">.</span><span class="mi">3</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">3.2</span><span class="p">,</span> <span class="n">but</span> <span class="n">you</span><span class="s1">&#39;ll have tornado 5.0.2 which is incompatible.</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 指定包的版本</span>
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">install</span> <span class="n">requests</span><span class="o">==</span><span class="mf">2.17.1</span>     
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"><span class="n">Collecting</span> <span class="n">requests</span><span class="o">==</span><span class="mf">2.17</span><span class="o">.</span><span class="mi">1</span>
</span></span><span class="line"><span class="cl">  <span class="n">Downloading</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">files</span><span class="o">.</span><span class="n">pythonhosted</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">packages</span><span class="o">/</span><span class="mi">50</span><span class="o">/</span><span class="mi">41</span><span class="o">/</span><span class="n">f6fdaf24a80c726a72f76b15869a20734b7a527081129a380ddce99ffae0</span><span class="o">/</span><span class="n">requests</span><span class="o">-</span><span class="mf">2.17</span><span class="o">.</span><span class="mi">1</span><span class="o">-</span><span class="n">py2</span><span class="o">.</span><span class="n">py3</span><span class="o">-</span><span class="n">none</span><span class="o">-</span><span class="n">any</span><span class="o">.</span><span class="n">whl</span> <span class="p">(</span><span class="mi">87</span><span class="n">kB</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">chardet</span><span class="o">&lt;</span><span class="mf">3.1</span><span class="o">.</span><span class="mi">0</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">3.0</span><span class="o">.</span><span class="mi">2</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="o">==</span><span class="mf">2.17</span><span class="o">.</span><span class="mi">1</span><span class="p">)</span> <span class="p">(</span><span class="mf">3.0</span><span class="o">.</span><span class="mi">4</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">urllib3</span><span class="o">&lt;</span><span class="mf">1.22</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">1.21</span><span class="o">.</span><span class="mi">1</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="o">==</span><span class="mf">2.17</span><span class="o">.</span><span class="mi">1</span><span class="p">)</span> <span class="p">(</span><span class="mf">1.21</span><span class="o">.</span><span class="mi">1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">certifi</span><span class="o">&gt;=</span><span class="mf">2017.4</span><span class="o">.</span><span class="mi">17</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="o">==</span><span class="mf">2.17</span><span class="o">.</span><span class="mi">1</span><span class="p">)</span> <span class="p">(</span><span class="mf">2018.4</span><span class="o">.</span><span class="mi">16</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">idna</span><span class="o">&lt;</span><span class="mf">2.6</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">2.5</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="o">==</span><span class="mf">2.17</span><span class="o">.</span><span class="mi">1</span><span class="p">)</span> <span class="p">(</span><span class="mf">2.5</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Installing</span> <span class="n">collected</span> <span class="n">packages</span><span class="p">:</span> <span class="n">requests</span>
</span></span><span class="line"><span class="cl"><span class="n">Successfully</span> <span class="n">installed</span> <span class="n">requests</span><span class="o">-</span><span class="mf">2.17</span><span class="o">.</span><span class="mi">1</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wxpy</span> <span class="mf">0.3</span><span class="o">.</span><span class="mf">9.8</span> <span class="n">has</span> <span class="n">requirement</span> <span class="n">itchat</span><span class="o">==</span><span class="mf">1.2</span><span class="o">.</span><span class="mi">32</span><span class="p">,</span> <span class="n">but</span> <span class="n">you</span><span class="s1">&#39;ll have itchat 1.3.10 which is incompatible.</span>
</span></span><span class="line"><span class="cl"><span class="n">pyspider</span> <span class="mf">0.3</span><span class="o">.</span><span class="mi">10</span> <span class="n">has</span> <span class="n">requirement</span> <span class="n">tornado</span><span class="o">&lt;=</span><span class="mf">4.5</span><span class="o">.</span><span class="mi">3</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">3.2</span><span class="p">,</span> <span class="n">but</span> <span class="n">you</span><span class="s1">&#39;ll have tornado 5.0.2 which is incompatible.</span>
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>安装Wheels格式的包</li>
</ul>
<p>可以在 <a href="https://pypi.org/">https://pypi.org/</a> 网站搜索Python包，下载与你环境对应的wheel文件</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmY9kzBawm5aN53Yq846Hc2PeX33NSGSi3iYz1KYeKtSBj" alt="图片.png"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 安装命令</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">install</span> <span class="n">K</span><span class="p">:</span>\<span class="n">scrypt</span><span class="o">-</span><span class="mf">0.8.5</span><span class="o">-</span><span class="n">cp36</span><span class="o">-</span><span class="n">cp36m</span><span class="o">-</span><span class="n">win32</span><span class="o">.</span><span class="n">whl</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Requirement already satisfied: scrypt==0.8.5 from file:///K:/scrypt-0.8.5-cp36-cp36m-win32.whl in i:\python~1\lib\site-packages (0.8.5)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Requirement &#39;K:\\scrypt-0.8.5-cp36-cp36m-win32.whl&#39; looks like a filename, but the file does not exist
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>指定安装的镜像源</li>
</ul>
<p>一般来说，使用国内的镜像源按Python包速度更快、更顺畅。</p>
<ul>
<li>V2EX：http://pypi.v2ex.com/simple</li>
<li>豆瓣：http://pypi.douban.com/simple</li>
<li>中国科学技术大学：http://pypi.mirrors.ustc.edu.cn/simple/</li>
<li>清华：https://pypi.tuna.tsinghua.edu.cn/simple</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">i</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">pypi</span><span class="o">.</span><span class="n">douban</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">simple</span><span class="o">/</span> <span class="n">requests</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"><span class="n">Looking</span> <span class="ow">in</span> <span class="n">indexes</span><span class="p">:</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">pypi</span><span class="o">.</span><span class="n">douban</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">simple</span><span class="o">/</span>
</span></span><span class="line"><span class="cl"><span class="n">Collecting</span> <span class="n">requests</span>
</span></span><span class="line"><span class="cl">  <span class="n">Downloading</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">pypi</span><span class="o">.</span><span class="n">doubanio</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">packages</span><span class="o">/</span><span class="mi">65</span><span class="o">/</span><span class="mi">47</span><span class="o">/</span><span class="mf">7e02164</span><span class="n">a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda</span><span class="o">/</span><span class="n">requests</span><span class="o">-</span><span class="mf">2.19</span><span class="o">.</span><span class="mi">1</span><span class="o">-</span><span class="n">py2</span><span class="o">.</span><span class="n">py3</span><span class="o">-</span><span class="n">none</span><span class="o">-</span><span class="n">any</span><span class="o">.</span><span class="n">whl</span> <span class="p">(</span><span class="mi">91</span><span class="n">kB</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">urllib3</span><span class="o">&lt;</span><span class="mf">1.24</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">1.21</span><span class="o">.</span><span class="mi">1</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">1.21</span><span class="o">.</span><span class="mi">1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">certifi</span><span class="o">&gt;=</span><span class="mf">2017.4</span><span class="o">.</span><span class="mi">17</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">2018.4</span><span class="o">.</span><span class="mi">16</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">idna</span><span class="o">&lt;</span><span class="mf">2.8</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">2.5</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">2.5</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Requirement</span> <span class="n">already</span> <span class="n">satisfied</span><span class="p">:</span> <span class="n">chardet</span><span class="o">&lt;</span><span class="mf">3.1</span><span class="o">.</span><span class="mi">0</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">3.0</span><span class="o">.</span><span class="mi">2</span> <span class="ow">in</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span> <span class="p">(</span><span class="n">from</span> <span class="n">requests</span><span class="p">)</span> <span class="p">(</span><span class="mf">3.0</span><span class="o">.</span><span class="mi">4</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">Installing</span> <span class="n">collected</span> <span class="n">packages</span><span class="p">:</span> <span class="n">requests</span>
</span></span><span class="line"><span class="cl"><span class="n">Successfully</span> <span class="n">installed</span> <span class="n">requests</span><span class="o">-</span><span class="mf">2.19</span><span class="o">.</span><span class="mi">1</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wxpy</span> <span class="mf">0.3</span><span class="o">.</span><span class="mf">9.8</span> <span class="n">has</span> <span class="n">requirement</span> <span class="n">itchat</span><span class="o">==</span><span class="mf">1.2</span><span class="o">.</span><span class="mi">32</span><span class="p">,</span> <span class="n">but</span> <span class="n">you</span><span class="s1">&#39;ll have itchat 1.3.10 which is incompatible.</span>
</span></span><span class="line"><span class="cl"><span class="n">pyspider</span> <span class="mf">0.3</span><span class="o">.</span><span class="mi">10</span> <span class="n">has</span> <span class="n">requirement</span> <span class="n">tornado</span><span class="o">&lt;=</span><span class="mf">4.5</span><span class="o">.</span><span class="mi">3</span><span class="p">,</span><span class="o">&gt;=</span><span class="mf">3.2</span><span class="p">,</span> <span class="n">but</span> <span class="n">you</span><span class="s1">&#39;ll have tornado 5.0.2 which is incompatible.</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 升级</span>
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">upgrade</span> <span class="n">requests</span> 
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Collecting requests
</span></span><span class="line"><span class="cl">  Using cached https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl
</span></span><span class="line"><span class="cl">Requirement already satisfied, skipping upgrade: chardet&lt;3.1.0,&gt;=3.0.2 in i:\python~1\lib\site-packages (from requests) (3.0.4)
</span></span><span class="line"><span class="cl">Requirement already satisfied, skipping upgrade: certifi&gt;=2017.4.17 in i:\python~1\lib\site-packages (from requests) (2018.4.16)
</span></span><span class="line"><span class="cl">Requirement already satisfied, skipping upgrade: idna&lt;2.8,&gt;=2.5 in i:\python~1\lib\site-packages (from requests) (2.5)
</span></span><span class="line"><span class="cl">Requirement already satisfied, skipping upgrade: urllib3&lt;1.24,&gt;=1.21.1 in i:\python~1\lib\site-packages (from requests) (1.21.1)
</span></span><span class="line"><span class="cl">Installing collected packages: requests
</span></span><span class="line"><span class="cl">  Found existing installation: requests 2.17.1
</span></span><span class="line"><span class="cl">    Uninstalling requests-2.17.1:
</span></span><span class="line"><span class="cl">      Successfully uninstalled requests-2.17.1
</span></span><span class="line"><span class="cl">Successfully installed requests-2.19.1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">wxpy 0.3.9.8 has requirement itchat==1.2.32, but you&#39;ll have itchat 1.3.10 which is incompatible.
</span></span><span class="line"><span class="cl">pyspider 0.3.10 has requirement tornado&lt;=4.5.3,&gt;=3.2, but you&#39;ll have tornado 5.0.2 which is incompatible.
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>用pip卸载Python包</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">uninstall</span> <span class="n">requests</span> <span class="o">-</span><span class="n">y</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Uninstalling requests-2.19.1:
</span></span><span class="line"><span class="cl">  Successfully uninstalled requests-2.19.1
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>查看哪些包可升级</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="nb">list</span> <span class="o">--</span><span class="n">outdated</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Package               Version   Latest    Type 
</span></span><span class="line"><span class="cl">--------------------- --------- --------- -----
</span></span><span class="line"><span class="cl">aiohttp               3.2.1     3.3.2     wheel
</span></span><span class="line"><span class="cl">astroid               1.6.4     2.0.4     wheel
</span></span><span class="line"><span class="cl">Automat               0.6.0     0.7.0     wheel
</span></span><span class="line"><span class="cl">beautifulsoup4        4.6.0     4.6.3     wheel
</span></span><span class="line"><span class="cl">bitarray              0.8.1     0.8.3     sdist
</span></span><span class="line"><span class="cl">certifi               2018.4.16 2018.8.13 wheel
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">twisted               17.9.0    18.7.0    sdist
</span></span><span class="line"><span class="cl">urllib3               1.21.1    1.23      wheel
</span></span><span class="line"><span class="cl">WeRoBot               1.4.1     1.6.0     wheel
</span></span><span class="line"><span class="cl">widgetsnbextension    3.2.1     3.4.0     wheel
</span></span><span class="line"><span class="cl">WsgiDAV               2.3.0     2.4.1     wheel
</span></span><span class="line"><span class="cl">wxPython              4.0.1     4.0.3     wheel
</span></span><span class="line"><span class="cl">yarl                  1.2.4     1.2.6     wheel
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>查看包的安装信息</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"> <span class="err">!</span><span class="n">pip</span> <span class="n">show</span> <span class="o">--</span><span class="n">files</span> <span class="n">requests</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"><span class="n">Name</span><span class="p">:</span> <span class="n">requests</span>
</span></span><span class="line"><span class="cl"><span class="n">Version</span><span class="p">:</span> <span class="mf">2.19</span><span class="o">.</span><span class="mi">1</span>
</span></span><span class="line"><span class="cl"><span class="n">Summary</span><span class="p">:</span> <span class="n">Python</span> <span class="n">HTTP</span> <span class="k">for</span> <span class="n">Humans</span><span class="o">.</span>
</span></span><span class="line"><span class="cl"><span class="n">Home</span><span class="o">-</span><span class="n">page</span><span class="p">:</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">python</span><span class="o">-</span><span class="n">requests</span><span class="o">.</span><span class="n">org</span>
</span></span><span class="line"><span class="cl"><span class="n">Author</span><span class="p">:</span> <span class="n">Kenneth</span> <span class="n">Reitz</span>
</span></span><span class="line"><span class="cl"><span class="n">Author</span><span class="o">-</span><span class="n">email</span><span class="p">:</span> <span class="n">me</span><span class="err">@</span><span class="n">kennethreitz</span><span class="o">.</span><span class="n">org</span>
</span></span><span class="line"><span class="cl"><span class="n">License</span><span class="p">:</span> <span class="n">Apache</span> <span class="mf">2.0</span>
</span></span><span class="line"><span class="cl"><span class="n">Location</span><span class="p">:</span> <span class="n">i</span><span class="p">:</span>\<span class="n">python</span><span class="o">~</span><span class="mi">1</span>\<span class="n">lib</span>\<span class="n">site</span><span class="o">-</span><span class="n">packages</span>
</span></span><span class="line"><span class="cl"><span class="n">Requires</span><span class="p">:</span> <span class="n">idna</span><span class="p">,</span> <span class="n">urllib3</span><span class="p">,</span> <span class="n">chardet</span><span class="p">,</span> <span class="n">certifi</span>
</span></span><span class="line"><span class="cl"><span class="n">Required</span><span class="o">-</span><span class="n">by</span><span class="p">:</span> <span class="n">yarg</span><span class="p">,</span> <span class="n">wxpy</span><span class="p">,</span> <span class="n">WeRoBot</span><span class="p">,</span> <span class="n">requests</span><span class="o">-</span><span class="n">download</span><span class="p">,</span> <span class="n">pyspider</span><span class="p">,</span> <span class="n">pynsist</span><span class="p">,</span> <span class="n">itchat</span><span class="p">,</span> <span class="n">httpie</span>
</span></span><span class="line"><span class="cl"><span class="n">Files</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">  <span class="n">requests</span><span class="o">-</span><span class="mf">2.19</span><span class="o">.</span><span class="mf">1.</span><span class="n">dist</span><span class="o">-</span><span class="n">info</span>\<span class="n">DESCRIPTION</span><span class="o">.</span><span class="n">rst</span>
</span></span><span class="line"><span class="cl">  <span class="n">requests</span><span class="o">-</span><span class="mf">2.19</span><span class="o">.</span><span class="mf">1.</span><span class="n">dist</span><span class="o">-</span><span class="n">info</span>\<span class="n">INSTALLER</span>
</span></span><span class="line"><span class="cl">  <span class="n">requests</span><span class="o">-</span><span class="mf">2.19</span><span class="o">.</span><span class="mf">1.</span><span class="n">dist</span><span class="o">-</span><span class="n">info</span>\<span class="n">LICENSE</span><span class="o">.</span><span class="n">txt</span>
</span></span><span class="line"><span class="cl">  <span class="o">...</span>
</span></span><span class="line"><span class="cl">  <span class="n">requests</span>\<span class="n">status_codes</span><span class="o">.</span><span class="n">py</span>
</span></span><span class="line"><span class="cl">  <span class="n">requests</span>\<span class="n">structures</span><span class="o">.</span><span class="n">py</span>
</span></span><span class="line"><span class="cl">  <span class="n">requests</span>\<span class="n">utils</span><span class="o">.</span><span class="n">py</span>
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>导出包的安装信息到指定文件</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">freeze</span> <span class="o">&gt;</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">pycat</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">aiohttp==3.2.1
</span></span><span class="line"><span class="cl">appdirs==1.4.3
</span></span><span class="line"><span class="cl">asn1crypto==0.24.0
</span></span><span class="line"><span class="cl">astroid==1.6.4
</span></span><span class="line"><span class="cl">async-timeout==3.0.0
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">windrose==1.6.3
</span></span><span class="line"><span class="cl">wrapt==1.10.11
</span></span><span class="line"><span class="cl">WsgiDAV==2.3.0
</span></span><span class="line"><span class="cl">wxpy==0.3.9.8
</span></span><span class="line"><span class="cl">wxPython==4.0.1
</span></span><span class="line"><span class="cl">xmltodict==0.11.0
</span></span><span class="line"><span class="cl">yapf==0.22.0
</span></span><span class="line"><span class="cl">yarg==0.1.9
</span></span><span class="line"><span class="cl">yarl==1.2.4
</span></span><span class="line"><span class="cl">zope.interface==4.5.0
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li>从指定文件安装指定的包</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="err">!</span><span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">r</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Requirement already satisfied: aiohttp==3.2.1 in i:\python~1\lib\site-packages (from -r requirements.txt (line 1)) (3.2.1)
</span></span><span class="line"><span class="cl">Requirement already satisfied: appdirs==1.4.3 in i:\python~1\lib\site-packages (from -r requirements.txt (line 2)) (1.4.3)
</span></span><span class="line"><span class="cl">Requirement already satisfied: asn1crypto==0.24.0 in i:\python~1\lib\site-packages (from -r requirements.txt (line 3)) (0.24.0)
</span></span><span class="line"><span class="cl">Requirement already satisfied: astroid==1.6.4 in d:\users\tracis\appdata\roaming\python\python36\site-packages (from -r requirements.txt (line 4)) (1.6.4)
</span></span><span class="line"><span class="cl">Requirement already satisfied: async-timeout==3.0.0 in i:\python~1\lib\site-packages (from -r requirements.txt (line 5)) (3.0.0)
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">Requirement already satisfied: pip&gt;=9.0.1 in i:\python~1\lib\site-packages (from pipenv==2018.7.1-&gt;-r requirements.txt (line 91)) (18.0)
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series – Learn Python with Steem #05] 基本資料結構</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-06">[DA series - Learn Python with Steem #06] 函式</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-07">[DA series - Learn Python with Steem #07] 類別</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-08-modules-steem">[DA series - Learn Python with Steem #08] 函式庫(Modules)的安裝與使用，準備好玩Steem！</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem06-c0tgbg3puu">Learn Python with Steem #06 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem07-2tx2pvwskh">Learn Python with Steem #07 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #07 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-07-learn-python-with-steem-07-note/</link>
      <pubDate>Tue, 07 Aug 2018 10:26:12 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-07-learn-python-with-steem-07-note/</guid>
      <description>Learn Python with Steem #07 笔记 [toc] 划重点 类与对象 把一些具有共同特征的对象的属性和行为（方法）抽取出来，将其抽象化，定义为类。 也就是说类是对象的模板，按照模板（</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-07-笔记">Learn Python with Steem #07 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>类与对象 把一些具有共同特征的对象的属性和行为（方法）抽取出来，将其<strong>抽象化</strong>，定义为类。<br>
也就是说类是对象的模板，按照模板（类）<strong>实例化（具体化）</strong>，这就是对象。<br>
类是抽象的概念，而对象是具体的东西。</p>
</li>
<li>
<p>类的属性与方法</p>
<p>类的属性和方法都是一群对象的共同特征。<br>
属性是那些对象的静态特征，在类中定义的变量。<br>
方法是那些对象的动态特征（行为），在类中定义的函数。<br>
这么说也不太准确，有些类中的有些方法和属性是关于类的，而与对象无关系。<br>
通过定义类，实现了对数据和对数据的操作的<strong>封装</strong>。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 作业</span>
</span></span><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">Person</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_name</span><span class="p">,</span> <span class="n">_height</span><span class="p">,</span> <span class="n">_weight</span><span class="p">,</span> <span class="n">_gender</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">_name</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">height</span> <span class="o">=</span> <span class="n">_height</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">weight</span> <span class="o">=</span> <span class="n">_weight</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">gender</span> <span class="o">=</span> <span class="n">_gender</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">count_update</span> <span class="o">=</span> <span class="mi">0</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">get_bmi</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">bmi</span> <span class="o">=</span> <span class="n">sel</span><span class="o">.</span><span class="n">weight</span> <span class="o">/</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">height</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="n">bmi</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">rename</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="n">_name</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="k">pass</span>
</span></span><span class="line"><span class="cl">        <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">_name</span>
</span></span><span class="line"><span class="cl">            <span class="bp">self</span><span class="o">.</span><span class="n">count_update</span> <span class="o">+=</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">me</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">&#39;zzzABC&#39;</span><span class="p">,</span> <span class="mf">1.75</span><span class="p">,</span> <span class="mi">65</span><span class="p">,</span> <span class="s1">&#39;Male&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">me</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">me</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">&#39;zzzABC&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">me</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">&#39;kkkABC&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;========= After Update ===========&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">me</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">me</span><span class="o">.</span><span class="n">count_update</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">zzzABC
</span></span><span class="line"><span class="cl">========= After Update ===========
</span></span><span class="line"><span class="cl">kkkABC
</span></span><span class="line"><span class="cl">1
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="对象属性和类属性">对象属性和类属性</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">People</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="c1"># 定义类属性count_people，与所有对象共享</span>
</span></span><span class="line"><span class="cl">    <span class="n">count_people</span> <span class="o">=</span> <span class="mi">0</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 创建对象时的初始化操作</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="c1"># 定义对象属性name</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">_name</span>
</span></span><span class="line"><span class="cl">        <span class="n">People</span><span class="o">.</span><span class="n">count_people</span> <span class="o">+=</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 删除对象时的操作</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__del__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">People</span><span class="o">.</span><span class="n">count_people</span> <span class="o">-=</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">me</span> <span class="o">=</span> <span class="n">People</span><span class="p">(</span><span class="s1">&#39;Yjcps&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">me</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">me</span><span class="o">.</span><span class="n">count_people</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">friend</span> <span class="o">=</span> <span class="n">People</span><span class="p">(</span><span class="s1">&#39;Tom&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">friend</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">friend</span><span class="o">.</span><span class="n">count_people</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">me</span><span class="o">.</span><span class="n">count_people</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">del</span> <span class="n">friend</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">me</span><span class="o">.</span><span class="n">count_people</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">del</span> <span class="n">me</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">People</span><span class="o">.</span><span class="n">count_people</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Yjcps
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Tom
</span></span><span class="line"><span class="cl">2
</span></span><span class="line"><span class="cl">2
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">0
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="静态方法和类方法">静态方法和类方法</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">Triangle</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">_a</span> <span class="o">=</span> <span class="n">a</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">_b</span> <span class="o">=</span> <span class="n">b</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">_c</span> <span class="o">=</span> <span class="n">c</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 静态方法，通过装饰器@staticmethod定义，静态方法属于类方法</span>
</span></span><span class="line"><span class="cl">    <span class="nd">@staticmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">is_valid</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span> <span class="o">&gt;</span> <span class="n">c</span> <span class="ow">and</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">&gt;</span> <span class="n">a</span> <span class="ow">and</span> <span class="n">a</span> <span class="o">+</span> <span class="n">c</span> <span class="o">&gt;</span> <span class="n">b</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 类方法使用装器@classmethod定义，cls 表示类本身</span>
</span></span><span class="line"><span class="cl">    <span class="nd">@classmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">create_by_default</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">a</span> <span class="o">=</span> <span class="mi">3</span>
</span></span><span class="line"><span class="cl">        <span class="n">b</span> <span class="o">=</span> <span class="mi">4</span>
</span></span><span class="line"><span class="cl">        <span class="n">c</span> <span class="o">=</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 对象的方法，self表示对象本身</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">perimeter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_a</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_b</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_c</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 检查是否可以构成三角形</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="n">Triangle</span><span class="o">.</span><span class="n">is_valid</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">t1</span> <span class="o">=</span> <span class="n">Triangle</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;Can&#39;t creat a Triangle&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 通过类方法创建默认的三角形</span>
</span></span><span class="line"><span class="cl"><span class="n">t2</span> <span class="o">=</span> <span class="n">Triangle</span><span class="o">.</span><span class="n">create_by_default</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 通过对象的方法计算三角形的周长</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;perimeter:&#39;</span><span class="p">,</span> <span class="n">t2</span><span class="o">.</span><span class="n">perimeter</span><span class="p">())</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Can&#39;t creat a Triangle
</span></span><span class="line"><span class="cl">perimeter: 12
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="抽象方法">抽象方法</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">abc</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">Shape</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">_name</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 定义没有（可能无法）实现的方法，需要在子类中改写此方法</span>
</span></span><span class="line"><span class="cl">    <span class="nd">@abc.abstractmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">perimeter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;&#39;&#39;Method should be rewrited&#39;&#39;&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">t1</span> <span class="o">=</span> <span class="n">Shape</span><span class="p">(</span><span class="s1">&#39;Shape&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">t1</span><span class="o">.</span><span class="n">perimeter</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="继承">继承</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">abc</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 定义父类（基类）</span>
</span></span><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">Shape</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">_name</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 定义没有（可能无法）实现的方法，需要在子类中改写此方法</span>
</span></span><span class="line"><span class="cl">    <span class="nd">@abc.abstractmethod</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">perimeter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;&#39;&#39;Method should be rewrited&#39;&#39;&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 定义子类 继承Shape类</span>
</span></span><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">Triangle</span><span class="p">(</span><span class="n">Shape</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="c1"># 调用父类的初始化方法</span>
</span></span><span class="line"><span class="cl">        <span class="n">Shape</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;Triangle&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">_a</span> <span class="o">=</span> <span class="n">a</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">_b</span> <span class="o">=</span> <span class="n">b</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">_c</span> <span class="o">=</span> <span class="n">c</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 在子类中改写perimeter方法</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">perimeter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_a</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_b</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_c</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">t1</span> <span class="o">=</span> <span class="n">Triangle</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">t1</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">t1</span><span class="o">.</span><span class="n">perimeter</span><span class="p">())</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Triangle
</span></span><span class="line"><span class="cl">12
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="多态">多态</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">class</span> <span class="nc">Square</span><span class="p">(</span><span class="n">Shape</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">a</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="c1"># 调用父类的初始化方法</span>
</span></span><span class="line"><span class="cl">        <span class="n">Shape</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;Square&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">_a</span> <span class="o">=</span> <span class="n">a</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 在子类中改写perimeter方法</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">perimeter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_a</span><span class="o">**</span><span class="mi">2</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">t1</span> <span class="o">=</span> <span class="n">Triangle</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">s1</span> <span class="o">=</span> <span class="n">Square</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 不同的类可以有相同名字的方法，它们的行为可以不同，这就是多态。</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">t1</span><span class="o">.</span><span class="n">perimeter</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">s1</span><span class="o">.</span><span class="n">perimeter</span><span class="p">())</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">12
</span></span><span class="line"><span class="cl">25
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series – Learn Python with Steem #05] 基本資料結構</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-06">[DA series - Learn Python with Steem #06] 函式</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-07">[DA series - Learn Python with Steem #07] 類別</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem06-c0tgbg3puu">Learn Python with Steem #06 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #06 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-04-learn-python-with-steem-06-note/</link>
      <pubDate>Sat, 04 Aug 2018 00:10:28 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-04-learn-python-with-steem-06-note/</guid>
      <description>Learn Python with Steem #06 笔记 [toc] 划重点 函数 函数是实现某个特定功能的一段代码。 将同一类相对独立的功能写成一个个函数，放到同一个py文件里，这就是一个模块。 你可</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-06-笔记">Learn Python with Steem #06 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>函数 函数是实现某个特定功能的一段代码。</p>
<p>将同一类相对独立的功能写成一个个函数，放到同一个py文件里，这就是一个模块。</p>
<p>你可以试试输入 help(math) 看是不是这样的。</p>
</li>
<li>
<p>函数的结构</p>
<p>函数由输入参数、函数体、输出参数组成。</p>
<p>通过输入参数接收要处理的数据，</p>
<p>在函数体里实现要完成的功能，</p>
<p>最后将计算结果通过输出参数返回给使用者。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 作业</span>
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">my_average</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">average</span> <span class="o">=</span> <span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="nb">max</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="nb">min</span><span class="p">(</span><span class="n">data</span><span class="p">))</span> <span class="o">/</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">2</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">average</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_list</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">345</span><span class="p">,</span> <span class="o">-</span><span class="mi">23</span><span class="p">,</span> <span class="mi">7</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="n">answer</span> <span class="o">=</span> <span class="n">my_average</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">answer</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">4.5
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 将计算busy机器人点赞比例的功能写成一个函数</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">requests</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">busy_vote_percent</span><span class="p">(</span><span class="n">username</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">minVests</span> <span class="o">=</span> <span class="mi">20000000</span>
</span></span><span class="line"><span class="cl">    <span class="c1"># maxVests = 4000000000000  # maxVests 不是这个值</span>
</span></span><span class="line"><span class="cl">    <span class="n">maxVests</span> <span class="o">=</span> <span class="mi">5000000000000</span>
</span></span><span class="line"><span class="cl">    <span class="n">limitVests</span> <span class="o">=</span> <span class="mi">10000000000000</span>
</span></span><span class="line"><span class="cl">    <span class="n">minPercent</span> <span class="o">=</span> <span class="mi">6</span> <span class="o">/</span> <span class="mi">100</span>
</span></span><span class="line"><span class="cl">    <span class="n">maxPercent</span> <span class="o">=</span> <span class="mi">2500</span> <span class="o">/</span> <span class="mi">100</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://steemdb.com/api/accounts?account=&#39;</span> <span class="o">+</span> <span class="n">username</span>
</span></span><span class="line"><span class="cl">    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="n">followers_mvest</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;followers_mvest&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">followers_mvest</span> <span class="o">&lt;</span> <span class="n">minVests</span> <span class="ow">or</span> <span class="n">followers_mvest</span> <span class="o">&gt;</span> <span class="n">limitVests</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">percent</span> <span class="o">=</span> <span class="mi">0</span>
</span></span><span class="line"><span class="cl">    <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">percent</span> <span class="o">=</span> <span class="p">(</span><span class="mi">10000</span> <span class="o">/</span> <span class="n">maxVests</span><span class="p">)</span> <span class="o">*</span> <span class="n">followers_mvest</span>
</span></span><span class="line"><span class="cl">        <span class="c1">#         print(percent)</span>
</span></span><span class="line"><span class="cl">        <span class="n">percent</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">percent</span><span class="p">,</span> <span class="n">minPercent</span><span class="p">),</span> <span class="n">maxPercent</span><span class="p">)</span> <span class="o">/</span> <span class="mi">100</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Hi,</span><span class="si">{}</span><span class="se">\n</span><span class="s1">followers_mvest:</span><span class="si">{}</span><span class="se">\n</span><span class="s1">your busy vote percent is: </span><span class="si">{:.2%}</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span>
</span></span><span class="line"><span class="cl">          <span class="nb">format</span><span class="p">(</span><span class="n">username</span><span class="p">,</span> <span class="n">followers_mvest</span><span class="p">,</span> <span class="n">percent</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">#     return percent</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">busy_vote_percent</span><span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">busy_vote_percent</span><span class="p">(</span><span class="s1">&#39;dapeng&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">busy_vote_percent</span><span class="p">(</span><span class="s1">&#39;shine.wong&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">busy_vote_percent</span><span class="p">(</span><span class="s1">&#39;deanliu&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Hi,yjcps
</span></span><span class="line"><span class="cl">followers_mvest:93266616.60498305
</span></span><span class="line"><span class="cl">your busy vote percent is: 0.19%
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Hi,dapeng
</span></span><span class="line"><span class="cl">followers_mvest:1856251363.8415272
</span></span><span class="line"><span class="cl">your busy vote percent is: 3.71%
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Hi,shine.wong
</span></span><span class="line"><span class="cl">followers_mvest:261131007.75513688
</span></span><span class="line"><span class="cl">your busy vote percent is: 0.52%
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Hi,deanliu
</span></span><span class="line"><span class="cl">followers_mvest:18379826592.987816
</span></span><span class="line"><span class="cl">your busy vote percent is: 25.00%
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="变量的作用域">变量的作用域</h3>
<p>变量的作用域指的是变量的可见范围，分两类：</p>
<ul>
<li>全局变量</li>
<li>局部变量</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 全局变量</span>
</span></span><span class="line"><span class="cl"><span class="n">a</span> <span class="o">=</span> <span class="mi">20</span>
</span></span><span class="line"><span class="cl"><span class="n">b</span> <span class="o">=</span> <span class="mi">30</span>
</span></span><span class="line"><span class="cl"><span class="n">c</span> <span class="o">=</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">my_fun</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">    <span class="c1"># 局部变量</span>
</span></span><span class="line"><span class="cl">    <span class="n">a</span> <span class="o">=</span> <span class="mi">7</span>
</span></span><span class="line"><span class="cl">    <span class="n">b</span> <span class="o">=</span> <span class="mi">10</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;call my_fun：a=</span><span class="si">{}</span><span class="s1">, b=</span><span class="si">{}</span><span class="s1">, c=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">#     在函数里面有定义a,b变量属于局部变量，</span>
</span></span><span class="line"><span class="cl"><span class="c1">#     在使用的时候优先使用局部变量，</span>
</span></span><span class="line"><span class="cl"><span class="c1">#     看不见函数外面的全局变量</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">#     函数里面没有定义c变量</span>
</span></span><span class="line"><span class="cl"><span class="c1">#     使用的时候会去查找外面的全局变量</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_fun</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;a=</span><span class="si">{}</span><span class="s1">, b=</span><span class="si">{}</span><span class="s1">, c=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 在外面看不见函数里面的局部变量</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">call my_fun：a=7, b=10, c=5
</span></span><span class="line"><span class="cl">a=20, b=30, c=5
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 全局变量</span>
</span></span><span class="line"><span class="cl"><span class="n">a</span> <span class="o">=</span> <span class="mi">20</span>
</span></span><span class="line"><span class="cl"><span class="n">b</span> <span class="o">=</span> <span class="mi">30</span>
</span></span><span class="line"><span class="cl"><span class="n">c</span> <span class="o">=</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">my_fun</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 局部变量</span>
</span></span><span class="line"><span class="cl">    <span class="n">a</span> <span class="o">=</span> <span class="mi">7</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 可以用global声明b是函数外面的全局变量</span>
</span></span><span class="line"><span class="cl">    <span class="k">global</span> <span class="n">b</span>
</span></span><span class="line"><span class="cl">    <span class="n">b</span> <span class="o">=</span> <span class="mi">10</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;call my_fun：a=</span><span class="si">{}</span><span class="s1">, b=</span><span class="si">{}</span><span class="s1">, c=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_fun</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;a=</span><span class="si">{}</span><span class="s1">, b=</span><span class="si">{}</span><span class="s1">, c=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 在函数外面可以看到变量b被修改了</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">call my_fun：a=7, b=10, c=5
</span></span><span class="line"><span class="cl">a=20, b=10, c=5
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="匿名函数">匿名函数</h3>
<p>Python中用lambda定义匿名函数</p>
<p>格式： lambda 参数:表达式</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">f</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">x</span> <span class="o">+</span> <span class="mi">2</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">## 等价f(x)</span>
</span></span><span class="line"><span class="cl"><span class="c1"># def f(x):</span>
</span></span><span class="line"><span class="cl"><span class="c1">#     return x * 2 + x + 2</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="p">(</span><span class="mi">2</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="p">(</span><span class="mi">5</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">8
</span></span><span class="line"><span class="cl">17
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="递归函数">递归函数</h3>
<p>在函数里面调用函数自己本身来解决问题，这就是递归。</p>
<p>在遇到一些定义，数据结构或问题的解决方法是递归的时候，可以考虑使用递归函数。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 经典例子：计算n的阶乘n!</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">factorial</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 递归出口</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">n</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl">    <span class="c1"># 递归体</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">n</span> <span class="o">*</span> <span class="n">factorial</span><span class="p">(</span><span class="n">n</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">factorial</span><span class="p">(</span><span class="mi">4</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">factorial</span><span class="p">(</span><span class="mi">9</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">24
</span></span><span class="line"><span class="cl">362880
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="装饰器">装饰器</h3>
<p>在Python中可以用装饰器来修饰函数。</p>
<p>使用装饰器的目的在于：为原有函数添加新的功能但不修改原来的程序。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 定义一个装饰器</span>
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">print_fun_name</span><span class="p">(</span><span class="n">func</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">def</span> <span class="nf">wrapper</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;-----------------&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;call function:</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="vm">__name__</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;-----------------&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="n">func</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">wrapper</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 使用装饰器</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nd">@print_fun_name</span>
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">say_hello</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Hello&#39;</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nd">@print_fun_name</span>
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">say_bye</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Bye&#39;</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">say_hello</span><span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">say_bye</span><span class="p">(</span><span class="s1">&#39;hacper&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">-----------------
</span></span><span class="line"><span class="cl">call function:say_hello
</span></span><span class="line"><span class="cl">-----------------
</span></span><span class="line"><span class="cl">Hello yjcps
</span></span><span class="line"><span class="cl">-----------------
</span></span><span class="line"><span class="cl">call function:say_bye
</span></span><span class="line"><span class="cl">-----------------
</span></span><span class="line"><span class="cl">Bye hacper
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series – Learn Python with Steem #05] 基本資料結構</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-06">[DA series - Learn Python with Steem #06] 函式</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #05 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-02-learn-python-with-steem-05-note/</link>
      <pubDate>Thu, 02 Aug 2018 12:40:11 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-02-learn-python-with-steem-05-note/</guid>
      <description>Learn Python with Steem #05 笔记 [toc] 划重点 字典 字典是Python内置的一种可变的数据结构，也是一种容器，可以放置任意类型的元素， 特点是用 {} 定义，元素以键值对的形</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-05-笔记">Learn Python with Steem #05 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>字典 字典是Python内置的一种可变的数据结构，也是一种容器，可以放置任意类型的元素，</p>
<p>特点是用 {} 定义，元素以键值对的形式组织，键和值是一一对应的映射关系。</p>
<p>字典的常用操作：创建，访问，更新，删除。</p>
</li>
<li>
<p>列表</p>
<p>列表也是Python中一种可变的数据结构，其元素可以是任意类型，用 [] 定义。</p>
<p>列表的常用操作：创建，访问，添加，删除，切片，排序。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 作业</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="o">**</span><span class="mi">3</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">),</span> <span class="p">[</span><span class="n">n</span><span class="o">**</span><span class="mi">2</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">)]))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
</span></span><span class="line"><span class="cl">{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="列表">列表</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 元素可以是任意类型</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span> <span class="o">=</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;apple&#39;</span><span class="p">,</span> <span class="mf">3.14</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="p">{</span><span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="s1">&#39;yjcps&#39;</span><span class="p">}]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 列表生成式</span>
</span></span><span class="line"><span class="cl"><span class="n">my_num</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="o">+</span><span class="mi">1</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], {&#39;name&#39;: &#39;yjcps&#39;}]
</span></span><span class="line"><span class="cl">[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 使用整数下标访问元素，第一个元素从0开始</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 可以使用负数</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">3.14
</span></span><span class="line"><span class="cl">3.14
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 元素个数，列表长度</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">my_list</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">5
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 添加元素</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">555</span><span class="p">)</span> <span class="c1"># 添加到末尾</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;steem&#39;</span><span class="p">)</span> <span class="c1">#指定位置</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="mi">16</span><span class="p">,</span><span class="mi">22</span><span class="p">,</span><span class="mi">73</span><span class="p">,</span><span class="mi">45</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], {&#39;name&#39;: &#39;yjcps&#39;}, 555]
</span></span><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555]
</span></span><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73, 45]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 遍历列表</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">my_list</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">apple
</span></span><span class="line"><span class="cl">3.14
</span></span><span class="line"><span class="cl">[1, 2, 3]
</span></span><span class="line"><span class="cl">steem
</span></span><span class="line"><span class="cl">{&#39;name&#39;: &#39;yjcps&#39;}
</span></span><span class="line"><span class="cl">555
</span></span><span class="line"><span class="cl">16
</span></span><span class="line"><span class="cl">22
</span></span><span class="line"><span class="cl">73
</span></span><span class="line"><span class="cl">45
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 删除元素</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="mf">3.14</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">del</span> <span class="n">my_list</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s1">&#39;apple&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> <span class="c1"># 清空</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, &#39;apple&#39;, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73, 45]
</span></span><span class="line"><span class="cl">[3, &#39;apple&#39;, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73]
</span></span><span class="line"><span class="cl">[3, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 切片 list[起:s止:步伐]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">5</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">8</span><span class="p">:</span><span class="mi">2</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">:</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
</span></span><span class="line"><span class="cl">[3, 4, 5]
</span></span><span class="line"><span class="cl">[2, 4, 6, 8]
</span></span><span class="line"><span class="cl">[4, 5, 6, 7]
</span></span><span class="line"><span class="cl">[9, 8, 7, 6, 5]
</span></span><span class="line"><span class="cl">[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 排序</span>
</span></span><span class="line"><span class="cl"><span class="n">my_num</span> <span class="o">=</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">56</span><span class="p">,</span> <span class="mi">98</span><span class="p">,</span> <span class="mi">34</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">77</span><span class="p">,</span> <span class="mi">23</span><span class="p">,</span> <span class="mf">12.4</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">my_num</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">my_num</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span> <span class="c1"># 不改变原来的列表</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_num</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span> <span class="c1"># 改变原来的列表</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, 4, 6, 11, 12.4, 23, 34, 56, 77, 98]
</span></span><span class="line"><span class="cl">[98, 77, 56, 34, 23, 12.4, 11, 6, 4, 3]
</span></span><span class="line"><span class="cl">[11, 4, 56, 98, 34, 6, 77, 23, 12.4, 3]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[98, 77, 56, 34, 23, 12.4, 11, 6, 4, 3]
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="字典">字典</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;A&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;B&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;C&#39;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;D&#39;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;E&#39;</span><span class="p">:</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">list_keys</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;A&#39;</span><span class="p">,</span> <span class="s1">&#39;B&#39;</span><span class="p">,</span> <span class="s1">&#39;C&#39;</span><span class="p">,</span> <span class="s1">&#39;D&#39;</span><span class="p">,</span> <span class="s1">&#39;E&#39;</span><span class="p">,</span> <span class="s1">&#39;F&#39;</span><span class="p">,</span> <span class="s1">&#39;G&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="n">list_values</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">list_keys</span><span class="p">,</span> <span class="n">list_values</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;A&#39;: 1, &#39;B&#39;: 2, &#39;C&#39;: 3, &#39;D&#39;: 4, &#39;E&#39;: 5}
</span></span><span class="line"><span class="cl">{&#39;A&#39;: 1, &#39;B&#39;: 2, &#39;C&#39;: 3, &#39;D&#39;: 4, &#39;E&#39;: 5, &#39;F&#39;: 6}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 访问</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">[</span><span class="s1">&#39;B&#39;</span><span class="p">])</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2
</span></span><span class="line"><span class="cl">dict_keys([&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;])
</span></span><span class="line"><span class="cl">dict_values([1, 2, 3, 4, 5, 6])
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">my_dictionary</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">my_dictionary</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">[</span><span class="n">k</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">A 1
</span></span><span class="line"><span class="cl">B 2
</span></span><span class="line"><span class="cl">C 3
</span></span><span class="line"><span class="cl">D 4
</span></span><span class="line"><span class="cl">E 5
</span></span><span class="line"><span class="cl">F 6
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">2
</span></span><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">4
</span></span><span class="line"><span class="cl">5
</span></span><span class="line"><span class="cl">6
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 更新</span>
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="p">[</span><span class="s1">&#39;A&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;one&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s1">&#39;B&#39;</span><span class="p">:</span> <span class="s1">&#39;two&#39;</span><span class="p">,</span> <span class="s1">&#39;C&#39;</span><span class="p">:</span> <span class="s1">&#39;three&#39;</span><span class="p">})</span>
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">F</span><span class="o">=</span><span class="s1">&#39;six&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;B&#39;: 2, &#39;C&#39;: 3, &#39;D&#39;: 4, &#39;E&#39;: 5, &#39;F&#39;: 6}
</span></span><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;B&#39;: &#39;two&#39;, &#39;C&#39;: &#39;three&#39;, &#39;D&#39;: 4, &#39;E&#39;: 5, &#39;F&#39;: &#39;six&#39;}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 删除</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">popitem</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">popitem</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s1">&#39;B&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> <span class="c1"># 清空</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">(&#39;F&#39;, &#39;six&#39;)
</span></span><span class="line"><span class="cl">(&#39;E&#39;, 5)
</span></span><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;B&#39;: &#39;two&#39;, &#39;C&#39;: &#39;three&#39;, &#39;D&#39;: 4}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">two
</span></span><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;C&#39;: &#39;three&#39;, &#39;D&#39;: 4}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{}
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="集合">集合</h3>
<p>集合里的元素是唯一的，无序的，可以行交集、并集、差集等运算</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_set_1</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="n">my_set_2</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_2</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{1, 3, 4, 5, 6, 7, 8}
</span></span><span class="line"><span class="cl">{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 增删改 </span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="mi">99</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="mi">45</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="o">.</span><span class="n">pop</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="o">.</span><span class="n">pop</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{1, 3, 4, 5, 6, 7, 8, 99, 45}
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">{4, 5, 6, 7, 8, 99, 45}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">discard</span><span class="p">(</span><span class="mi">6</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{4, 5, 7, 8, 99, 45}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{4, 5, 7, 99, 45}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">update</span><span class="p">([</span><span class="mi">8</span><span class="p">,</span> <span class="mi">15</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{4, 5, 7, 8, 99, 45, 15}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 遍历</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">s</span> <span class="ow">in</span>  <span class="n">my_set_1</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">4
</span></span><span class="line"><span class="cl">5
</span></span><span class="line"><span class="cl">7
</span></span><span class="line"><span class="cl">8
</span></span><span class="line"><span class="cl">99
</span></span><span class="line"><span class="cl">45
</span></span><span class="line"><span class="cl">15
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 运算</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">&amp;</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 交集</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">|</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 并集</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">-</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 差集</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">^</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 对称差集</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{8, 4, 5, 7}
</span></span><span class="line"><span class="cl">{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15, 99, 45}
</span></span><span class="line"><span class="cl">{99, 45, 15}
</span></span><span class="line"><span class="cl">{0, 1, 2, 3, 99, 6, 9, 45, 15}
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="元组">元组</h3>
<p>元组类似列表，但元组的元素是不可修改的</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl"><span class="n">my_tuple</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">,</span> <span class="mi">123</span><span class="p">,</span> <span class="s1">&#39;hacper&#39;</span><span class="p">,</span> <span class="mi">55</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_tuple</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">(&#39;yjcps&#39;, 123, &#39;hacper&#39;, 55)
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 访问</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_tuple</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">hacper
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 不可修改</span>
</span></span><span class="line"><span class="cl"><span class="n">my_tuple</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">456</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">---------------------------------------------------------------------------
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">TypeError                                 Traceback (most recent call last)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">&lt;ipython-input-24-703d73c28b82&gt; in &lt;module&gt;()
</span></span><span class="line"><span class="cl">      1 # 不可修改
</span></span><span class="line"><span class="cl">----&gt; 2 my_tuple[1] = 456
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">TypeError: &#39;tuple&#39; object does not support item assignment
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="字符串">字符串</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建字符串</span>
</span></span><span class="line"><span class="cl"><span class="n">text_1</span> <span class="o">=</span> <span class="s1">&#39;betty bought a bit of butter but the butter was bitter&#39;</span>
</span></span><span class="line"><span class="cl"><span class="n">text_2</span> <span class="o">=</span> <span class="s2">&#34;cat bat mat cat bat cat&#34;</span>
</span></span><span class="line"><span class="cl"><span class="n">text_3</span> <span class="o">=</span> <span class="s1">&#39;&#39;&#39;
</span></span></span><span class="line"><span class="cl"><span class="s1">    Beautiful is better than ugly.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Explicit is better than implicit.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Simple is better than complex.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Complex is better than complicated.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Flat is better than nested.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Sparse is better than dense.
</span></span></span><span class="line"><span class="cl"><span class="s1">&#39;&#39;&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 字符串长度</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">text_1</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">text_2</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">text_3</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">54 23 214
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 首字母大写</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_1</span><span class="o">.</span><span class="n">capitalize</span><span class="p">())</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 全部转换为大写</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 全部转换为小写</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">lower</span><span class="p">())</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Betty bought a bit of butter but the butter was bitter
</span></span><span class="line"><span class="cl">CAT BAT MAT CAT BAT CAT
</span></span><span class="line"><span class="cl">cat bat mat cat bat cat
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 检查字符串的开头结尾</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">&#39;cat&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;bat&#39;</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">True
</span></span><span class="line"><span class="cl">False
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 切片，拼接</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">35</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="p">[</span><span class="o">-</span><span class="mi">130</span><span class="p">:</span><span class="o">-</span><span class="mi">108</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="p">[</span><span class="mi">35</span><span class="p">:</span><span class="mi">4</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl"> Beautiful is better than ugly.
</span></span><span class="line"><span class="cl"> is better than comple
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">.ylgu naht retteb si lufituaeB
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_1</span> <span class="o">+</span> <span class="n">text_2</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;#&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">text_2</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">betty bought a bit of butter but the butter was bittercat bat mat cat bat cat
</span></span><span class="line"><span class="cl">c#a#t# #b#a#t# #m#a#t# #c#a#t# #b#a#t# #c#a#t
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 分割</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">split</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span> 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[&#39;cat&#39;, &#39;bat&#39;, &#39;mat&#39;, &#39;cat&#39;, &#39;bat&#39;, &#39;cat&#39;]
</span></span><span class="line"><span class="cl">cat,bat,mat,cat,bat,cat
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[&#39;\n    Beautiful is better than ugly&#39;, &#39;\n    Explicit is better than implicit&#39;, &#39;\n    Simple is better than complex&#39;, &#39;\n    Complex is better than complicated&#39;, &#39;\n    Flat is better than nested&#39;, &#39;\n    Sparse is better than dense&#39;, &#39;\n&#39;]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 替换</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_1</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;butter&#39;</span><span class="p">,</span> <span class="s1">&#39;hacper&#39;</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">betty bought a bit of hacper but the hacper was bitter
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 去除首尾某些字符</span>
</span></span><span class="line"><span class="cl"><span class="n">text_4</span> <span class="o">=</span> <span class="s1">&#39;   123hello321   &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_4</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="c1"># 空格</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">text_4</span> <span class="o">=</span> <span class="s1">&#39;****123hello321****&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_4</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span> <span class="c1"># &#39;*&#39;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">123hello321
</span></span><span class="line"><span class="cl">123hello321
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series - Learn Python with Steem #05] 基本資料結構</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #04 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-07-31-learn-python-with-steem-04-note/</link>
      <pubDate>Tue, 31 Jul 2018 20:44:30 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-07-31-learn-python-with-steem-04-note/</guid>
      <description>Learn Python with Steem #04 笔记 [toc] 划重点 循环 人做重复性的事情很低效和枯燥，相比之下让机器来完成这些事更适合，所以在大鹏的《学R》中说，循环是个救世主。 循环由循</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-04-笔记">Learn Python with Steem #04 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>循环</li>
</ul>
<p>人做重复性的事情很低效和枯燥，相比之下让机器来完成这些事更适合，所以在大鹏的《学R》中说，循环是个救世主。</p>
<p>循环由循环条件和循环体组成：满足条件，程序就重复做一类事情，要重复做的事情就是循环体，用缩进体现。</p>
<ul>
<li>
<p>循环的类型 循环可分两类：已知重复次数，用 for 循环方便一些，用while循环也可以，for循环还可以对一个容器进行迭代。<br>
不知道具体循环次数或者需要一个死循环，可以使用while循环,直到发现不满足循环条件，就退出循环。</p>
</li>
<li>
<p>字符串格式化</p>
<p>格式化字符串用format()函数，也可以用占位符%。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 作业 </span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">row</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{}</span><span class="s1">*</span><span class="si">{}</span><span class="s1">=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">row</span> <span class="o">*</span> <span class="n">col</span><span class="p">),</span> <span class="n">end</span><span class="o">=</span><span class="s1">&#39;</span><span class="se">\t</span><span class="s1">&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">1*1=1   
</span></span><span class="line"><span class="cl">2*1=2   2*2=4   
</span></span><span class="line"><span class="cl">3*1=3   3*2=6   3*3=9   
</span></span><span class="line"><span class="cl">4*1=4   4*2=8   4*3=12  4*4=16  
</span></span><span class="line"><span class="cl">5*1=5   5*2=10  5*3=15  5*4=20  5*5=25  
</span></span><span class="line"><span class="cl">6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
</span></span><span class="line"><span class="cl">7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
</span></span><span class="line"><span class="cl">8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
</span></span><span class="line"><span class="cl">9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81  
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">row</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%d</span><span class="s1">*</span><span class="si">%d</span><span class="s1">=</span><span class="si">%d</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">row</span> <span class="o">*</span> <span class="n">col</span><span class="p">),</span> <span class="n">end</span><span class="o">=</span><span class="s1">&#39;</span><span class="se">\t</span><span class="s1">&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">1*1=1   
</span></span><span class="line"><span class="cl">2*1=2   2*2=4   
</span></span><span class="line"><span class="cl">3*1=3   3*2=6   3*3=9   
</span></span><span class="line"><span class="cl">4*1=4   4*2=8   4*3=12  4*4=16  
</span></span><span class="line"><span class="cl">5*1=5   5*2=10  5*3=15  5*4=20  5*5=25  
</span></span><span class="line"><span class="cl">6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
</span></span><span class="line"><span class="cl">7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
</span></span><span class="line"><span class="cl">8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
</span></span><span class="line"><span class="cl">9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81  
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 猜数游戏</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">random</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">answer</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">counter</span> <span class="o">=</span> <span class="mi">7</span>
</span></span><span class="line"><span class="cl"><span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">counter</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;你还剩</span><span class="si">%d</span><span class="s1">次机会&#39;</span> <span class="o">%</span> <span class="n">counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">number</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">input</span><span class="p">(</span><span class="s1">&#39;请输入答案: &#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">        <span class="n">counter</span> <span class="o">-=</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="n">number</span> <span class="o">&lt;</span> <span class="n">answer</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;太小了&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="k">elif</span> <span class="n">number</span> <span class="o">&gt;</span> <span class="n">answer</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;太大了&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;恭喜你猜对了!&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">            <span class="k">break</span>
</span></span><span class="line"><span class="cl">    <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Game Over!&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="k">break</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">你还剩7次机会
</span></span><span class="line"><span class="cl">请输入答案: 50
</span></span><span class="line"><span class="cl">太小了
</span></span><span class="line"><span class="cl">你还剩6次机会
</span></span><span class="line"><span class="cl">请输入答案: 80
</span></span><span class="line"><span class="cl">太大了
</span></span><span class="line"><span class="cl">你还剩5次机会
</span></span><span class="line"><span class="cl">请输入答案: 70
</span></span><span class="line"><span class="cl">太小了
</span></span><span class="line"><span class="cl">你还剩4次机会
</span></span><span class="line"><span class="cl">请输入答案: 75
</span></span><span class="line"><span class="cl">太小了
</span></span><span class="line"><span class="cl">你还剩3次机会
</span></span><span class="line"><span class="cl">请输入答案: 78
</span></span><span class="line"><span class="cl">太大了
</span></span><span class="line"><span class="cl">你还剩2次机会
</span></span><span class="line"><span class="cl">请输入答案: 76
</span></span><span class="line"><span class="cl">太小了
</span></span><span class="line"><span class="cl">你还剩1次机会
</span></span><span class="line"><span class="cl">请输入答案: 77
</span></span><span class="line"><span class="cl">恭喜你猜对了!
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="循环控制">循环控制</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># break 跳出循环，终止循环</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">break</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">0
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">2
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># continue 放弃本次循环，但不终止循环</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">continue</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">0
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">2
</span></span><span class="line"><span class="cl">4
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="输出重定向">输出重定向</h2>
<p>打印99乘法表的时候查看了print()函数的参数：</p>
<blockquote>
<p>Docstring:<br>
print(value, &hellip;, sep=&rsquo; &lsquo;, end=&rsquo;\n&rsquo;, file=sys.stdout, flush=False)</p>
<p>Prints the values to a stream, or to sys.stdout by default.</p>
</blockquote>
<p>file=sys.stdout 这个参数没有用过，它默认把输出打印到屏幕（sys.stdout），应该也可以把输出重定向到其他地方，比如文件，<br>
试试看</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">&#39;K:\Workspace\python\Python-x-Steem-tutorial-master\Python-x-Steem-tutorial\hello.txt&#39;</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Hello balabala!!&#39;</span><span class="p">,</span> <span class="n">file</span><span class="o">=</span><span class="n">f</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">%</span><span class="n">pycat</span> <span class="n">hello</span><span class="o">.</span><span class="n">txt</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>结果：<br>
<img loading="lazy" src="https://i.loli.net/2018/07/31/5b6054cfaca3e.jpg" alt="blob.jpg"  />
<br>
<img loading="lazy" src="https://i.loli.net/2018/07/31/5b6055162315c.jpg" alt="blob.jpg"  />
</p>
<hr>
<p>## 我的笔记：</p>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #03 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-07-31-learn-python-with-steem-03-note/</link>
      <pubDate>Tue, 31 Jul 2018 20:29:25 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-07-31-learn-python-with-steem-03-note/</guid>
      <description>Learn Python with Steem #03 笔记 [toc] 划重点 分支结构 Python的分支结构用if、elif、else关键字来构造，可以是多分支，也可以嵌套。 代码块 Python中用</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-03-笔记">Learn Python with Steem #03 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>分支结构 Python的分支结构用if、elif、else关键字来构造，可以是多分支，也可以嵌套。</p>
</li>
<li>
<p>代码块</p>
<p>Python中用缩进的方式构造代码块，程序的层次结构一目了然。</p>
</li>
<li>
<p>交互</p>
<p>使用input()函数输入数据，实现人与程序的交互。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 写作业</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">a</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="nb">input</span><span class="p">(</span><span class="s1">&#39;Please enter the first number: &#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">b</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="nb">input</span><span class="p">(</span><span class="s1">&#39;Please enter the second number: &#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">c</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="nb">input</span><span class="p">(</span><span class="s1">&#39;Please enter the last number: &#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="n">a</span> <span class="o">&gt;</span> <span class="n">b</span> <span class="ow">and</span> <span class="n">a</span> <span class="o">&gt;</span> <span class="n">c</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">elif</span> <span class="n">b</span> <span class="o">&gt;</span> <span class="n">a</span> <span class="ow">and</span> <span class="n">b</span> <span class="o">&gt;</span> <span class="n">c</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Please enter the first number: 55
</span></span><span class="line"><span class="cl">Please enter the second number: 99
</span></span><span class="line"><span class="cl">Please enter the last number: 22
</span></span><span class="line"><span class="cl">99.0
</span></span></code></pre></td></tr></table>
</div>
</div><p>计算busy机器人的点赞比例，这是它的js程序<a href="https://github.com/busyorg/busy-bot/blob/master/src/upvoter/index.js">https://github.com/busyorg/busy-bot/</a></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-js" data-lang="js"><span class="line"><span class="cl"><span class="kd">function</span> <span class="nx">getAccounts</span><span class="p">()</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="kr">const</span> <span class="nx">accounts</span> <span class="o">=</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="nx">process</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">STEEM_ACCOUNTS</span> <span class="o">||</span> <span class="s1">&#39;[]&#39;</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="k">return</span> <span class="nx">accounts</span><span class="p">.</span><span class="nx">map</span><span class="p">(</span><span class="nx">account</span> <span class="p">=&gt;</span> <span class="p">({</span>
</span></span><span class="line"><span class="cl">    <span class="nx">username</span><span class="o">:</span> <span class="nx">account</span><span class="p">.</span><span class="nx">username</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nx">wif</span><span class="o">:</span> <span class="nx">account</span><span class="p">.</span><span class="nx">wif</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nx">minVests</span><span class="o">:</span> <span class="nx">account</span><span class="p">.</span><span class="nx">minVests</span> <span class="o">||</span> <span class="mi">20000000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nx">maxVests</span><span class="o">:</span> <span class="nx">account</span><span class="p">.</span><span class="nx">maxVests</span> <span class="o">||</span> <span class="mi">4000000000000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nx">limitVests</span><span class="o">:</span> <span class="nx">account</span><span class="p">.</span><span class="nx">limitVests</span> <span class="o">||</span> <span class="mi">10000000000000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nx">minPercent</span><span class="o">:</span> <span class="nx">account</span><span class="p">.</span><span class="nx">minPercent</span> <span class="o">||</span> <span class="mi">6</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nx">maxPercent</span><span class="o">:</span> <span class="nx">account</span><span class="p">.</span><span class="nx">maxPercent</span> <span class="o">||</span> <span class="mi">2500</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="p">}));</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kr">async</span> <span class="kd">function</span> <span class="nx">getVoteWeight</span><span class="p">(</span><span class="nx">username</span><span class="p">,</span> <span class="nx">account</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="kr">const</span> <span class="nx">mvests</span> <span class="o">=</span> <span class="kr">await</span> <span class="nx">fetch</span><span class="p">(</span><span class="sb">`https://steemdb.com/api/accounts?account[]=</span><span class="si">${</span><span class="nx">username</span><span class="si">}</span><span class="sb">`</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="p">.</span><span class="nx">then</span><span class="p">(</span><span class="nx">res</span> <span class="p">=&gt;</span> <span class="nx">res</span><span class="p">.</span><span class="nx">json</span><span class="p">())</span>
</span></span><span class="line"><span class="cl">    <span class="p">.</span><span class="nx">then</span><span class="p">(</span><span class="nx">res</span> <span class="p">=&gt;</span> <span class="nx">res</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nx">followers_mvest</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="k">if</span> <span class="p">(</span><span class="nx">mvests</span> <span class="o">&lt;</span> <span class="nx">account</span><span class="p">.</span><span class="nx">minVests</span> <span class="o">||</span> <span class="nx">mvests</span> <span class="o">&gt;</span> <span class="nx">account</span><span class="p">.</span><span class="nx">limitVests</span><span class="p">)</span> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="kr">const</span> <span class="nx">percent</span> <span class="o">=</span> <span class="nb">parseInt</span><span class="p">((</span><span class="mi">10000</span> <span class="o">/</span> <span class="nx">account</span><span class="p">.</span><span class="nx">maxVests</span><span class="p">)</span> <span class="o">*</span> <span class="nx">mvests</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="k">return</span> <span class="nb">Math</span><span class="p">.</span><span class="nx">min</span><span class="p">(</span><span class="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(</span><span class="nx">percent</span><span class="p">,</span> <span class="nx">account</span><span class="p">.</span><span class="nx">minPercent</span><span class="p">),</span> <span class="nx">account</span><span class="p">.</span><span class="nx">maxPercent</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">&lt;</span><span class="n">br</span><span class="o">&gt;&lt;/</span><span class="n">br</span><span class="o">&gt;</span><span class="c1"># 这算是一个实际的例子吧，把它的计算部分抽出来，</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 用Python写一下，正好用到今天学的分支结构</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 查看followers_mvest</span>
</span></span><span class="line"><span class="cl"><span class="c1"># https://steemdb.com/api/accounts?account=yjcps</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">minVests</span> <span class="o">=</span> <span class="mi">20000000</span>
</span></span><span class="line"><span class="cl"><span class="c1"># maxVests = 4000000000000  # maxVests 不是这个值</span>
</span></span><span class="line"><span class="cl"><span class="n">maxVests</span> <span class="o">=</span> <span class="mi">5000000000000</span>
</span></span><span class="line"><span class="cl"><span class="n">limitVests</span> <span class="o">=</span> <span class="mi">10000000000000</span>
</span></span><span class="line"><span class="cl"><span class="n">minPercent</span> <span class="o">=</span> <span class="mi">6</span> <span class="o">/</span> <span class="mi">100</span>
</span></span><span class="line"><span class="cl"><span class="n">maxPercent</span> <span class="o">=</span> <span class="mi">2500</span> <span class="o">/</span> <span class="mi">100</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">followers_mvest</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="nb">input</span><span class="p">(</span><span class="s1">&#39;Input your followers_mvest: &#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 93785952.40679602</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="n">followers_mvest</span> <span class="o">&lt;</span> <span class="n">minVests</span> <span class="ow">or</span> <span class="n">followers_mvest</span> <span class="o">&gt;</span> <span class="n">limitVests</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">percent</span> <span class="o">=</span> <span class="mi">0</span>
</span></span><span class="line"><span class="cl"><span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">percent</span> <span class="o">=</span> <span class="p">(</span><span class="mi">10000</span> <span class="o">/</span> <span class="n">maxVests</span><span class="p">)</span> <span class="o">*</span> <span class="n">followers_mvest</span>
</span></span><span class="line"><span class="cl">    <span class="n">percent</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">percent</span><span class="p">,</span> <span class="n">minPercent</span><span class="p">),</span> <span class="n">maxPercent</span><span class="p">)</span> <span class="o">/</span> <span class="mi">100</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Your Busy vote percent: </span><span class="si">{:.2%}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">percent</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Input your followers_mvest: 93785952.40679602
</span></span><span class="line"><span class="cl">Your Busy vote percent: 0.19%
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="比较运算符">比较运算符</h3>
<p>&lt;= &lt; &gt; &gt;= 小于等于，小于，大于，大于等于</p>
<p>== != 等于，不等于</p>
<h3 id="逻辑运算符">逻辑运算符</h3>
<p>not or and 非，或，与</p>
<h3 id="空语句-pass">空语句 pass</h3>
<p>pass 不是跳过某段程序的意思,它是是用来占位子的，为了让写的程序符合语法。</p>
<p>pass有两个用法用：<br>
一是什么都不做，写个pass：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">&lt;</span><span class="n">br</span><span class="o">&gt;&lt;/</span><span class="n">br</span><span class="o">&gt;</span><span class="k">if</span> <span class="kc">True</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">   <span class="k">pass</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>另一个是，还没想好程序的某个功能怎么写，写个pass占位子:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">&lt;</span><span class="n">br</span><span class="o">&gt;&lt;/</span><span class="n">br</span><span class="o">&gt;</span><span class="k">def</span> <span class="nf">fun</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">    <span class="k">pass</span>
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #02 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-07-28-learn-python-with-steem-02-note/</link>
      <pubDate>Sat, 28 Jul 2018 13:50:11 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-07-28-learn-python-with-steem-02-note/</guid>
      <description>Learn Python with Steem #02 笔记 [toc] 划重点 Python变量 变量像是一个专门用来装数据箱子，可以给它起名字，在用的时候好辨认，箱子的数据可以更改替换，所以叫“变”</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-02-笔记">Learn Python with Steem #02 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>Python变量 变量像是一个专门用来装数据箱子，可以给它起名字，在用的时候好辨认，箱子的数据可以更改替换，所以叫“变”量。</p>
</li>
<li>
<p>数据类型 由于数据多种多样，所以Python有不同类别的箱子，有的用来装数值，有的用来装字符串，有的用来装图片，等等</p>
</li>
<li>
<p>变量的使用</p>
<p>变量是程序里的一个操作对象，如对变量赋值，对变量进行运算，做类型转换等等</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5bff6b72d51.jpg" alt="blob.jpg"  />
</p>
<p>哇，这么少，得多些写写文章才行啊。</p>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5bffa1d02a4.jpg" alt="blob.jpg"  />
<br>
<img loading="lazy" src="https://i.loli.net/2018/07/28/5b5bffc62c0ba.jpg" alt="blob.jpg"  />
</p>
<p>人生如此艰难，还是多花点时间在正事上吧，一般人在steemit上写文章也赚不了几个钱。</p>
<h2 id="补充">补充</h2>
<h3 id="变量命名">变量命名</h3>
<p>给Python的变量命名有些规矩：</p>
<ul>
<li>变量名由字母、数字和下划线构成，不能以数字开头</li>
<li>区分大小写</li>
<li>不能是Python的关键字（这些名字已作他用）</li>
</ul>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5c001f15883.jpg" alt="blob.jpg"  />
</p>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5c004564e9f.jpg" alt="blob.jpg"  />
</p>
<h3 id="变量类型">变量类型</h3>
<p>Python的数据类型有很多，而且还可以自己定义一个数据类型，很灵活</p>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5c008e84835.jpg" alt="blob.jpg"  />
</p>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5c00adcc92c.jpg" alt="blob.jpg"  />
</p>
<h3 id="变量的使用">变量的使用</h3>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmTjCzSyrV8sENQ4ZAnhZifpyL6hqjFxBxHDScoFSYwVvs" alt="图片.png"  />
</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmerpDRg38btD1SvT7ufjN2CbEAF2mmn9Auw9jc6oYVbjD" alt="图片.png"  />
</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmReWsv9muTYnNjGas8tNqP4FU4gT1M3kzsCiuuz39ffgc" alt="图片.png"  />
</p>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5c013eb28da.jpg" alt="blob.jpg"  />
</p>
<p><img loading="lazy" src="https://i.loli.net/2018/07/28/5b5c015dcb77d.jpg" alt="blob.jpg"  />
</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmcciN29zz9YjswgcaAGXAPwkT5TFT5wGf2FKebnkbKXWr" alt="图片.png"  />
</p>
<hr>
<p>我觉得Python的一个优点是将编程这样的“贵族”玩具平民化了，人人都可以上手写程序。Python是不是很好玩，一起来学吧。</p>
<hr>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
</ul>
<!-- raw HTML omitted -->
<p><em>Posted from Wordpress with <a href="'https://wordpress.org/plugins/steempress/'">SteemPress</a></em></p>
<hr>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
  </channel>
</rss>
