自学python笔记(二)

前言: 在上班时间看书 学跟工作无关的事情 是不是有点不对啊~~~~ 我是J2EE的程序员 居然在上班时间学python 不过python真是太有趣了 好吸引人啊。

一.语句和语法:
   1.#表示之后的字符为Python注释
   2.换行是\n
   3.反斜线 \ 是继续上一行
   4.分号(;) 将两个语句连接在一行中
   5.冒号(:) 将代码块的头和体分开
   6.语句(代码块)用缩进的方式体现
   7.不同的缩进深度分隔不同的代码块
   8.Python文件以模块的形式组织

赋值:
x,y,z=1,2,'a'
>>x
1
>>z
'a'

交换变量  不需要中间变量
>>> y
'a'
>>> x
1
>>> x,y=1,2
>>> x
1
>>> y
2
>>> x,y=y,x
>>> x
2
>>> 

标识符命名:
_xxx  类中的私有变量名


--------------------------------------------------------------------
通常只有主程序模块中有大量的顶级可执行代码,所有其他被导入的模块只应该有很少的顶级执行代码,所有的功能代码都应该封装在函数或类当中。

Python是否有一种方法能在运行时检测模块是被导入还是被直接执行呢?
答案就是:
如果模块是被导入,__name__的值为模块名字
如果模块是被直接执行 __name__的值为'__main__'



-------------------------------------------------------------------------------
内存管理:
1.变量无须事先声明
2.变量无须指定类型
3.程序员不用关心内存管理
4.变量名会被“回收”
5.del语句能够直接释放资源


动态:对象的类型和内存占用都是运行时确定的。
Python解释器承担了内存管理的复杂任务

del语句会删除对象的一个引用:
1.从现在的名字空间中删除y
2.x的引用计数减一

PS:del 会删除该对象的最后一个引用,也就是该对象的引用计数会减为0,这会导致该对象从此“无法访问”或“无法抵达”。从此刻起,该对象就成为垃圾回收机制的回收对象。


垃圾回收机制: 每个负责人的程序员都应该注意这点。。 虽然俺是java程序员

python是垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器,当一个对象的引用计数变为0,解释器就会暂停,释放掉这个对象和仅有这个对象可访问的其他对象。作为引用计数的补充,垃圾收集器也会留心被分配的总量很大的对象,在这种情况下,解释器会暂停下来,试图清理所有未引用的循环。

你可能感兴趣的:(python)