Python面试题

Python程序构成

2019-10-28  本文已影响0人  青月教主


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()则用于执行一个动态构造的表达式。

上一篇 下一篇

猜你喜欢

热点阅读