一、选择题
1.下列哪个语句在 Python 中是非法的? ( B )
A、x = y = z = 1 B、x = (y = z + 1)
C、x, y = y, x D、x += y
2.关于 Python 内存管理,下列说法错误的是 (B )
A、变量不必事先声明 B、变量无须先创建和赋值而直接使用
C、变量无须指定类型 D、可以使用 del 释放资源
3. 在 Python3 中执行如下语句后得到的结果是? ( D )
>>> world=”world”
>>> print “hello”+ world
A、 helloworld B、 “hello”world
C、hello world D、 语法错误
4、下面哪个不是 Python 合法的标识符 ( B )
A、int32 B、40XL C、self D、__name__
5、下列哪种说法是错误的 ( A )
A、除字典类型外,所有标准对象均可以用于布尔测试
B、空字符串的布尔值是 False
C、空列表对象的布尔值是 False
D、值为 0 的任何数字对象的布尔值是 False
6、下列表达式的值为 True 的是 ( C )
A、5+4j > 2-3j B、3>2>2
C、(3,2)< (‘a’,‘b’) D、‘abc’< ‘xyz’
7、Python 不支持的数据类型有 ( A )
A、char B、int C、float D、list
8、type(1+2L*3.14)结果是: ( C )
A、
C、
9、关于字符串下列说法错误的是 ( B )
A、字符应该视为长度为 1 的字符串
B、字符串以\0 标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
10、以下不能创建一个字典的语句是 ( C )
A、dict1 = {}
B、dict2 = { 3 : 5 }
C、dict3 = dict( [2 , 5] ,[ 3 , 4 ] )
D、dict4 = dict( ( [1,2],[3,4] ) )
11、下面不能创建一个集合的语句是 ( C )
A、s1 = set () B、s2 = set (“abcd”)
C、s3 = (1, 2, 3, 4) D、s4 = frozenset( (3,2,1) )
12、下列 Python 语句正确的是 ( D )
A、min = x if x < y else y B、max = x > y ? x : y
C、if (x > y) print x D、while True : pass
13、epoll 在实现 TCP 服务器时使用的是什么处理机制?( B )
A、轮询 B、事件 C、遍历 D、堵塞
1. 在 python 中, list, tuple, dict, set 有什么区别, 主要应用在什么
样的场景?
list:列表(链表的数据结构)有序的项目, 通过索引进行查找,使用方括号”[]”;
tuple:元组 元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”;
dict:字典 字典是一组键(key)和值(value)的组合,通过键(key)进行查找, 没有顺序, 使用大括号”{}”;
set:集合 无序,元素只出现一次, 自动去重,使用”set([])”
应用场景
list, 简单的数据集合,可以使用索引;
tuple, 把一些数据当做一个整体去使用,不能修改;
dict,使用键值和值进行关联的数据;
set,数据只出现一次,只关心数据是否出现, 不关心其位置;
2. 静态函数, 类函数, 成员函数、属性函数的区别?
静态函数(@staticmethod): 即静态方法,主要处理与这个类的逻辑关联, 如验证数据;
类函数(@classmethod):即类方法, 更关注于从类中调用方法, 而不是在实例中调用方法, 如构造重载;
成员函数: 实例的方法, 只能通过实例进行调用;
3. a=1, b=2, 不用中间变量交换 a 和 b 的值
方法一:
1. a = a+b
2. b = a-b
3. a = a-b
方法二:
1. a = a^b
2. b =b^a
3. a = a^b
方法三:
1. a,b = b,a
4. 写一个函数, 输入一个字符串, 返回倒序排列的结果:
如: string_reverse(‘abcdef’), 返回: ‘fedcba’(请采用多种方法实现, 并对实现方法进行比较)
1.使用字符串本身的翻转
def string_reverse1(text='abcdef'):
return text[::-1]
2.把字符串变为列表,用列表的 reverse 函数
def string_reverse2(text='abcdef'):
new_text=list(text)
new_text.reverse()
return ''.join(new_text)
3.新建一个列表,从后往前取
def string_reverse3(text='abcdef'):
new_text=[]
for i in range(1,len(text)+1):
new_text.append(text[-i])
return ''.join(new_text)
4.利用双向列表 deque 中的 extendleft 函数
from collections import deque>
def string_reverse4(text='abcdef'):
d = deque()
d.extendleft(text)
return ''.join(d)
5.递归
def string_reverse5(text='abcdef'):
if len(text)<=1:
return text
else:
return string_reverse5(text[1:]+text[0])
5. 请用自己的算法, 按升序合并如下两个 list, 并去除重复的元素:
list1 = [2, 3, 8, 4, 9, 5, 6]
list2 = [5, 6, 10, 17, 11, 2]
list1 += list2
list1.sort()
list1 = set(list1)
6. 编程用 sort 进行排序,然后从最后一个元素开始判断
a.sort()
last=a[-1]
for i in range(len(a)-2,-1,-1):
if last==a[i]:
del a[i]
else:
last=a[i]
print(a)
7. 阅读下面的代码,写出 A0,A1 至 An 的最终值。
1) A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))
2) A1 = range(10)
3) A2 = [i for i in A1 if i in A0]
4) A3 = [A0[s] for s in A0]
5) A4 = [i for i in A1 if i in A3]
6) A5 = {i:i*i for i in A1}
7) A6 = [[i,i*i] for i in A1]
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
range(0, 10)
[]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
[[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49],
[8, 64], [9, 81]]
8. 考虑以下 Python 代码,如果运行结束,命令行中的运行结果是什么
以上两段代码的运行结果是否相同,如果不相同,原因是什么?
不同
9. 列出 5 个 python 标准库
Random,time,math,functiontools,sys 等
10.python 内建数据类型有哪些
数字、字符串、Bytes、列表、元组、字典、集合、布尔等利用 collections 库的 Counter 方法统计字符串每个单词出现的次数
"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
import collections
str1 = 'kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h'
list1 = str1.split(';')
c = collections.Counter()
for s in list1:
c[s] += 1
for key in c.keys():
print(key,c.get(key))
11.filter 方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8]
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = list(filter(lambda x:x % 2 != 0,a))
print(b)
12. 两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]
a = [1,3,5,7]
b = [2,4,6,8]
sorted(a+b)
13.将[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
[j for x in [[1,2],[3,4],[5,6]] for j in x]
14.x="abc",y="def",z=["d","e","f"],分别求出 x.join(y)和 x.join(z)
返回的结果
dabceabcf
15. 输入某年某月某日,判断这一天是这一年的第几天?
import time
D=input("请输入年份,格式如 XXXX-XX-XX:")
d=time.strptime( D,'%Y-%m-%d').tm_yday
print("the {} day of this year!" .format(d))
| 留言与评论(共有 0 条评论) “” |