python基础

1、语句和语法

        python语句中有一些基本规则和特殊字符:

            井号(#)表示之后的字符为python注释

            换行(\n)是标准的行分隔符(通常一个语句一行)

            反斜线(\)继续上一行

            分号(;)将两个语句连接在一行

            冒号(:)将代码块的头和体分开

            语句(代码块)用缩进块的方式体现

            不同的缩进深度分隔不同的代码块

            python文件以模块的形式组织

 

2、变量赋值

        赋值运算符,在python语言中,等号(=)是主要的赋值运算符。如:

anInt = 12
            aString = 'cat'
            aFloat = 2.14
            anotherString = 'shop' + 'ping'

对象是通过引用传递的。

        链式赋值:y = x = x + 1;增量赋值:x = x + 1 或者 x += 1;多重赋值:x = y = z = 1(在上面的例子中,一个值为 1 的整数对象被创建,该对象的同一个引用被赋值给 x、y 和z 。也就是将一个对象赋给了多个变量); 多元赋值:x, y, z = 1, 2, 'a string' 或者 (x, y, z) = (1, 2, 'a string')

 

3、标识符

        合法标识符

            ▶ 第一个字符必须是字母或者下划线(_)

            ▶ 剩下的字符可以是字母和数字或者下划线

            ▶ 大小写敏感

        关键字

python中每条语句以分号结尾 python里分号的作用_引用计数


        内建:python可以再任何一级代码使用的“内建”的名字集合,这些名字可以由解释器设置或使用。

        专用下划线标识符:python用下划线作为变量前缀和后缀指定的特殊变量。如下总结:

            ▶ _xxx    不用'from module import *'导入

            ▶ __xxx__    系统定义名字

            ▶ __xxx    类中的私有变量名

        注:避免用下划线作为变量名的开始

 

4、内存管理

        变量和内存管理的细节包括:

            ▶变量无需事先声明

            ▶变量无需指定类型

            ▶程序员不用关心内存管理

            ▶变量名会被“回收”

            ▶del语句能够直接释放资源

        1)变量定义:在python中,无需显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量只有被创建和赋值后才能被使用。

        2)动态类型:在python中不但变量名无需事先声明,而且也无需类型声明,在程序中,对象的类型和内存所占用的都是运行时确定的。尽管代码被编译成字节码,python仍然是一种解释型语言。在创建也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型,在对象创建后,一个该对象的应用会被赋值给左侧的变量。

        3)内存分配:Python 解释器承担了内存管理的复杂任务, 这大大简化了应用程序的编写。你只需要关心你要解决的问题,至于底层的事情放心交给 Python 解释器去做就行了

        4)引用计数:在python中使用了引用计数这一简单技术,一个内部跟踪变量称为一个引用计数器,当这个对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。

            对象的引用计数增加的情况:

                ▶对象被创建

                ▶或另外的别名被创建

                ▶或被作为参数传递给函数

                ▶或称为容器对象的一个元素

            对象的引用计数减少的情况:

                ▶一个本地引用离开了其作用范围。

                ▶对象的别名被显式的销毁

                ▶对象的一个别名被赋值给其他的对象

                ▶对象被从一个窗口对象移出

                ▶窗口对象本身被销毁

            del 语句

                del语句会删除对象的一个引用,语法:del obj1[, obj2[, ....objN]],例如:del y会产生两个结果(1)从现在的名字空间中删除y(2)改对象的引用对象减1。

        5)垃圾收集:Python 的垃圾收集器实际上是一 个引用计数器和一个循环垃圾收集器。 当一个对象的引用计数变为 0,解释器会暂停,释放掉这个对象和仅有这个对象可访问(可到达)的其它对象。作为引用计数的补充, 垃圾收集器也会留心被分配的总量很大(及未通过引用计数销毁的那些)的对象。在这种情况下, 解释器会暂停下来, 试图清理所有未引用的循环。