python小知识

一、列表

>>> L=[1,2]
>>> M=L        //L和M同时指向列表对象,内容为[1,2]
>>> L=L+[3,4]      //系统新增了一个对象,内容为[1,2,3,4]
>>> L,M
[1,2,3,4],[1,2]

>>> L=[1,2]
>>> M=L
>>> L+=[3,4]     //对列表在原处做修改
>>> L,M
[1,2,3,4],[1,2,3,4]

由上例可以看出,"+="在列表中的作用等同于list.append()方法,在原处做修改。而"+"则表示合并运算,意味着必须建立新的对象,复制“+左侧的列表,再复制右侧的列表,较在原处这一方法较慢。

二、python编程中的中文编码问题

问题1. 使用ulipad编程时,不能输入中文(即使在注释中也不可以),否则执行时会出错。错误提示为:Non-ASCII character ....

解决方法:可以在代码开头处添加:#coding:utf-8。因为python默认采用的编码方式不能很好的支持中文等字符的输入,所以会报错。将编码方式明确指定为utf-8,即可解决这个问题。

问题2. 使用urllib2库抓取网页时,网页中的中文显示为16进制的字符。

解决方法:这是由于网页中的中文使用utf-8编码,而本地使用其他的编码方式。可使用如下方式将网页中的中文编码翻译为本地编码。

import sys
import urllib2

type = sys.getfilesystemencoding()
content=urllib2.urlopen('http://www.baidu.com').read()
print content.decode('utf-8').encode(type)

三、python的第三方模块路径问题

python中有许多功能强大的第三方库,可以简化我们的编程复杂度。可通过以下几个步骤来使用第三方模块:

1. 下载第三方模块。除标准库模块外,其他的模块都需要用户自行到网上下载后才能使用。

2. 设置合适的环境变量,使用我们代码中的import语句可以搜索到该模块文件。模块导入搜索路径的搜索顺序依次是:1)程序的主目录;2)pythonpath目录。python会从左至右搜索PYTHONPATH环境变量中罗列出的所有目录。3)标准库目录 4)任何.pth文件的内容)。一般将.pth文件放置在/python_HOME/Lib/site-packages中。可以自行使命.pth文件,文件中将第三方模块所在的目录一条一条列出即可。

四、apply函数的使用

发现一个很奇怪的现象,不太清楚这是为什么。定义函数为:def say(a): print a 若使用命令:apply(say,'hello'), python就会提示说:只需要一个参数,你却传给我5个参数。必须使用命令:apply(say,('hello',))才可以正确地打印出hello这个单词。

你可能感兴趣的:(python小知识)