Jekyll
2019-09-22T17:02:17+00:00
https://iriscsx.github.io//
Sigua
Sigua的博客
python基础教程 | 模块
2017-08-27T00:00:00+00:00
2017-08-27T00:00:00+00:00
https://iriscsx.github.io/2017/08/27/python%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B_%E6%A8%A1%E5%9D%97
<blockquote>
<p>模块用于定义</p>
</blockquote>
<h4 id="q1-模块在第一次导入的时候做了什么">Q1 模块在第一次导入的时候做了什么?</h4>
<ol>
<li>定义函数</li>
<li>定义类</li>
<li>定义赋值后的变量</li>
</ol>
<p>于是上面的函数、类、赋值后的变量就成了它的特性.</p>
<h4 id="q2-如何区分它是被导入还是被直接执行">Q2 如何区分它是被导入还是被直接执行?</h4>
<p>被导入的时候:<code class="highlighter-rouge">__name__</code>值是模块的名字
被直接执行的时候:<code class="highlighter-rouge">__name__</code>值是<code class="highlighter-rouge">__main__</code></p>
<blockquote>
<p>如何让模块可用</p>
</blockquote>
<p>可用:是指在import你的模块的时候解释器能够找到你的模块,才能在解释器里使用。</p>
<ol>
<li>把模块放在解释器找得到的位置</li>
</ol>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># sys.path的目录就是解释器的搜索路径,pprint提供智能打印:打印出来的目录都可以放,推荐放site-packages目录</span>
<span class="kn">import</span> <span class="nn">sys</span><span class="p">,</span><span class="n">pprint</span>
<span class="n">pprint</span><span class="o">.</span><span class="n">pprint</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
</code></pre></div></div>
<ol>
<li>告诉解释器去哪里找</li>
</ol>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 编辑sys.path(并不通用)</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">'c:/python'</span><span class="p">)</span>
<span class="c"># PYTHONPATH的环境变量配置(在每次登录都要执行的shell文件中设置环境变量)</span>
<span class="n">vim</span> <span class="o">~/.</span><span class="n">bashrc</span>
<span class="n">export</span> <span class="n">PYTHONPATH</span><span class="o">=</span><span class="err">$</span><span class="n">PYTHONPATH</span><span class="p">:</span><span class="o">~/</span><span class="n">python</span><span class="p">;</span><span class="o">~/</span><span class="n">genedock</span> <span class="c"># (路径以分号分割就好)</span>
</code></pre></div></div>
<blockquote>
<p>包</p>
</blockquote>
<p>包的本质:包也是模块。模块存在文件中,包就是模块的目录,为了让Python把它当包对待,需要含一个名为<code class="highlighter-rouge">__init__.py</code>的文件。</p>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 引入drawing包中的__init__模块</span>
<span class="kn">import</span> <span class="nn">drawing</span>
<span class="c"># drawing中的colors模块可用,且只能带包名引用</span>
<span class="kn">import</span> <span class="nn">drawing.colors</span>
<span class="c"># drawing中的shapes模块可用,可以不带包名用</span>
<span class="kn">from</span> <span class="nn">drawing</span> <span class="kn">import</span> <span class="n">shapes</span>
<span class="c"># drawing.__all__变量中的公有接口;如果没有,导入非下划线开头的全局名称</span>
<span class="kn">from</span> <span class="nn">drawing</span> <span class="kn">import</span> <span class="o">*</span>
</code></pre></div></div>
<blockquote>
<p>探究模块</p>
</blockquote>
<ol>
<li>模块中有什么</li>
</ol>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 使用dir:列出对象所有的特性(函数、类、变量),有些已_开头表示约定不是外部使用的</span>
<span class="p">[</span><span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">dir</span><span class="p">(</span><span class="n">copy</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">n</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">'_'</span><span class="p">)]</span>
<span class="err">输出:</span><span class="p">[</span><span class="s">'Error'</span><span class="p">,</span> <span class="s">'PyStringMap'</span><span class="p">,</span> <span class="s">'copy'</span><span class="p">,</span> <span class="s">'deepcopy'</span><span class="p">,</span> <span class="s">'dispatch_table'</span><span class="p">,</span> <span class="s">'error'</span><span class="p">,</span> <span class="s">'name'</span><span class="p">,</span> <span class="s">'t'</span><span class="p">,</span> <span class="s">'weakref'</span><span class="p">]</span>
<span class="c"># __all__变量:定义模块的公有接口</span>
<span class="n">copy</span><span class="o">.</span><span class="n">__all__</span>
<span class="err">输出:</span><span class="p">[</span><span class="s">'Error'</span><span class="p">,</span> <span class="s">'copy'</span><span class="p">,</span> <span class="s">'deepcopy'</span><span class="p">]</span>
</code></pre></div></div>
<ol>
<li>文档</li>
</ol>
<p>当你的需求非常小:range的参数是什么?</p>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">print</span> <span class="nb">range</span><span class="o">.</span><span class="n">__doc__</span>
</code></pre></div></div>
<p>如果需要更详细的文档,参考官方库。</p>
<ol>
<li>使用源代码</li>
</ol>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 模拟解释器import模块的时候去找</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span>
<span class="c"># 检查模块的__file__属性</span>
<span class="k">print</span> <span class="n">copy</span><span class="o">.</span><span class="n">__file__</span>
</code></pre></div></div>
模块用于定义
《Web全栈工程师的自我修养》读书笔记 | 高效工程师
2017-05-11T00:00:00+00:00
2017-05-11T00:00:00+00:00
https://iriscsx.github.io/2017/05/11/%E3%80%8AWeb%E5%85%A8%E6%A0%88%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9A%84%E8%87%AA%E6%88%91%E4%BF%AE%E5%85%BB%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0%20%7C%20%E9%AB%98%E6%95%88%E5%B7%A5%E7%A8%8B%E5%B8%88
<h3 id="消除重复性工作">消除重复性工作</h3>
<p>基本原则:</p>
<blockquote>
<p>重复性工作应该交给计算机。</p>
</blockquote>
<p>如何消除重复性工作?(两步)</p>
<blockquote>
<p>第一步:识别时间花费在哪里(以此来作为优化目标)</p>
</blockquote>
<p>合并代码?发布流程部署?提交测试?</p>
<blockquote>
<p>第二步:使用已有工具来代替</p>
</blockquote>
<p>工具的来源:GitHub上面搜索相关的关键词;自己编写</p>
<h3 id="纸上头脑风暴">纸上头脑风暴</h3>
<blockquote>
<p>在电脑上工作前,先在纸上画出自己的想法。</p>
</blockquote>
<h3 id="加班是一种文化">加班是一种文化?</h3>
<p>导致加班的原因</p>
<p>根本原因:</p>
<blockquote>
<p>工作没有完成</p>
</blockquote>
<p>直接原因:</p>
<blockquote>
<p>1.糟糕的项目管理,领导没安排好工作</p>
</blockquote>
<blockquote>
<p>2.员工能力不够,效率不高,没有按时完成任务</p>
</blockquote>
<p>解决方式:</p>
<blockquote>
<p>以上两种原因导致的加班都应该找领导沟通</p>
</blockquote>
<p>正确的态度:</p>
<blockquote>
<p>1.用积极的态度思考问题。不要消极的坐在那里,浪费自己的时间和情绪。</p>
</blockquote>
<blockquote>
<p>2.下班之后不要处理工作需求了,多点时间自我学习、分享、看开源项目。重点是<em>不要加班做白天遗留的工作</em></p>
</blockquote>
消除重复性工作
DBMS | 1.介绍DBMS
2017-04-09T00:00:00+00:00
2017-04-09T00:00:00+00:00
https://iriscsx.github.io/2017/04/09/DBMS%20%7C%20%E4%BB%8B%E7%BB%8DDBMS
<p>本系列是学习笔记,来自<a href="https://www.youtube.com/watch?v=1057YmExS-I&list=PLEbnTDJUr_Ic_9b4PcKmlae41cyxEefot">youtube视频博主Ravindrababu Ravula的课程DBMS</a></p>
<h3 id="介绍dmbs">介绍DMBS</h3>
<p>你必须得清除的知道这些事代表的意义。
以下的定义都是基于本节课的定义,也许其它地方的定义不一样,但是本节课就是这样的定义。
这里讨论的data是fact和能被recorded的,如果它能被recorded,那它就是data.</p>
<ul>
<li>data定义:data is just a fact which can be recorded and stored</li>
<li>databbase定义:database is collection of related data</li>
</ul>
<p>database(DB)的类型</p>
<ul>
<li>只包含texted numbers ,被叫做traditional database(TDB)</li>
<li>数据库的内容包含的是vieo,music,songs,movies等等,叫做multimedia database(MDB)</li>
<li>主要包含图片,叫做geographic information systems(GIS)</li>
<li>你有一个market,你想知道每个type还剩多少iterms,real-time database(RDB)</li>
<li>当数据非常非常的大的时候,data warehouse(DM)</li>
</ul>
<p>database management systern(DBMS)</p>
<p>当你有一个数据库时,你应该对它做以下的操作</p>
<ul>
<li>define:define some programes(data types、the structures、)</li>
<li>construct定义:how are u going to place the data on the hard disk/the storage device</li>
<li>manipulate定义:CRUD</li>
</ul>
<p>database management systern(DBMS)定义:set of programs which用来做上面三个操作的,它仅仅是一个software</p>
<p>DB+DBMS = DBS
理解这个公式,把DB想象成书,把DBMS想象成笔</p>
<h3 id="database-model">database model</h3>
本系列是学习笔记,来自youtube视频博主Ravindrababu Ravula的课程DBMS