python核心编程是怎样的呢?小编在网上搜集了一些资料上传供大家参考。
把 Unicode 应用到实际应用中
这些处理 Unicode 字符串的例子简单到让人感到有点假, 事实上, 只要你遵守以下的规则, 处理 Unicode 就是这么简单: 程序中出现字符串时一定要加个前缀 u. 不要用 str()函数,用 unicode()代替. 不要用过时的 string 模块 -- 如果传给它的是非 ASCII 字符,它会把一切搞砸。 不到必须时不要在你的程序里面编解码 Unicod 字符.只在你要写入文件或数据库或者 网络时, 才调用 encode()函数;相应地, 只在你需要把数据读回来的时候才调用 decode() 函数. 这些规则可以规避 90%由于 Unicode 字符串处理引起的 bug.现在的问题是剩下的 10%的问 题却让你处理不了,幸亏 Python 提供了大量的模块、库来替你处理这些问题.它们可以让你用 10 行 Python 语句写出其他语言需要 100 行语句才能完成的功能,但是相应地,对 Unicode 支 持的质量也完全取决于这些模块、库. Python 标准库里面的绝大部分模块都是兼容 Unicode 的.除了 pickle 模块! pickle 模块只 支持 ASCII 字符串。如果你把一个 Unicode 字符串交给 pickle 模块来 unpickle,它会报异常. 你必须先把你的字符串转换成 ASCII 字符串才可以.所以最好是避免基于文本的 pickle 操作. 幸运地是现在二进制格式已经作为 pickle 的默认格式了,pickle 的二进制格式支持不错.这点 在你向数据库里面存东西是尤为突出, 把它们作为 BLOB 字段存储而不是作为 TEXT 或者 VARCHAR 字段存储要好很多.万一有人把你的字段改成了 Unicode 类型,这可以避免 pickle 的崩溃. 如果你的程序里面用到了很多第三方模块,那么你很可能在各个模块统一使用 Unicode 通 讯方面遇到麻烦,Unicode 还没成为一项必须的规定,在你系统里面的第三方模块(包括你的应 用要面对的平台\系统)需要用相同的 Unicode 编码,否则,可能你就不能正确的读写数据.
附件列表