关于python unicode的实验
实验环境:windows xp + vim
文件:test.py。编码:ansi
我们的目标操作test.py中保存的非英文字母。
文件头的#encoding=utf8/gbk,这个是用来说明源文件的硬盘编码以便python识别[4]。
----------------------------------------------
输入:
x = '中文'
输出: 编译失败
编译时需要知道‘中文’的硬盘编码(#encoding=utf8...)。
----------------------------------------------
输入:
#encoding=utf8
x = '中文'
输出: 编译失败
#encoding=utf8与实际源文件的编码不一致(ansi)
----------------------------------------------
#encoding=gbk
x = '中文'
输出:编译成功
同样,把文件存为utf8, 内容改为:
#encoding=utf8
x = '中文'
输出:同样编译成功
----------------------------------------------
#encoding=gbk
' 中文'.decode('gbk')
输出:编译成功
----------------------------------------------
#encoding=gbk
x = '中文'.decode('utf8')
输出: 编译失败。'中文'二字在python当前的内存中是gbk编码,因此只能用gbk decode.
----------------------------------------------
#encoding=gbk
x = '中文'.decode()
输出: 编译失败。因为decode无参数,系统则默认地认为'中文'二字是ascii, 从而尝试将ascii编为unicode。由于'中文'二字在python当前的内存中是gbk编码,只能用gbk decode,因此报错
----------------------------------------------
#encoding=gbk
x = u'中文'.encode('gbk')
print type(u'中文'),type(x),x
输出: <type 'unicode'> <type 'str'> 中文。
----------------------------------------------
#encoding=gbk
x = u'中文'.encode('utf8')
print type(u'中文'),type(x),x
输出:
<type 'unicode'> <type 'str'> 涓枃。虽然还是能运行,但是输出了错误结果,因为实际编码(gbk)和声明的编码(utf8)不匹配
----------------------------------------------
#encoding=gbk
x = ['中文', u'中文', '中文'.decode('gbk')]
print x
输出:
['\xd6\xd0\xce\xc4', u'\u4e2d\u6587', u'\u4e2d\u6587']
----------------------------------------------
#encoding=gbk
x = 'スマ'
print x
输出:
スマ。完全正确。print会把'スマ'转换为'gbk'打印(实际是把‘'スマ'交给操作系统打印,操作系统默认用gbk打
相关文档:
python的egg文件有点像java中的jar文件,是一个工程打包文件,便于安装部署,仅此一点,给多少pythoner带来了多少激动。
如何制作egg文件呢?see官方文档http://peak.telecommunity.com/DevCenter/PythonEggs,
到http://pypi.python.org/pypi/setuptools下载setuptools包,然后安装:
python setup.py
1.制作egg文件
......
下面列出Python正则表达式的几种匹配用法:
1.测试正则表达式是否匹配字符串的全部或部分
regex=ur"" #正则表达式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()
2.测试正则表达式是否匹配整个字符串
regex=ur"\Z" #正则表达式末尾以\ ......
如何写一个返回多个值的函数
函数的return 语句只能返回一个值,可以是任何类型。
因此,我们可以“返回一个 tuple类型,来间接达到返回多个值
”。
例: x 除以 y 的余数与商的函数
def F1 ( x, y ):
a = x % y
  ......
python string和PyQt的QString的区别 以下在Python2.6和PyQt4.4.4 for
Python2,6环境下讨论: Python中有两种有关字符的类型:Python string object和Python Unicode
object。主要使用Python string object进行数据输入输出。 PyQt中与之相对应的字符有关类
python string和PyQt的QString的区别
以下在Python2.6和PyQt4 ......