python的几个注意事项

,==============坑=======

1、可变类型的值不要作为函数参数默认值

2、小心+=

a = range(10) b = range(5) a_orig = a a += b print a print a_orig    # a_orig在以上处理过程中取值被改变了。
a = range(10) b = range(5) a_orig = a a = a + b print a print a_orig    # a_orig还是原来的值,没有变。

=========性能=======

1、range返回的是list,xrange返回的是迭代对象,所以xrange省内存

2、

3、,比自己for要效率高

4、

时间: 2024-07-30 22:22:32

python的几个注意事项的相关文章

Linux下Python的安装以及注意事项

Linux的yum依赖自带Python,为防止错误,这里我们再安装一个Python 首先查看默认Python版本 python -V 1.安装gcc,用于编译Python源码 [[email protected]~]# yum install gcc 2.下载源码,https://www.python.org/ftp/python ,解压并切换到源码文件 3.编译安装 [[email protected] tools]# tar xf Python-2.7.10.tar.xz  [[email 

python安装插件包注意事项

注意!注意!注意!安装以来lib库时强烈建议使用pip安装:原因:nu1:用exe安装会出现各种意想不到让您惊讶的错误!!!nu2:这种错误很难解决且花费无用功!!! 使用pip安装: nu1:使用.whl文件(Python库路径 http://www.lfd.uci.edu/~gohlke/pythonlibs/),如pip install xxx.whl nu2:直接装 pip install xxx,如pip install xlwt(安装xlwt插件库) 安装过程中遇到的问题: nu1:

用Python抓网页的注意事项

用Python编一个抓网页的程序是非常快的,下面就是一个例子: import urllib2 html = urllib2.urlopen('http://blog.raphaelzhang.com').read() 但是在实际工作中,这种写法是远远不够的,至少会遇到下面几个问题: 网络会出错,任何错误都可能.例如机器宕了,网线断了,域名出错了,网络超时了,页面没有了,网站跳转了,服务被禁了,主机负载不够了… 服务器加上了限制,只让常见浏览器访问 服务器加上了防盗链的限制 某些2B网站不管你HT

python循环修改列表注意事项

python循环列表且需要修改列表元素时,需注意不能边循环列表,边修改列表,否则会导致莫名奇妙的结果错误. 以简单的冒泡排序的一次排序为例 将列表[12, 3, 15, 7, 45, 33, 9, 76, 40, 56]使用冒泡算法按照从小到大排序.(仅写一次排序过程,即找到最大的放到最后) 如果写为: src_list = [12, 3, 15, 7, 45, 33, 9, 76, 40, 56] for (index, value) in enumerate(src_list[:-1]): 

Python基础-----模块导入注意事项

#!/usr/bin/env python#-*- coding:utf-8 -*- '''python文件一般都是不同的package(包)放置不同的功能文件若需要导入同级或者上级目录包中文件,则需要在环境变量导入模块所在路径''' # 1 __file__ 返回当前文件位置'''__file__表示显示文件当前的位置 但是:如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径! 如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径!'''

Python——模块以及导入注意事项

在Python中,每一个文件都应该是可以被导入的. 每一个独立的python文件都是一个模块 在导入文件时,文件中所有没有任何缩进的代码都会被执行一遍. 而在实际应用时,每个模块都是有专人负责独立开发的,通常模块会有测试代码,这些测试代码仅在模块内部使用,被导入到其他文件中不需要执行时,我们可以用内置__name__属性来判断,因为__name__测试模块中的代码只有在测试模块下才被运行,被导入时不会执行. 如果一个文件是被其他文件所导入的,那么输出__name__就是模块名 如果是当前执行的程

【python】dict的注意事项

1. key不能用list和set 由于列表是易变的,故不可做key.如果使用会报错 但是元组可以做key 2.遍历方法 for key in somedict: pass 速度快,但是如果要删除元素会导致错误,出错情况如下 #这里初始化一个dict >>> d = {'a':1, 'b':0, 'c':1, 'd':0} #本意是遍历dict,发现元素的值是0的话,就删掉 >>> for k in d: ... if d[k] == 0: ... del(d[k])

python 爬虫抓取心得

quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quote('要编码的字符串') query = urllib.quote(singername) url = 'http://music.baidu.com/search?key='+query response = urllib.urlopen(url) text = response.read()

python爬虫总结

主要涉及的库 requests 处理网络请求 logging 日志记录 threading 多线程 Queue 用于线程池的实现 argparse shell参数解析 sqlite3 sqlite数据库 BeautifulSoup html页面解析 urlparse 对链接的处理 关于requests 我没有选择使用python的标准库urllib2,urllib2不易于代码维护,修改起来麻烦,而且不易扩展, 总体来说,requests就是简单易用,如requests的介绍所说: built f