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 表示换行,这样换行跟平台无关