python3 之初学者常犯的5个错误
1. Creating a copy of dictionary or lists.
Whenever you need to make a copy of a dictionary or list, do not simply use the assignment operator.
Right way: Use the copy() or deepcopy() method.
2. Dictionary keys.
Remember Boolean class is the subclass of Integer. Integer equivalent of True is 1 and that of False is 0. Hence value of key 1 is overwritten
3. Updating lists or dictionaries.
Most the sequence object methods like sort, update, append, add etc works in place to increase performance by avoiding to create a separate copy un-necessarily.
Do not try to assign the output of such methods to variable.
In some cases, python try to reuse the existing immutable objects. String interning is one such case
>>> a = "gmail"
>>> b = "gmail"
>>> a is b
True
All strings of length 1 are interned. String having anything except ASCII characters, digits and underscore in them are not interned.
Let's see.
>>> a = "@gmail"
>>> b = "@gmail"
>>> a is b
False
Also remember==is different thanisoperator.==checks if values are equal or not whileischecks if both variable are pointing to same object.
5. Default arguments are evaluated only once.
Consider below example.
def func(a, lst=[]):
lst.append(a)
return lst print(func(1))
print(func(2))
What do you think will be the output of above two print statements?
Lets try to run it.
>>> def func(a, lst=[]):
... lst.append(a)
... return lst
...
>>> print(func(1))
[1]
>>> print(func(2))
[1, 2]
python3 之初学者常犯的5个错误的更多相关文章
- Python开发者最常犯的10个错误
Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错 ...
- Spring常犯的十大错误,你踩过吗?
1.错误一:太过关注底层 我们正在解决这个常见错误,是因为 "非我所创" 综合症在软件开发领域很是常见.症状包括经常重写一些常见的代码,很多开发人员都有这种症状. 虽然理解特定库的 ...
- Web开发人员常犯的10个错误
说到开发一个运行在现代网络中的网站:Web开发人员需要选择虚拟主机平台和底层数据存储,准备编写HTML.CSS和JavaScript用的工具,要有设计执行方式,以及一些可用的JavaScript库/框 ...
- Java程序员常犯的10个错误
本文总结了Java程序员常犯的10个错误. #1. 把Array转化成ArrayList 把Array转化成ArrayList,程序员经常用以下方法: List<String> lis ...
- OI中常犯的傻逼错误总结
OI中常犯的傻逼错误总结 问题 解决方案 文件名出错,包括文件夹,程序文件名,输入输出文件名 复制pdf的名字 没有去掉调试信息 调试时在后面加个显眼的标记 数组开小,超过定义大小,maxn/ ...
- python开发者常犯的10个错误(转)
常见错误1:错误地将表达式作为函数的默认参数 在Python中,我们可以为函数的某个参数设置默认值,使该参数成为可选参数.虽然这是一个很好的语言特性,但是当默认值是可变类型时,也会导致一些令人困惑的情 ...
- Spring 常犯的十大错误,答应我 打死都不要犯好吗?
1. 错误一:太过关注底层 我们正在解决这个常见错误,是因为 “非我所创” 综合症在软件开发领域很是常见.症状包括经常重写一些常见的代码,很多开发人员都有这种症状. 虽然理解特定库的内部结构及其实现, ...
- Spring 常犯的十大错误,(收藏后)永远不要在犯了
1. 错误一:太过关注底层 我们正在解决这个常见错误,是因为 “非我所创” 综合症在软件开发领域很是常见.症状包括经常重写一些常见的代码,很多开发人员都有这种症状. 虽然理解特定库的内部结构及其实现, ...
- Spring 常犯的十大错误,这坑你踩过吗?
阅读本文大概需要 9 分钟. 1.错误一:太过关注底层 我们正在解决这个常见错误,是因为 “非我所创” 综合症在软件开发领域很是常见.症状包括经常重写一些常见的代码,很多开发人员都有这种症状. 虽然理 ...
随机推荐
- awk的控制语句
本章主要讲actions中的控制语句,和C语言的控制语句类似. 1.选择语句 if (condition) then-body else else-body 2.循环语句之while: while ( ...
- Kubernetes Resource Qoutas
配置参数: spec.containers[].resources.limits.cpu spec.containers[].resources.limits.memory spec.containe ...
- ResourceBundle和properties 读取配置文件区别
java.util.ResourceBundle 和java.util.properties 读取配置文件区别 这两个类都是读取properties格式的文件的,而Properties同时还能用来写文 ...
- zookeeper分布式锁的问题
分布式锁的流程: 在zookeeper指定节点(locks)下创建临时顺序节点node_n 获取locks下所有子节点children 对子节点按节点自增序号从小到大排序 判断本节点是不是第一个子节点 ...
- 微软官网的office外接程序开发
链接地址:https://msdn.microsoft.com/zh-cn/library/fp161347.aspx
- JAVA题库01
说出一些常用的类,包,接口,请各举5个 常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer java ...
- ANT+JMETER集成2 (发送邮件)
折腾一天发现各种build源码都不能发送邮件,试了很多次,终于能发送邮件 先看成果 build源码贴出来 <?xml version="1.0" encoding=" ...
- Eclipse下使用Maven建立简单Springboot程序
1.创建Maven工程 2.编写pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...
- css页面缩放
如果原来的宽度是1200, 缩放之后宽度可能就变成了1560, 然后你本来的图片1200可能就开始显示不全了. 如果你的图片按100%显示的话,这个时候又正常了.
- Request对象获得参数方法:query和body方法
express框架Request对象获得参数方法:query和body方法 req.query 该属性用法很简单,直接获取地址栏传递的参数:例如: //引入依赖 var express = requi ...