文章导读:
1. Python代码风格
2. Python基本语句
3. Python内存管理
1.程序输入和输出
- print()
- raw_input():字符串输入
2.注释
- 单行注释:#
- 多行注释:三个单引号或者双引号包住
3.变量和赋值
Python为动态类型语言,不需要预先声明变量的类型。 变量的类型和值在赋值 那一刻被初始化。
赋值并不是直接将一个值赋给一个变量,对象是通过引用传递的。
注意python中支持多元赋值
4.语句和语法
- 换行 (\n) 是标准的行分隔符(通常一个语句一行)
- 反斜线 ( \ ) 继续上一行
- 分号 ( ; )将两个语句连接在一行中
- 冒号 ( : ) 将代码块的头和体分开
- 语句(代码块)用缩进块的方式体现
- 不同的缩进深度分隔不同的代码块
- Python文件以模块的形式组织,Java是通过包
5.python专用下划线标识符
- _xxx:代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
- __xxx:代表类的私有成员
- foo:代表Python中的特殊方法,如构造方法init()
6.基本风格
- (1) 起始行(Unix)
- (2) 模块文档
- (3) 模块导入
- (4) 变量定义
- (5) 类定义
- (6) 函数定义
- (7) 主程序
核心技巧:使用局部变量替换模块变量来增加代码运行速度
例如:
import os
ls = os.linesep
7.内存管理
- 变量无须事先声明
- 变量无须指定类型
- 程序员不用关心内存管理
- 变量名会被“回收”
- del 语句能够直接释放资源
7.1引用计数
python使用引用计数来追踪内存中的对象。
创建对象时,就创建了一个引用计数。
当这个对象不再需要时,这个对象的引用计数变为0时,它被垃圾回收。
- 引用计数增加
- 1.对象被创建 x = 3.14
- 2.另外的别名被创建(被引用) y = x
- 3.被作为参数传递给函数(新的本地引用) function(x)
- 4.成为容器对象的一个元素 myList = [123,x,’123’]
- 引用计数减少
- 1.一个本地引用离开了其作用范围
- 2.对象的别名被显式的销毁 del x
- 3.对象的一个别名被赋值给其它的对象
- 4.对象被从一个容器对象中移除 myList.remove(x)
- 5.容器对象被销毁 del myList
- del语句 执行时的操作 del y
- 从现在的名字空间中删除y
- x的引用计数减1