-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpep8-zong-jie.html
348 lines (293 loc) · 28.9 KB
/
pep8-zong-jie.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Won" />
<meta name="copyright" content="Won" />
<meta name="keywords" content="Django,python, It, " />
<title>PEP8 总结 · Tugqi Biz
</title>
<link href="http://cdn-images.mailchimp.com/embedcode/slim-081711.css" rel="stylesheet" type="text/css">
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="http://wbowam.github.io/theme/css/style.css" media="screen">
<link rel="stylesheet" type="text/css" href="http://wbowam.github.io/theme/css/solarizedlight.css" media="screen">
<link rel="shortcut icon" href="http://wbowam.github.io/theme/images/favicon.ico" type="image/x-icon" />
<link rel="apple-touch-icon" href="http://wbowam.github.io/theme/images/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="57x57" href="http://wbowam.github.io/theme/images/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="http://wbowam.github.io/theme/images/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="114x114" href="http://wbowam.github.io/theme/images/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon" sizes="144x144" href="http://wbowam.github.io/theme/images/apple-touch-icon-144x144.png" />
<link rel="icon" href="http://wbowam.github.io/theme/images/apple-touch-icon-144x144.png" />
</head>
<body>
<div id="content-sans-footer">
<div class="navbar navbar-static-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="http://wbowam.github.io/"><span class=site-name>Tugqi Biz</span></a>
<div class="nav-collapse collapse">
<ul class="nav pull-right top-menu">
<li ><a href="http://wbowam.github.io">Home</a></li>
<li ><a href="http://wbowam.github.io/categories.html">Categories</a></li>
<li ><a href="http://wbowam.github.io/tags.html">Tags</a></li>
<li ><a href="http://wbowam.github.io/archives.html">Archives</a></li>
<li><form class="navbar-search" action="http://wbowam.github.io/search.html" onsubmit="return validateForm(this.elements['q'].value);"> <input type="text" class="search-query" placeholder="Search" name="q" id="tipue_search_input"></form></li>
</ul>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span1"></div>
<div class="span10">
<article>
<div class="row-fluid">
<header class="page_header span10">
<h1><a href="http://wbowam.github.io/pep8-zong-jie.html"> PEP8 总结 </a></h1>
</header>
</div>
<div class="row-fluid">
<div class="span10 article-content">
<p>pep8除了是一个标准,也是一个软件包的名字。 <br />
提供一个pep8检测器。<br />
运行很简单:pep8 INPUT_FILES ...<br />
查看帮助:pep8 --help </p>
<p>一般来说,如果要检查代码,pylint和pep8最好都运行一下。pep8只能检测格式,pylint不仅检测格式,还检测语意。 </p>
<p>下文参考总结bobo的日记,感谢前辈分享~~~</p>
<hr />
<h2 id="_1">一 代码编排<a class="headerlink" href="#_1" title="Permanent link">¶</a></h2>
<p>1 缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。python3 已经不允许空格和Tab混用了。 <br />
2 每行最大长度79,换行可以使用反斜杠。换行点要在操作符的后边敲回车。 </p>
<div class="highlight"><pre><span class="n">with</span> <span class="n">open</span><span class="p">(</span><span class="err">'</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">some</span><span class="o">/</span><span class="n">file</span><span class="o">/</span><span class="n">you</span><span class="o">/</span><span class="n">want</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">read</span><span class="err">'</span><span class="p">)</span> <span class="n">as</span> <span class="n">file_1</span><span class="p">,</span> \
<span class="n">open</span><span class="p">(</span><span class="err">'</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">some</span><span class="o">/</span><span class="n">file</span><span class="o">/</span><span class="n">being</span><span class="o">/</span><span class="n">written</span><span class="err">'</span><span class="p">,</span> <span class="sc">'w'</span><span class="p">)</span> <span class="n">as</span> <span class="n">file_2</span><span class="o">:</span>
<span class="n">file_2</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="n">file_1</span><span class="p">.</span><span class="n">read</span><span class="p">())</span>
</pre></div>
<p>3 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。<br />
4 和括号开始的部分对齐: </p>
<div class="highlight"><pre><span class="nx">foo</span> <span class="o">=</span> <span class="nx">long_function_name</span><span class="p">(</span><span class="nx">var_one</span><span class="p">,</span> <span class="nx">var_two</span><span class="p">,</span>
<span class="nx">var_three</span><span class="p">,</span> <span class="nx">var_four</span><span class="p">)</span>
<span class="err">#需要更多一层的缩进</span>
<span class="nx">def</span> <span class="nx">long_function_name</span><span class="p">(</span>
<span class="nx">var_one</span><span class="p">,</span> <span class="nx">var_two</span><span class="p">,</span> <span class="nx">var_three</span><span class="p">,</span>
<span class="nx">var_four</span><span class="p">)</span><span class="o">:</span>
<span class="nx">print</span><span class="p">(</span><span class="nx">var_one</span><span class="p">)</span>
<span class="err">##</span> <span class="err">千万不能与下一个代码行对齐。。。。</span>
</pre></div>
<p>5 在闭合的括号中不要加空格</p>
<div class="highlight"><pre><span class="nx">my_list</span> <span class="o">=</span> <span class="cp">[</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="cp">]</span>
<span class="nx">result</span> <span class="o">=</span> <span class="nx">some_function_that_takes_arguments</span><span class="p">(</span>
<span class="s1">'a'</span><span class="p">,</span> <span class="s1">'b'</span><span class="p">,</span> <span class="s1">'c'</span><span class="p">,</span>
<span class="s1">'d'</span><span class="p">,</span> <span class="s1">'e'</span><span class="p">,</span> <span class="s1">'f'</span><span class="p">,</span>
<span class="p">)</span>
</pre></div>
<h3 id="_2">二 文档编排<a class="headerlink" href="#_2" title="Permanent link">¶</a></h3>
<p>1 模块内容的顺序:模块说明和docstring—import—globals&constants(静态或全局变量)—其他定义。 <br />
使用绝对路径import,不用import * ,可能会导入到名字相同的冲突的包 <br />
包含顺序也有讲究,顺序如下(他们之间最好加一个换行):
* 标准库
* 第三方库
* 本地的应用或者库 <br />
2 不要在一句import中多个库,比如import os, sys不推荐。 <br />
3 如果采用from XX import XX引用库,可以省略‘module.’,都是可能出现命名冲突,这时就要采用import XX。 </p>
<h3 id="_3">三 空格的使用<a class="headerlink" href="#_3" title="Permanent link">¶</a></h3>
<div class="highlight"><pre> <span class="err">总体原则,避免不必要的空格。</span>
</pre></div>
<p>1 各种右括号前不要加空格。<br />
2 逗号、冒号、分号前不要加空格。 </p>
<div class="highlight"><pre><span class="n">Yes</span><span class="o">:</span> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">4</span><span class="o">:</span> <span class="n">print</span> <span class="n">x</span><span class="o">,</span> <span class="n">y</span><span class="o">;</span> <span class="n">x</span><span class="o">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">y</span><span class="o">,</span> <span class="n">x</span>
<span class="n">No</span><span class="o">:</span> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">4</span> <span class="o">:</span> <span class="n">print</span> <span class="n">x</span> <span class="o">,</span> <span class="n">y</span> <span class="o">;</span> <span class="n">x</span> <span class="o">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">y</span> <span class="o">,</span> <span class="n">x</span>
</pre></div>
<p>3 函数的左括号前不要加空格。如Func(1)。序列的左括号前不要加空格。如list[2]。 <br />
4 不要为了对齐增加空格。 <br />
5 <strong>操作符左右各加一个空格.</strong> <br />
6 缺省值等号两边无空格: </p>
<div class="highlight"><pre><span class="n">def</span> <span class="n">connect</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="n">None</span><span class="p">)</span><span class="o">:</span>
<span class="n">self</span><span class="p">.</span><span class="n">_user</span> <span class="o">=</span> <span class="n">user</span>
</pre></div>
<p>7 不要将多句语句写在同一行,尽管使用‘;’允许。<br />
8 if/for/while语句中,即使执行语句只有一句,也必须另起一行。 </p>
<h3 id="_4">四 注释<a class="headerlink" href="#_4" title="Permanent link">¶</a></h3>
<div class="highlight"><pre> <span class="err">总体原则,错误的注释不如没有注释。所以当一段代码发生变化时,第一件事就是要修改注释!</span>
<span class="err">注释必须使用英文,最好是完整的句子,首字母大写,句后要有结束符,结束符后跟两个空格,开始下一句。</span>
<span class="err">如果是短语,可以省略结束符。</span>
</pre></div>
<p>1 块注释,在一段代码前增加的注释。在‘#’后加一空格。段落之间以只有‘#’的行间隔。比如: </p>
<div class="highlight"><pre><span class="c"># Description : Module config.</span>
<span class="c"># </span>
<span class="c"># Input : None</span>
<span class="c">#</span>
<span class="c"># Output : None</span>
</pre></div>
<p>2 行注释,在一句代码后加注释。比如:x = x + 1 # Increment x<br />
但是这种方式尽量少使用。<br />
3 避免无谓的注释。 </p>
<h3 id="_5">五 命名规范<a class="headerlink" href="#_5" title="Permanent link">¶</a></h3>
<p>1 常量 : 大写加下划线 </p>
<div class="highlight"><pre><span class="n">STATUS</span> <span class="o">=</span> <span class="p">{</span>
<span class="mi">0</span><span class="o">:</span> <span class="n">u</span><span class="err">'正常'</span><span class="p">,</span>
<span class="mi">1</span><span class="o">:</span> <span class="n">u</span><span class="err">'草稿'</span><span class="p">,</span>
<span class="mi">2</span><span class="o">:</span> <span class="n">u</span><span class="err">'删除'</span><span class="p">,</span>
<span class="p">}</span>
<span class="cp"># 加下划线</span>
<span class="n">POST_STATUS</span> <span class="o">=</span> <span class="p">{</span>
<span class="mi">0</span><span class="o">:</span> <span class="n">u</span><span class="err">'正常'</span><span class="p">,</span>
<span class="mi">1</span><span class="o">:</span> <span class="n">u</span><span class="err">'草稿'</span><span class="p">,</span>
<span class="mi">2</span><span class="o">:</span> <span class="n">u</span><span class="err">'删除'</span><span class="p">,</span>
<span class="p">}</span>
</pre></div>
<p>2 类总是使用驼峰格式命名,即所有单词首字母大写其余字母小写。类名应该简明,精确. </p>
<div class="highlight"><pre><span class="n">class</span> <span class="n">UserProfile</span><span class="p">(</span><span class="n">BaseProfile</span><span class="p">)</span><span class="o">:</span>
<span class="n">def</span> <span class="n">__init__</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="n">profile</span><span class="p">)</span><span class="o">:</span>
<span class="k">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_profile</span> <span class="o">=</span> <span class="n">profile</span>
<span class="n">def</span> <span class="n">profile</span><span class="p">(</span><span class="n">self</span><span class="p">)</span><span class="o">:</span>
<span class="k">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_profile</span>
</pre></div>
<p>3 模块和包.除特殊模块 <strong>init</strong> 之外,模块名称都使用不带下划线的小写字母。<br />
若是它们实现一个协议,那么通常使用lib为后缀,例如: </p>
<div class="highlight"><pre><span class="n">import</span> <span class="n">smtplib</span>
<span class="n">import</span> <span class="n">os</span>
<span class="n">import</span> <span class="n">sys</span>
</pre></div>
<h5 id="_6">分行包含:<a class="headerlink" href="#_6" title="Permanent link">¶</a></h5>
<div class="highlight"><pre><span class="n">Yes</span><span class="o">:</span> <span class="k">import</span> <span class="nn">os</span>
<span class="k">import</span> <span class="nn">sys</span>
<span class="n">No</span><span class="o">:</span> <span class="k">import</span> <span class="nn">sys</span><span class="o">,</span> <span class="n">os</span>
</pre></div>
<h5 id="_7">下面的也可以:<a class="headerlink" href="#_7" title="Permanent link">¶</a></h5>
<div class="highlight"><pre><span class="n">from</span> <span class="n">subprocess</span> <span class="n">import</span> <span class="n">Popen</span><span class="p">,</span> <span class="n">PIPE</span>
</pre></div>
<p>4 使用 has 或 is 前缀命名布尔元素 </p>
<div class="highlight"><pre><span class="n">is_connect</span> <span class="o">=</span> <span class="n">True</span>
<span class="n">has_member</span> <span class="o">=</span> <span class="n">False</span>
</pre></div>
<p>5 用复数形式命名序列 </p>
<div class="highlight"><pre><span class="n">members</span> <span class="o">=</span> <span class="p">[</span><span class="err">'</span><span class="n">user_1</span><span class="err">'</span><span class="p">,</span> <span class="err">'</span><span class="n">user_2</span><span class="err">'</span><span class="p">]</span>
</pre></div>
<p>6 避免通用名称,避免现有名称 <br />
诸如 list, dict, sequence 或者 element 这样的名称应该避免<br />
诸如 os, sys 这种系统已经存在的名称应该避免。 </p>
<p>7 异常名:加入后缀Error<br />
8 函数名:小写+下划线<br />
9 函数和方法的参数:实例使用self 开始,类使用cls 开始。如果和系统参数名重复,在其后加_ </p>
<h3 id="_8">六 验证脚本<a class="headerlink" href="#_8" title="Permanent link">¶</a></h3>
<p>可以安装一个 pep8 脚本用于验证你的代码风格是否符合 PEP8。</p>
<div class="highlight"><pre><span class="n">pip</span> <span class="n">install</span> <span class="n">pep8</span>
<span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">upgrade</span> <span class="n">pep8</span>
<span class="n">pip</span> <span class="n">uninstall</span> <span class="n">pep8</span>
</pre></div>
<p>Example usage and output</p>
<div class="highlight"><pre><span class="err">$</span> <span class="n">pep8</span> <span class="o">--</span><span class="n">first</span> <span class="n">optparse</span><span class="p">.</span><span class="n">py</span>
<span class="cp"># 也可以传一个文件夹,pep8 --first apps/ </span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">69</span><span class="o">:</span><span class="mi">11</span><span class="o">:</span> <span class="n">E401</span> <span class="n">multiple</span> <span class="n">imports</span> <span class="n">on</span> <span class="n">one</span> <span class="n">line</span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">77</span><span class="o">:</span><span class="mi">1</span><span class="o">:</span> <span class="n">E302</span> <span class="n">expected</span> <span class="mi">2</span> <span class="n">blank</span> <span class="n">lines</span><span class="p">,</span> <span class="n">found</span> <span class="mi">1</span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">88</span><span class="o">:</span><span class="mi">5</span><span class="o">:</span> <span class="n">E301</span> <span class="n">expected</span> <span class="mi">1</span> <span class="n">blank</span> <span class="n">line</span><span class="p">,</span> <span class="n">found</span> <span class="mi">0</span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">222</span><span class="o">:</span><span class="mi">34</span><span class="o">:</span> <span class="n">W602</span> <span class="n">deprecated</span> <span class="n">form</span> <span class="n">of</span> <span class="n">raising</span> <span class="n">exception</span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">347</span><span class="o">:</span><span class="mi">31</span><span class="o">:</span> <span class="n">E211</span> <span class="n">whitespace</span> <span class="n">before</span> <span class="sc">'('</span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">357</span><span class="o">:</span><span class="mi">17</span><span class="o">:</span> <span class="n">E201</span> <span class="n">whitespace</span> <span class="n">after</span> <span class="sc">'{'</span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">472</span><span class="o">:</span><span class="mi">29</span><span class="o">:</span> <span class="n">E221</span> <span class="n">multiple</span> <span class="n">spaces</span> <span class="n">before</span> <span class="n">operator</span>
<span class="n">optparse</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">544</span><span class="o">:</span><span class="mi">21</span><span class="o">:</span> <span class="n">W601</span> <span class="p">.</span><span class="n">has_key</span><span class="p">()</span> <span class="n">is</span> <span class="n">deprecated</span><span class="p">,</span> <span class="n">use</span> <span class="err">'</span><span class="n">in</span><span class="err">'</span>
</pre></div>
<p>You can also make pep8.py show the source code for each error, and even the relevant text from PEP 8: </p>
<div class="highlight"><pre><span class="err">$</span> <span class="n">pep8</span> <span class="o">--</span><span class="n">show</span><span class="o">-</span><span class="n">source</span> <span class="o">--</span><span class="n">show</span><span class="o">-</span><span class="n">pep8</span> <span class="n">testsuite</span><span class="o">/</span><span class="n">E40</span><span class="p">.</span><span class="n">py</span>
<span class="n">testsuite</span><span class="o">/</span><span class="n">E40</span><span class="p">.</span><span class="n">py</span><span class="o">:</span><span class="mi">2</span><span class="o">:</span><span class="mi">10</span><span class="o">:</span> <span class="n">E401</span> <span class="n">multiple</span> <span class="n">imports</span> <span class="n">on</span> <span class="n">one</span> <span class="n">line</span>
<span class="n">import</span> <span class="n">os</span><span class="p">,</span> <span class="n">sys</span>
<span class="o">^</span>
<span class="n">Imports</span> <span class="n">should</span> <span class="n">usually</span> <span class="n">be</span> <span class="n">on</span> <span class="n">separate</span> <span class="n">lines</span><span class="p">.</span>
<span class="nl">Okay:</span> <span class="n">import</span> <span class="n">os</span><span class="err">\</span><span class="n">nimport</span> <span class="n">sys</span>
<span class="nl">E401:</span> <span class="n">import</span> <span class="n">sys</span><span class="p">,</span> <span class="n">os</span>
</pre></div>
<h6 id="sublime2autopep8">你也可以装上sublime2插件<code>AutoPEP8</code>,右键即可规范代码<a class="headerlink" href="#sublime2autopep8" title="Permanent link">¶</a></h6>
<div class="highlight"><pre><span class="nl">AutoPEP8:</span>
<span class="o">--------</span>
<span class="n">Sublime</span> <span class="n">Auto</span> <span class="n">PEP8</span> <span class="n">Formatting</span>
<span class="p">(</span><span class="n">https</span><span class="o">:</span><span class="c1">//github.com/wistful/SublimeAutoPEP8)</span>
<span class="n">Automatically</span> <span class="n">formats</span> <span class="n">Python</span> <span class="n">code</span> <span class="n">to</span> <span class="n">conform</span> <span class="n">to</span> <span class="n">the</span> <span class="n">PEP</span> <span class="mi">8</span> <span class="n">style</span> <span class="n">guide</span> <span class="n">using</span> <span class="n">autopep8</span> <span class="n">module</span>
<span class="n">Support</span> <span class="n">ST2</span> <span class="n">and</span> <span class="n">ST3</span>
<span class="nl">Features:</span>
<span class="n">format</span> <span class="o">/</span> <span class="n">preview</span> <span class="n">code</span> <span class="n">according</span> <span class="n">PEP8</span>
<span class="n">format</span> <span class="o">/</span> <span class="n">preview</span> <span class="n">selected</span> <span class="n">text</span>
<span class="n">format</span> <span class="o">/</span> <span class="n">preview</span> <span class="n">all</span> <span class="n">python</span> <span class="n">modules</span> <span class="n">in</span> <span class="n">folder</span>
<span class="n">side</span> <span class="n">bar</span> <span class="n">menu</span>
<span class="n">formated</span> <span class="n">code</span> <span class="k">while</span> <span class="n">saving</span>
<span class="nl">Using:</span>
<span class="n">SideBar</span> <span class="o">-</span> <span class="n">right</span> <span class="n">click</span> <span class="n">on</span> <span class="n">the</span> <span class="n">file</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="n">or</span> <span class="n">folder</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
<span class="n">Active</span> <span class="n">view</span> <span class="o">-</span> <span class="n">right</span> <span class="n">click</span> <span class="n">on</span> <span class="n">the</span> <span class="n">view</span>
<span class="n">Selected</span> <span class="n">text</span> <span class="o">-</span> <span class="n">right</span> <span class="n">click</span> <span class="n">on</span> <span class="n">the</span> <span class="n">selected</span> <span class="n">text</span>
<span class="n">On</span> <span class="n">Save</span> <span class="o">-</span> <span class="n">provide</span> <span class="n">by</span> <span class="n">settings</span><span class="o">:</span> <span class="n">option</span> <span class="n">format_on_save</span>
<span class="n">Command</span> <span class="n">Palette</span> <span class="o">-</span> <span class="n">bring</span> <span class="n">up</span> <span class="n">the</span> <span class="n">Command</span> <span class="n">Palette</span> <span class="n">and</span> <span class="n">select</span> <span class="err">`</span><span class="n">PEP8</span><span class="o">:</span> <span class="n">Format</span> <span class="n">Code</span><span class="err">`</span> <span class="n">or</span> <span class="err">`</span><span class="n">PEP8</span><span class="o">:</span> <span class="n">Preview</span> <span class="n">Changes</span><span class="err">`</span>
<span class="n">Hotkeys</span> <span class="o">-</span> <span class="err">`</span><span class="n">Command</span><span class="o">/</span><span class="n">Control</span> <span class="o">+</span> <span class="n">Shift</span> <span class="o">+</span> <span class="mi">8</span><span class="err">`</span> <span class="n">to</span> <span class="n">format</span> <span class="n">code</span><span class="p">,</span> <span class="err">`</span><span class="n">Command</span><span class="o">/</span><span class="n">Control</span> <span class="o">+</span> <span class="mi">8</span><span class="err">`</span> <span class="n">to</span> <span class="n">preview</span> <span class="n">changes</span>
</pre></div>
<h3 id="_9">七 源码文件的编码<a class="headerlink" href="#_9" title="Permanent link">¶</a></h3>
<p>python2 默认ASCII ,python3 默认utf8 <br />
都用utf8省事 </p>
<aside>
<hr/>
<nav>
<ul class="articles_timeline">
<li class="previous_article">« <a href="http://wbowam.github.io/python-decorators.html" title="Previous: Python Decorators">Python Decorators</a></li>
<li class="next_article"><a href="http://wbowam.github.io/django-dir-pei-zhi-fang-fa-yi.html" title="Next: Django Dir 配置(方法一)">Django Dir 配置(方法一)</a> »</li>
</ul>
</nav>
</aside>
<!-- Duoshuo Comment BEGIN -->
<div class="ds-thread" data-author-key="4433755"></div>
<script type="text/javascript">
var duoshuoQuery = {short_name:"tlbog"};
(function() {
var ds = document.createElement('script');
ds.type = 'text/javascript';ds.async = true;
ds.src = 'http://static.duoshuo.com/embed.js';
ds.charset = 'UTF-8';
(document.getElementsByTagName('head')[0]
|| document.getElementsByTagName('body')[0]).appendChild(ds);
})();
</script>
<!-- Duoshuo Comment END -->
</div>
<section>
<div class="span2" style="float:right;font-size:0.9em;">
<h4>Published</h4>
<time pubdate="pubdate" datetime="2014-05-14T00:00:00+08:00">May 14, 2014</time>
<h4>Category</h4>
<a class="category-link" href="/categories.html#It-ref">It</a>
<h4>Tags</h4>
<ul class="list-of-tags tags-in-article">
<li><a href="/tags.html#Django,python-ref">Django,python
<span>1</span>
</a></li>
</ul>
</div>
</section>
</div>
</article>
</div>
<div class="span1"></div>
</div>
</div>
</div>
<footer>
<div id="footer">
<ul class="footer-content">
<li class="elegant-power">Powered by <a href="http://getpelican.com/" title="Pelican Home Page">Pelican</a>. Theme: <a href="http://oncrashreboot.com/pelican-elegant" title="Theme Elegant Home Page">Elegant</a> by <a href="http://oncrashreboot.com" title="Talha Mansoor Home Page">Talha Mansoor</a></li>
</ul>
</div>
</footer> <script src="http://code.jquery.com/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
<script>
function validateForm(query)
{
return (query.length > 0);
}
</script>
</body>
</html>