计算机基础部分
1. 简述执行Python程序的两种方式以及他们的优缺点:
交互式:
优点:在cmd窗口环境下,运行Python解释器,执行一行代码打印一行,执行速度快,立马显示结果;
缺点:关闭窗口,被执行的代码和打印结果就不存在了,无法保存;
命令行式:
优点:程序以文件的形式存在,可以长期保存在硬盘当中,随用随取;
缺点:需要将文件从硬盘读到内存当中才能执行文件当中的Python代码,显然读取打印结果的效率不如交互式来的快,测试麻烦;
2. 简述Python垃圾回收机制:
引用计数:当一个值没有与任何变量有绑定关系,那么这个值会被自动回收;
标记清除:当内存快要被某个应用程序占满的时候,垃圾回收机制会被自动触发;
分代回收:根据值得存活时间的不同,划分不同的等级,等级越高被扫描的频率越低;
3.
对于下述代码:
```python
x = 10
y = 10
z = 10
del y
```
10的引用计数为多少?
在del之前,变量对应的-值‘10’被引用了3次,由于y绑定的10被删除(解绑)了,所以,10属于小整数池,10被引用了2次;
```python
x = 257
y = x
del x
z = 257
```
x对应的变量值257的引用计数为多少?
值‘257’被引用了1次
4.简述Python小整数池概念:
整形数字在-5~256(包括-5/25)之间整数,对于同一个整数,不管任意变量名与其有绑定关系,这些变量名对应的指向这个值得内存地址(id)都是一样的。另外,每次加载Python解释器的时候,解释器都会自动在内存中划一块内存来存取这部分值,虽然没有变量名与其有绑定关系,但并不会被清除掉。
5.对于`x = 10`,请用Python代码分别打印变量值、变量值内存地址和变量数据类型:
6. 对于下述代码:
```python
x = 257
y = x
z = 257
```
请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么?
x==y;y==z;id(x)==id(y);id(y)==id(z)
7. 简述数字类型
整型(int/integer):比如,身高,体重,电话号码,年龄等;
浮点型(float):就是带有小数部分,比如,工资
8.简述字符串类型
使用一对单引号或者双引号括起来的,内部是一段具有描述性信息的字符。注意:单双引号不能混用,如果一段字符串需要两对引号区分开,一定是内双外单,或者是内单外双。
作用:描述某个事物的状态或者特征;比如,性别、姓名、爱好等等。