Python 常见错误

简介:

单元素的元组:
(1)并不是元组,实际上是在多处重载了小括号,比如在表达式里,小括号的作用是分组,(1,)这个才是单元素的元组。

模块:
import module 是将模块的名字设置为一个隐含的名字空间变量。
from module import method 导入到当前的全部命名空间里。
对于第二种方法并不是只有一个函数被导入,,其实整个模块也已经被导入。但只是那个函数的引用被保存了起来,所以 from...import 这种语法并不能带来性能上的差异,也没节省什么内存。
能不能重复导入一个模块,
有两个模块a,b 都导入了c模块,当a导入到b时,c是不是被导入了两次?
Python有导入模块和加载模块之分,一个模块可以被导入多次,但只会被加载一次,当python碰到一个已经被加载模块又被导入时,他会跳过加载过程,所以无需担心额外消耗内存的问题。

Package:
Package是Python在文件系统上发布一组模块的一种方式,使用常见的点分方式来访问子模块,每个目录下都有一个__init__.py文件,这告诉python解释器这些目录下的文件应该被当作是一个子package而不是普通文件。一般情况下都是空文件,也可以做一些初始化的工作,对于点分访问的方式可以使用别名来少打几个字母啦。。

可改变性:
“传引用”或“传值”通常不适用于Python,取而代之的是对象是可变的还是不可变的 。可改变性指的是一个对象的值是否改变。整数和字符串以及元组是不可变的,列表、字典、类、类实例等是可变的。
对方法调用的影响:如果调用的函数有任何可变对象,通常是直接修改的,直接修改其数据结构而不是返回一个修改后对象的拷贝,
复制对象和可变性:
不可变对象是被复制的,可变对象是复制了一个对他们的引用。
复制又分为浅拷贝和深拷贝,浅拷贝只复制了一个对可变对象的引用。

构造函数VS 初始化程序:
python和传统OOP语言的一个区别是它没有显式的构造函数的概念,python里没有new关键字因为我们并没有真的实例化你的类。python会在创建实例并调用初始化程序。__init__方法。
实例的属性是可以动态分配的,即使是在类定义已经完成甚至创建实例以后,可以在运行时动态的创建属性。





本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1131453,如需转载请自行联系原作者
目录
相关文章
|
21天前
|
程序员 数据库连接 索引
《Python 简易速速上手小册》第5章:Python 常见错误和异常处理(2024 最新版)
《Python 简易速速上手小册》第5章:Python 常见错误和异常处理(2024 最新版)
42 1
|
12月前
|
Linux iOS开发 MacOS
Python 初学者常见错误——我有 Anaconda 了,还能单独安装 Python 吗?
Python 初学者常见错误——我有 Anaconda 了,还能单独安装 Python 吗?
142 0
|
安全 API 调度
Python 异步: 常见错误(22)
Python 异步: 常见错误(22)
74 0
|
移动开发 开发工具 Python
Python编程:Django入门及常见错误
Python编程:Django入门及常见错误
127 0
Python编程:Django入门及常见错误
|
程序员 开发工具 C语言
Mark Lutz:Python程序员的常见错误
在这篇文章中,我将总结新老Python程序员常犯的一些错误,以帮助你们在自己的工作避免犯同样或类似错误。
176 0
|
算法 Java 大数据
12月3日云栖精选夜读 | Python程序员的30个常见错误
在这篇文章中,我将总结新老Python程序员常犯的一些错误,以帮助你们在自己的工作避免犯同样或类似错误。
2761 0
|
程序员 Python Windows
Python程序员的30个常见错误
在这篇文章中,我将总结新老Python程序员常犯的一些错误,以帮助你们在自己的工作避免犯同样或类似错误。
2102 0
|
14天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
3天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。