python学习过程二(《python核心编程》第三章)

这一章的知识点总结:

1.()符号是换行符号,但是在含有小括号、中括号、花括号时可以多行书写。另外就是三引号包括下的字符串可以跨行书写。

2.对象是通过引用传递的。在赋值时,不管这个对象是新创建的从,还是一个已经存在的,都是该对象的引用(并不是值)复制给变量。

3.档对象被创建并(将其引用)复制给变量时,该对象的引用计数就被设置为1.当同一个对象(的引用)又被赋值给其他变量时,或作为参数传递给函数、方法或类实例时,或者被复制为一个窗口对象的成员时,该对象的一个新的引用,或者称作别名,就被创建(则该对象的引用计数自动加1)。

    eg

    x = 3.14

    y = x

  设置x=3.14创建了一个浮点型对象并将其引用赋值给x,x是第一个引用,因此该对象的引用计数为1.语句y=x创建了一个指向同一对象的别名y。事实上并没有给y创建一个新的对象,而是该对象的引用计数增加了1.

  x=3.14           对象被创建;

  y = x              另外的别名被创建

  foobar(x)          作为参数传递给函数(新的本地引用)

  myList = [123, x, 'xyz']  成为容器对象的一个元素

  以上所有方式都会使得对象的引用计数加1,当引用计数为0是,对象被回收。

4.python不支持类似x++,++x这样的前置/后置自增/自减运算。

5.多元赋值 (x, y, z) = (1, 2, 'a string')

   交换变量值时不再需要中间变量,只要(x, y) = (y, x)

6.变量无须事先声明;

 变量无须指定类型;

 程序员不用关心内存管理;

  变量名会被“回收”;

  del语句能直接释放资源。

原文地址:https://www.cnblogs.com/zmingh/p/6435709.html