Python程序构成
Python是什么?我们百度之后,就会看到这些东西,然并卵,简单看过就可以了。
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。
Python 源代码同样遵循 GPL(GNU General Public License) 协议。
官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。
Python 2.7 被确定为最后一个 Python 2.x 版本。
注:新手入门,直接上手 Python 3.x 版本,Python 2.x被抛弃了。
标识符,也就是变量,函数,类,模块,等等,一种名字格式。
区分大小写。
必须字母下划线开头。
双下划线有特殊函义,避免使用。
好了,下面开始正题。。。
直接上图,简单粗暴的理解就可以了,一个py文件是一个模块,可以算是一个程序,多个也算是程序。
(例如HelloWord!《《杠精别怼我!》》)
Python本质:一切皆对象。
变量:存储xx类型对象地址【id】。就像一张某牌子手机卡,里面有号码。。。
把对象当成人,就是人的住址,抽象的本质就是比喻。。。
引用:通过【地址】引用对象【obj】,然后传递值【value】。
通过某人的住址,找到某人,然后把快递送到。
(房子)地址是不变的,变得是(删库)会跑路的人,还有快递也会变的。
当然,没人住的房子也可以拆了。。。
直接上图,简单粗暴的理解就可以了。
在python程序中,一切数据结构都是存储在堆空间中的对象。
python程序中的变量都是引用变量,可以指向任何类型的对象。
数据结构中的栈和堆。
栈 :这是一种连续直线存储数据结构,具有先进先出的性质。通常具有的操作有出栈、入栈(压栈)和取栈顶元素。想要读取栈中的某个元素,就必须将其之前所有的元素出栈才能完成。
堆:这是一种非连续的树形存储数据结构,每个节点都有一个值,整棵树是经过排序的。特点是根节点的值最小(或最大),且根节点的两个子树也是一个堆。常用来实现优先队列,存取随意。
python动态对象(可以忽略了)
python中的对象具体可以分为不可变对象()和可变对象()。
不可变对象是指对象的内部属性不可以变,常见的不可变对象包括整数、浮点数、字符串和元组等。
可变对象则是指对象的内部属性是可以被任意改变的。
可变对象具有非常强的动态性,其内部属性可以被任意添加、修改或删除。
python中的反射是指可以利用一些元对象的设施来访问、更改和删除对象属性(包括方法的追加和调用等)。
python中常用的反射 函数包括hasattr()、getattr()、setattr()和delattr()等。
python中提供了exec()和eval()函数,exec()用于执行一段动态构造的语句块;eval()则用于执行一个动态构造的表达式。