Skip to main content

01 - Python 常见版本兼容性问题

中文处理

如果在 Python 脚本中出现了中文,需要在 shebang 下添加一行:

# -*- coding: utf-8 -*-

字符编码

  • Python 2 的默认字符编码为 ascii;
  • Python 3 的默认字符编码为 utf-8;

print

  • 在 Python 2 下,print 是一个内置语句,通过 print "string" 的方式使用;
  • 在 Python 3 下,print 是一个内置函数,通过 print("string") 的方式使用。
print "blah blah"

字符串格式化

"str: %s, int: %d." % ("string", 10)

整数除法

  • Python 2 下,两个整数相除总是返回整数;
  • Python 3 下,除法总是返回浮点数。

希望返回整数:

3 / 2
type(3 / 2)

希望返回浮点数:

3 * 1.0 / 2
type(3 * 1.0 / 2)

异常处理

try:
raise TypeError, "类型错误"
except TypeError, error:
print(error)