Python基本知识

  1. Python程序执行原理
    Python先将.py文件编译成字节码,保存在PyCodeObject中,随后字节码虚拟机从编译得到的PyCodeObject对象中一条一条执行字节码指令,并在当前的上下文环境中执行这条字节码指令,从而完成程序的执行。其中.pyc是PyCodeObject的一种持久化保存方式,保存在磁盘中。
  2. Pyhton的运行方式
    2.1交互式提示符
    可使用下载Pyhon时带的IDLE、Windows命令提示符(win+R输入cmd)、Sublime Text的Console(Sublime Text自带pthon解释器,其中Text2的Python解释器为Python2,Text3的Python解释器为Python3)等方式运行python命令。
    该方式适合简单的逻辑和程序,当代码复杂时不适用。
    2.2脚本方式
    用记事本等工具编写脚本代码并保存为.py格式,编码方式最好设置为UTF-8,之后可在命令提示符中使用python *.py命令运行,其中*.py为保存的脚本文件的位置,如D:/teaching/hello.py,尽量用英文命名。
  3. python变量
    3.1变量的创建
    Python变量在第一次赋值时生成,如age = 18,即生成一个名为age的变量,变量值为18
    *规则:变量名只能包含数字、字母以及下划线,且不得以数字开头,变量名要避免关键字和内部函数名,应简短且有描述性。
    3.2变量的类型
    Python的变量属于动态类型,即变量没有类型约束,变量的类型取决于它所关联的对象。举个例子:age = 18,变量age所关联对象为18,为int,故age的类型也为int整型。可使用type(age)来显示变量类型,id(age)来显示变量内存地址。
    3.3变量的回收
    在Python中无需主动清除不再使用的变量,其自带垃圾回收功能,这也是Python更高效的一个原因,使开发人员更多关注在代码开发上。Python对于每个对象都有一个计数器,来计算该对象被引用次数,也就是与变量的关联个数,其依据对象引用计数器的数值,自动释放未被引用的对象。
    3.4共享引用
    多个变量指向一个对象的情况是被允许的。比如age = 18,amount = 18
    这里变量age和amount都指向对象18,但这两个18是同一个18吗?
type = amount
>>> type == amount
True
>>> type is amount
True

我们可以用==来判断两个变量字面值是否相等,用is判断地址是否相同。两个变量的地址也相同,故的确指向了内存中同一个对象。这里要注意一点:256以内整数已被Python缓存,因此上述例子中age和amount其实指向同一个对象。python提前缓存可能使用性较高的一些对象,可提高程序效率。
可以使用sys.getrefconunt(18)来显示所有指向18的变量个数。
3.5数据类型
常用的有数字、字符串(str)、列表、字典、元组、函数、集合、布尔、None等。