题目来源:牛客网
今天开始复习巩固一下基础知识点~
蓝色表示题干,红色表示答案,黑色表示知识点。
1、下列代码的运行结果是? print ‘a’ < ‘b’ < ‘c’True
1)python支持连续比较,’a’ < ‘b’ < ‘c’ 相当于 ‘a’ < ‘b’ and ‘b’ < ‘c’,本质是字符ASCII码的比较
2)字符 ASCII 码的大小比较,数字的ASCII码
2、关于Python内存管理,下列说法错误的是 B
A.变量不必事先声明 B.变量无须先创建和赋值而直接使用 C.变量无需指定类型 D.可以使用del释放资源
1)python中变量可以不用指定类型,会自动根据赋值语句来决定类型,例如 a=[1,3], 则a是一个list
2)使用变量前需要赋值,赋值的同时会创建变量
3)del语句可以释放已经创建的变量(已经占用的资源)
3、What gets printed?()4
set中的数据不能重复,会自动去除重复的值
4、下面哪个不是Python合法的标识符B
A. int32 B.40XL C.self D.name
1) 在 Python 里,标识符由字母、数字、下划线组成,但不能以数字开头
2)Python 中的标识符是区分大小写的
3)以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
4)以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
5.关于字符串下列说法错误的是B
A.字符应该视为长度为1的字符串
B.字符串以\0标志字符串的结束
C.既可以用单引号,也可以用双引号创建字符串
D.在三引号字符串中可以包含换行回车等特殊字符
C语言中字符串使用’\0’作为结束符以防止越界,但python中字符串其实是一个固定长度的字符数组,并不需要结束符。
6.下面代码运行结果?3
a = 1
try:
a += 1
except:
a += 1
else:
a += 1
finally:
a += 1
print a
当try的语句不存在异常,执行顺序是 try -> else -> finally
当try的语句存在异常,执行顺序是 excpet -> finally
7.what gets printed? Assuming python version 2.x()
print type(1/2)
1)Python2 中除法默认向下取整,因此 1/2 = 0,为整型
2)Python3 中的除法为正常除法,会保留小数位,因此 1/2 = 0.5,为浮点型
8.python代码如下:
1
2
3
foo = [1,2]
foo1 = foo
foo.append(3)
foo 值为[1,2,3] , foo1 值为[1,2,3]
foo1 = foo为浅表复制,也称为浅拷贝,只是将foo1和foo指向相同存储地址,在foo中追加3后,二者都改变。
如果使用foo1 = foo.copy(),则是深拷贝,复制出一份foo表在新的内存中存储,并由foo1指向该地址,此时再对foo进行操作,foo1不会改变。
9.若 a = (1, 2, 3),下列哪些操作是合法的?ABD
A. a[1:-1] B. a*3 C. a[2] = 4 D. list(a)
10.解释型语言的特性有什么?AB
A、非独立 B、效率低 C、独立 D、效率高
解释性语言和编译性语言的定义:
1)计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
2)翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
3)解释性语言的定义:解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。
4)编译性语言的定义:编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。