滴水穿石python 学习笔记基础

python基础

1、语句和语法
        python语句中有一些基本规则和特殊字符:
            井号(#)表示之后的字符为python注释
            换行(\n)是标准的行分隔符(通常一个语句一行)
            反斜线(\)继续上一行
            分号(;)将两个语句连接在一行
            冒号(:)将代码块的头和体分开
            语句(代码块)用缩进块的方式体现
            不同的缩进深度分隔不同的代码块
            python文件以模块的形式组织
 
2、变量赋值
        赋值运算符,在python语言中,等号(=)是主要的赋值运算符。如:
            anInt = 12
            aString = 'cat'
            aFloat = 2.14
            anotherString = 'shop' + 'ping'
        注:赋值并不是直接将一个值赋给一个变量,在python语言中,对象是通过引用传递的。
        链式赋值: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用下划线作为变量前缀和后缀指定的特殊变量。如下总结:
            ▶ _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,解释器会暂停,释放掉这个对象和仅有这个对象可访问(可到达)的其它对象。作为引用计数的补充, 垃圾收集器也会留心被分配的总量很大(及未通过引用计数销毁的那些)的对象。在这种情况下, 解释器会暂停下来, 试图清理所有未引用的循环。
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/nexiyi/p/2814473.html