PHP2Python 基本语法精要

网络整理 - 08-26

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

  • y = (x = x + 1 )     #错误

  •     python中支持多重赋值        

  • y = x = x + 1        #正确

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

  • x, y, z = 1, 2, 'a string'
  • x, y = y, x

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

    复制代码


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


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

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