Python核心编程(第二版)学习笔记02 【第3章 Python基础】

Python核心编程(第二版)学习笔记02 【第3章 Python基础】python

2009-4-16 20:45 Tony编程

1 python语句基本规则和特殊字符:
     反斜杠 \  继续上一行
     分号   ;  将两个语句链接在一行中
     冒号   :  将代码块的头和体分开
    
2 有两种状况不使用反斜杠也能够跨行。1)在使用闭合操做符时,单一语句能够跨多行,例如:小括号、中括号、大括号;2)三引号包括下的字符串也能够跨行书写
函数

3 python中的赋值,并非直接将一个值赋给一个变量,而是将该对象的引用赋值给变量(如今我也不太清楚,下一章中应该就详细描述了)学习

4 赋值语句没有返回值,不像C语言中的赋值语句能够返回值。形如:y = (x = a + b)这个表达式是错误的,但能够写成形如:y = x = a + bspa

5 增量赋值 +=  -=  *=  /=  %=  **=  <<=  >>=  &=  ^=  |=
  增量赋值的好处是,可变对象会被就地修改,无需拷贝引用
 
6 多重赋值 x = y = z = 1
  一个值为1的整型对象被建立,该对象的同一个引用被赋值给x,y和z
 
7 多元赋值 x, y, z = 1, 2, 'hello'
  等号两边的对象都是元祖,括号被省略了。元祖的小括号是可选的。上面等价于(x, y, z) = (1, 2, 'hello')
 
8 交换两个变量的值 x, y = y, x
  在其余语言中,都须要第三个临时变量来保存中间值,python能够直接使用多元赋值来实现
 
9 python中的关键字在模块keyword中,由keyword.kwlist能够查到,并能够经过iskeyword()函数来判断一个标识是不是关键字
对象

10 标识符中下划线的意义:
        _xxx     看做是模块或类的私有变量,在模块外或类外不能被直接访问
        __xxx__  系统定义的名字,普通变量应该避免定义这种标识符
       
11 在模块、类定义、或者函数定义中第一个没有赋值的字符串即做为文档字符串,经过obj.__doc__访问
内存

12 python文件结构模版
    (1)起始行
    (2)模块文档字符串
    (3)模块导入
    (4)变量定义
    (5)类定义
    (6)函数定义
    (7)主程序
   
13 导入一个模块时,该模块的主代码将会被执行,模块里定义的类的主代码也会被执行,可是模块里定义的函数和类中的方法在导入时不执行
   全部模块都有能力来执行代码,最高级别的python语句即没有缩进的代码行,在模块导入时会被执行
作用域

14 若是一个模块是经过脚本直接执行的,则它的__name__属性值为"__main__" ,不然被别的模块导入的,则它的__name__值为该模块的名字文档

15 python中不须要定义变量,也不须要类型声明,变量类型和内存占用都是在运行时肯定的字符串

16 引用计数器 python记录全部使用中的对象各有多少引用,当引用为0时,会回收这个对象所占用的内存   增长引用计数器 当对象被建立并赋值给变量时,该对象的引用计数器被设置为1,当同一个对象又被赋值给其它变量时、或者做为参数传递给函数、方法或类实例时,新的引用被建立,引用计数器都会自动加1   如 x = 3.14  对象被建立,引用计数器值为1      y = x     新的引用被建立,引用计数器值为2      fun(x)    新的引用被建立,引用计数器值为3,函数执行完后,引用计数器值减1   减小引用计数器 当对象的引用被销毁时,引用计数器值就会减少   例如 引用离开其做用域范围;当变量被赋值了另外一个对象时,原对象的引用计数器会自动减1;使用del语句显示地销毁引用   17 使用os.linesep 表示换行,这样换行跟平台无关

相关文章
相关标签/搜索