1、题目描述:
下列表达式的值为True的是:
A、5+4j > 2-3j
B、3>2>2
C、(3,2)<(’a’,’b’)
D、’abc’ >’xyz’
对于A:复数不能比较大小
B: Python2支持连续比较,相当于3>2and2>2,所以B不对
C:元组类型的比较是元素多的大于元素少的,若元素个数相等,则从第一个元素开始依次向后比较,直到两个元素不相等才结束。也就是判断3<’a’就结束了,因为两者不等
在比如,比较(1,9) <(2,3) ,也是返回True,因为1<2就结束了。
D:字符串的比较不会像tuple一样先看长短,而是直接从第一个开始比较,直到两者不等就结束,这里’a’<’x’结束了。
2、解释性语言的特性:
A. 非独立
B. 效率低
C. 独立
D. 效率高
解释性语言和编译性语言的定义:
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
解释性语言的定义:
解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。
现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。
编译性语言的定义:
编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
非独立:依赖解释器
3、下面哪个不是Python合法的标识符:
A.int32
B. 40XL
C. self
D. name
正像其他普通编程语言的通用规则,Python中的标识符不能以数字开头。
4、有一段python的编码程序如下:urllib.quote(line.decode(“gbk”).encode(“utf-16”)),请问经过该编码的字符串的解码顺序是( )
字符串编译的过程:gbk==>unicode==>utf16==>url解码
字符串解码顺序为:url解码==>utf16==>unicode==>gbk
5、任何数的0次方都等于1
6、下列对象的布尔值都是False:
NONE;
False(布尔类型)
所有的值为零的数
0(整型)
0.0(浮点型)
0L(长整型)
0.0+0.0j(复数)
“”(空字符串)
[] (空列表)
() (空元组)
{} (空字典)
7、unicode是一种编码标准,具体的实现标准可能是utf-8,utf-16,gbk ……python 在内部使用两个字节来存储一个unicode,使用unicode对象而不是str的好处,就是unicode方便于跨平台。你可以用如下两种方式定义一个unicode:
s1 = u”人生苦短”
s2 = unicode(“人生苦短”, “utf-8”)
8、python my.py v1 v2 命令运行脚本,通过 from sys import argv如何获得v2的参数值? ——argv[2]
9、 issubclass(a,b)——判断a是否是b的子类
isinstance(c,d)——判断c,d类型是否相同,考虑继承,如果存在继承关系那就return True
10、以下不能创建一个字典的是:C
A. dict = {}
B. dict2 = {3:5}
C. dict3 = {[1,2,3]:”uestc”}
D. dict4 = {(1,2,3):”uestc”}
字典中键必须是唯一的。列表中的项目包括在方括号中。列表是可变的数据类型(可以增加或删除项目)。所以,列表中的项目不能用来作为字典的键。
11、Python中单下划线 _ foo与双下划线 _ foo 与 __ foo _的成员,下列说法正确的是?ABC
A、_foo 不能直接用于’from module import *’
B、__ foo解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名
C、_ foo _代表python里特殊方法专用的标识
D、__foo 可以直接用于’from module import *’
解答:
_xxx 不能用’from module import *’导入 (相当于protected)
_ xxx _ 系统定义名字 (系统内置的,比如关键字)
__xxx 类中的私有变量名 (privated),所以更加不能使用from module import进行导入了
12、下列代码运行结果是? c
a = ‘a’
print a > ‘b’ or ‘c’
解答:
对python而言
其一, 在不加括号时候, and优先级大于or
其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y
第三, x and y 的值只可能是x或y. x为真就是y, x为假就是x
13、关于字符串下列说法错误的是: B
A、字符应该视为长度为1的字符串
B、字符串以\0标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
解答:B 以”\0”结尾是C/C++中存在,在python中不存在!!!!!!!!
14、_ new _ 和_ init _的区别,说法正确的是? ABCD
A、_ new_是一个静态方法,而_ init _是一个实例方法
B、_ new _ 方法会返回一个创建的实例,而_init _什么都不返回
C、只有在_ new_返回一个cls的实例时,后面的_ init_才能被调用
D、当创建一个新实例时调用_ new _,初始化一个实例时用_init_
解答:
_ init _是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。
_ new _ 是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。
即:_ new _ 在 _ init _ 之前被调用的,_ new _ 的返回值(实例)将传递给 _ init _给这个实例设置一些参数。
15、math.floor()向下取整,注意Python2中该函数返回值为浮点数,Python3中返回值为整型。
16、what gets printed? Assuming python version 2.x()
print type(1/2)
答案: type ‘init’
解答:Python2中除了除法默认向下取整,而Python3中除法为正常除法,会保留小数位,为浮点型
17、如何解释下面的执行结果? B
print 1.2 – 1.0 == 0.2
False
A、Python的实现由错误
B、浮点数无法精确表示、
C、布尔运算不能用于浮点数比较
D、Python将非0数视为False
解答:因为Python中浮点数的运算存在误差,看下面例子:
18、Assuming the filename for the code below is /usr/lib/python/person.py
and the program is run as: python /usr/lib/python/person.py
What gets printed?() D
class Person:
def __init__(self):
pass
def getAge(self):
print __name__
p = Person()p.getAge()
A、Person
B、getAge
C、usr.lib.python.person
D、main E.An exception is thrown
解答:在Python2的解释环境下,正确的输出应该为:_ main _
19、运行结果? 4
a = 0
try:
a +=1
except:
a += 1
else:
a += 1
finally:
a+=1
print a
解答:
try:
正常的操作
......................
except:
发生异常,执行这块代码
......................
else:
如果没有异常执行这块代码
finally:
退出try时总会执行
raise
20、下列对协程的理解错误的是? D
A、一个线程可以运行多个协程
B、协程的调度由所在程序自身控制
C、Linux中线程的调度由操作系统控制
D、Linux中协程的调度由操作系统控制
解答: