PHP2Python 基本语法精要

写在前面的话:   http://www.meegoq.com/home-space-uid-18-do-blog-id-34.html
下一篇:  PHP2Pythoh Python语法精要 

 

特殊字符:
    #    后为注释
           python中仅有行注释,无多行注释
    \n    为标准行分隔符
    \      继续上一行
           有两种情况不用 \ 就可以换行, 一种是 """ 注释,还有一种就是括号
    ;     将两个语句连在一行中
    :     将代码块的头和体分开
代码规则    
    代码块    以缩进的方式体现
    不同的缩进深度分隔不同的代码块
    Python文件以模块的方式组织
变量赋值
    python中赋值一般都是将引用赋值给变量
    python中赋值语句并不会返回值(区别于C)

  1. y = (x = x + 1 )     #错误
复制代码


    python中支持多重赋值        

  1. y = x = x + 1        #正确
复制代码


    python不支持 x++ 或者 --x 的操作
    python支持多元赋值

  1. x, y, z = 1, 2, 'a string'
  2. x, y = y, x
复制代码


标识符
    python中大小写敏感
关键字
    python的关键字不断发展
    关键字列表和iskeyword()函数都放入了keyword模块以便查询
专用下划线标识符
    _xxx     私用变量,模块外不可使用
    __xxx__    系统定义名字
    __xxx    类中私有变量名
文档
    Python 还提供了一个机制,可以通过__doc__特别变量,动态获得文档字串。在模块,类声明,或函数声明中第一个没有赋值的字符串可以用属性        obj.__doc__来进行访问,其中 obj是一个模块,类,或函数的名字。这在运行时刻也可以运行。
模块布局

  1. #/usr/bin/env python                                       #类unix系统下的起始行.有了该行,可以直接输入脚本名称来执行脚本,而无需调用解释器
  2.    
  3. "this is a test module"                                      #简要介绍模块的功能及重要全局变量的含义,模块外可通过 module.__doc__ 访问这些内容。   
  4.    
  5. import sys                                                          #导入当前模块的代码需要的所有模块;
  6.          import os   
  7.    
  8. debug = True                                                     #这里定义的变量为全局变量,本模块中的所有函数都可直接使用。
  9.    
  10. class FooClass    (object):                                 #所有的类都需要在这里定义。当模块被导入时 class 语句会被执行, 类也就会被定义。
  11.          "Foo Class"                                                 #类的文档变量是 class.__doc__。
  12.          pass                                                             #如果先写类结构,不准备写代码,可以使用pass占位,否则解释器会报错
  13.    
  14. def test():           
  15.          "test function"                                            #函数的文档变量是 function.__doc__
  16.          foo = FooClass()
  17.                 if debug:
  18.                 print "ran test()"
  19.    
  20. if __name__ == "__main__":                             #如果当前模块是作为主模块执行,就执行下面的代码,否则不执行
  21.          test()                                                            #非常适合用来作单元测试
复制代码


变量定义与动态类型
    基本与php相同
内存分配
    python使用引用计数的方式记录各个对象有多少个引用 
    当使用赋值或传参的方式传递给另外一个变量或函数时,对象的引用加1

  1. x = 3.14
  2. y = x
  3. foobar(x)
  4. myList = [123, x, 'xyz']
复制代码


    引用减少   
         1. 当变量同赋值给另外一个对象时,原对象的引用计数 -1

  1. foo = 'xyz'
  2. bar = foo
  3. foo = 123    # 'xyz'对象引用减1
复制代码

           2. 使用 del 操作符
            3. 一个本地引用离开其作用范围 (通常在函数执行后,作用域中的临时变量引用销毁)
            4.  对象从一个窗口对象中销毁
                             myList.remove(x)
             5.     窗口对象本身被销毁
                             del myList
del操作
    del 语句会删除对象的一个引用,它的语法是:  del obj1[, obj2[,... objN]]
    del 语句也会删除该对象的最后一个引用,这样该对象就是不可访问的了,成为垃圾收集的对象
垃圾收集
    Python 的垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器。可以防止出现两个对象循环引用而不能被回收的情况.
    作为引用计数的补充, 垃圾收集器也会留心被分配的总量很大(及未通过引用计数销毁的那些)的对象。

 

转载请注明来自: http://www.meegoq.com/thread-570-1-1.html

posted on 2010-10-08 19:13  秋水伊扬  阅读(200)  评论(0编辑  收藏  举报