Python 常见错误

发布时间:2019-08-11 11:27:38编辑:auto阅读(1757)

    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__方法。
    实例的属性是可以动态分配的,即使是在类定义已经完成甚至创建实例以后,可以在运行时动态的创建属性。

关键字

上一篇: python json pickle

下一篇: python语法总结