Python 板


LINE

未来几天不一定会有网路,今天先写个几篇放着免得富奸~ --------------------------------------------------- 原文网址:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html * 档案与接口 (Socket) 使用完档案及接口要明确地关闭它们。 档案、接口、或其他类似档案操作方式的物件,若已经不需要使用却还开着有许多 坏处,包括: - 它们会消耗有限的系统资源,如:档案述叙符 (file descriptor)。在程式中 大量使用这种物件,且在使用完後没有把资源还给系统,将造成许多不必要的浪 费。 - 保持档案开启会妨碍其他对此档案的操作,例如移动和删除档案。 - 若逻辑上而言档案或接口应该要被关闭了,但没关闭而且又不小心在程式的其 他部份对该档进行读写,则会造成问题。若记得关闭,则读写的动作会丢出例外 ,让程式尽早发现问题。 此外,虽然档案和接口在程式档案物件结束时就会被销毁并回收,但在整个程式档 案物件的生存时间都占用这些资源并不合适,理由如下: - 档案实际上何时会被关闭并回收资源其实并不一定。不同的 Python 版本可能 使用不一样的记忆体管理策略,如:延迟垃圾回收 (delayed garbage collection),这种策略可能增加物件的生存时间,而且增加的时间长短未知。 - 意料外的档案参考可能使它存在的时间比预期的时间久,如:在例外追纵中, 或在 global 之中 (编案:我不知道 inside globals 是什麽意思)。 操作档案时优先使用 with 叙述: with open("hello.txt") as hello_file: for line in hello_file: print line 若类似档案操作方式的物件不支援 with 叙述,使用 contextlib.closing(): import contextlib with contextlib.closing(urllib.urlopen("http://www.python.org/")) as front_page: for line in front_page: print line Python 2.5 遗留下来的程式,若要使用 with 叙述,可用: "from __future__ import with_statement" * TODO 注解 当程式码是暂时的解法,或者是一个尚可但不完美的解法,则应加上 TODO 注解。 TODO 注解应包含 "TODO" 字串,全部大写,然後用括弧包住能了解 TODO 待解决 事项的程式设计师的姓名,邮件地址,或其他能识别其身份的资讯。後面可以加上 冒号也可不加,然後说明 TODO 的事项是什麽。主要的目的是要有一个统一的 TODO 格式,事後才能搜寻并找到了解细节的人。写 TODO 的人并不代表就一定要是实际 解决此问题的人,通常 TODO 的连络人资讯就是写 TODO 的人的资讯。 # TODO([email protected]): Use a "*" here for string repetition. # TODO(Zeke) Change this to use relations. 若 TODO 的事项是 "未来应完成某某功能",应明确地写出未来的时间 (在 2009 年 11 月前修复),或很明确的事项 (当所有的 client 都能处理 XML 回应,就删 除这段程式)。 * import 格式 不同的 import 要分行 例子: Yes: import os import sys No: import os, sys import 永远放在档案的开头的区段,在模组的注解与文件字串 (doc string) 之 後,模组等级变数及常数之前。import 的顺序应从最普遍的写到最少见的: - 标准函式 - 第三方函式 - 此应用程式专属函式 在每一类中,import 的对象依字母顺序排列,不管大小写,并以模组的完整 package 名称为比较的基准。 import foo from foo import bar from foo.bar import baz from foo.bar import Quux from Foob import ar --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 68.232.121.105 ※ 编辑: sandwichC 来自: 68.232.121.105 (05/15 08:30)
1F:→ timTan:之前没有 TODO 的习惯,未来可以试试看~ 05/19 10:52







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP