|
23春学期(高起本:1709-2103、专升本/高起专:1903-2103)《Python编程基础》在线作业-00003
* x' U% n& W9 ?3 J& @ u9 P试卷总分:100 得分:98
9 E. T: i% x; @( R, t. Z* p一、单选题 (共 20 道试题,共 40 分)" {2 P% z; j8 l7 V6 @
1.类中的普通方法至少有( )个参数。
! k+ O; x9 ~* _/ [/ ?A.0
& e2 X; w' X" L( X$ f: p3 YB.1
3 r+ z* |% T0 r& T% AC.29 ?* \1 L% ^2 |
D.34 f8 f% h5 M2 V* }
答案:B
8 T% z+ U0 P6 z: O1 t# S7 ^1 t( `+ |4 i$ N0 l; n7 P1 s3 Z5 H
2.已知"ls=[1,3,2,5]",则执行"ls.sort()"后ls的值为( )。% o a$ @1 C' ~/ g) z9 B
A.[1,3,2,5]
2 J. A- t6 w. S" ]( cB.[1,2,3,5]
- L8 s# i, W5 x* jC.[5,3,2,1]) F- `: g+ o5 i v5 t# j
D.[5,2,3,1]
; A8 D2 W0 S% g4 `( G2 J* P8 l答案:B
% V* |% h) e9 i4 O; `9 H6 `% ?/ f7 n
3.下面文件文件打开方式中,不能对打开的文件进行写操作的是( )。# v+ R. T z; w2 _0 d; h
A.w
% o2 e# |, q3 c' w4 DB.wt! @, \" F; I5 C7 ~! k8 T
C.r
: H/ c* I3 e0 b$ o! s6 Q0 l$ Z6 x( DD.a9 i! m: L D" b$ d5 g0 E
答案:( h* O, g2 A/ O" [3 _- C) |. |: ?
1 Y% f h# i8 N/ N" N
4.已知"a=[1,[2,3]]"且"b=a[:]",则执行"a[1]=10"后,b的值为( )。
8 I. t7 \8 j0 b( E1 U+ R) o7 bA.[1,10]
! H: }# ~1 ^( x7 m \B.[1,[2,3]]
! x. k' l( z5 O! M0 j: vC.[1,[10,3]]
; U2 O5 T T7 ^1 W* tD.报错
7 [1 s: y! L6 O$ Q' c3 r答案:B- y' A5 l0 p7 L
& ?: E$ T9 { E
5.已知"a=[1,2,3]"且"b=a[:]",则执行"a[1]=10"后,b的值为( )。" |! G2 T5 [9 {& I& h. D
A.[10,2,3]% P; _+ {4 P& K' K: H. B' i
B.[1,10,3]; w0 J! Q+ h4 H5 @: U8 z
C.[1,2,10]% t' }6 a8 m0 l( o" [% H
D.[1,2,3]! y' M( w9 N2 \/ @5 ]
答案:' U! }3 p- z* p' D2 |
# v7 f b4 [1 g6.已知M模块中有一个无参函数fun,且在脚本文件N.py中有"from M import fun as f",则在N.py中调用M模块中fun函数的方式为( )。
/ y$ d( B( j8 z+ C; O2 k$ F3 S" qA.fun()8 o3 o: d6 C# H1 B- g6 x
B.fun()
* W% Z% Y& k9 s! p6 RC.f()8 g8 A5 D0 u' K5 y3 Z) z7 c6 n
D.f()
" `9 X& s' j7 J答案:
8 U3 z9 G% z6 T. M0 Q3 M2 _. i7 d( R2 m/ F6 X
7.对于if语句序列的两条语句,如果第一条语句前面有4个空格、第二条语句前面有1个制表符,则运行时会产生( )异常。
/ J; T. d3 b5 S. ]3 L, R5 ?# [/ KA.IndentationError
% H1 S2 D f' L, h9 k) ^: PB.TabError( Y! n* y8 Z! _( h
C.IndexError* f. L9 P4 W5 Z* H0 W9 r0 F
D.SyntaxError
& L' Z) q- z# o答案:B
3 D: _4 _3 U: I( r) ^( M; z. A/ ~4 D) ], r+ Z
8.已知Student类是一个空类,则通过"Student.name='unknown'"语句增加的属性可以通过( )访问。% M7 D6 m* a. f1 o+ h- m
A.类名或对象名
! ]' c+ }* q: t' [8 T, ]/ c" V# VB.仅类名
: K/ U% U2 Z/ hC.仅对象名9 I1 c3 f. l+ p- `' t" R
D.无法访问" u7 I" f, a0 g* i! f
答案:# `; X. u- i o1 I- Z
. v( x; G) m4 k
9.使用字典中的( )方法可以删除指定键的元素。
E& c/ S+ A3 L4 ~# m+ LA.del
' q* f& O6 Y. a9 B! hB.delete
5 U2 ]+ U/ \+ k2 c) b/ k9 p6 d. [C.pop
$ N& e/ H5 \# U2 gD.remove
8 z6 f5 z( y8 O b" e答案:2 \2 m8 U. ^8 S4 x. K( w4 f$ j
; E! J, E5 ^/ A+ v10.os模块中用于删除指定路径的最后多层目录的函数是( )。, g" q7 L$ z2 v) x/ e9 [/ \
A.removedirs9 ~& u* _3 f. A- V
B.removedir; s5 A# N8 O& _# ]! k$ k: k
C.rmdirs
A5 m* _; \4 k% k3 VD.rmdir
$ g- B6 X6 ?( L8 j$ ^- J答案:
5 E& ]5 V( _3 j3 R T
( D( J6 k3 C. V11.如果要去除字符串中头部的空格,可以使用字符串的( )方法。+ v5 s2 H5 o" n$ ]- h7 b) K6 B- F
A.strip
# M- c% J: Y5 S1 C2 J3 mB.lstrip
9 w a) N. N+ y4 V; zC.rstrip
. _* a* f9 l: v) l/ D4 lD.replace* O; i6 o% d1 @) X( n5 Q$ w7 c, n
答案:B
! \) t. n* r* H: n4 z2 t
& ?' l1 F u5 U/ d12.类中的( )对应一个类可以支持哪些操作。
0 m2 I m7 [2 q8 q5 PA.属性" H7 {0 t+ g- ~+ M/ m
B.方法0 a8 M% ~ @# J- _ ^
C.数据
- g* s4 w; C3 a% A4 SD.对象
X8 |9 P+ p" c5 C8 a答案:B
" j/ e, M. t; r) @4 z) V8 c* s+ U
13.下面程序的输出结果是( )。 score=80 if score<60: print('成绩为%d'%score, end=',') print('不及格')
* I9 G5 j% }2 G" \. KA.成绩为80,不及格; d1 `; _" E! c0 l9 s+ N
B.成绩为80: @2 V, i# n; f- K: H
C.不及格
3 F. [$ G+ t, e! x t) {( qD.无输出
/ G5 @2 ?' W$ d! t( z3 T; Y! z答案:2 q3 W; [* O& g2 G4 Y/ f
; R( C* i( M& ?3 `14.已知"a=list('my')+list('book')",则a的值是( )。+ Q3 c9 I8 e8 p
A.['m','y','b','o','k']
6 f/ \* n7 R/ M- n2 z" G% N" eB.['m','y','b','o','o','k']' P( U6 [. s3 Z' } s
C.'mybook'7 ?3 U" V8 H& G' O7 y9 M
D.'mybok'0 p( \) ~ {, W+ M' n% n
答案:B
' C h7 h$ O1 q, e
) D- N1 b2 @% m! f$ p% ^1 _/ D9 D15.在Python编程环境提示符下直接输入Python代码并执行的运行方式称为( )。1 A( V# a) x( t+ o
A.交互式运行
4 `7 G/ I1 x( x4 z5 J+ fB.脚本式运行! Y8 w% g9 g' t9 Q
C.代码式运行
. E# F- O5 w5 }D.即时式运行
% s1 ~9 v) m0 D* c/ b7 `, x; m& a答案:
1 t6 T6 g3 D* j' @ H+ R0 k% ?+ H R9 L8 |3 M
16.内层函数使用外层函数中定义的变量,应使用( )关键字。
) T) ~; \2 r- oA.local' u6 K/ O; F' ^* \" x9 E" b' k. m
B.nonlocal
6 |% _' [4 M j* d: U' dC.global f+ x7 M6 m) @$ g
D.nonglobal" I0 S7 _ _% t& M: S
答案:B
7 [& b" g5 b' l k/ E
9 R; f* d! x5 _/ S' W/ h17.不定长的关键字参数在传递给函数时会被封装成( )。5 j7 q. Q0 c0 c+ I
A.元组
# h8 k8 ]1 I" S/ tB.列表
9 `- {, g4 I* a2 K6 iC.集合4 |* l: x |7 q6 D9 ]# `6 F
D.字典
) R! g, I5 _) [5 H/ Q答案:
) O0 \6 ]* P; ^6 K- ~# M* H8 e0 L" K. ^9 l8 n+ ]# ^6 w. S
18.已知"str='a\rb\r\nc\n'",则"str.splitlines()"的返回结果是( )。+ \. D& G; |# ?3 E& e
A.['a','b','c']8 ]) N* R# R0 e Y1 _3 M1 d
B.['a\r','b\r\n','c\n']
5 I2 C5 r, O4 {' o& uC.['a\r','b\r','c']
3 H% ~1 v2 D- I' L2 ED.['a\r','b','c']
$ N" r& s/ y3 E t- S答案:1 [4 b; d6 \8 S% ~( g0 d' P1 T
( c& }, @# t, F6 V8 }) a0 ~: v( L0 S, d19.下列选项中,描述正确的是( )。5 N! f& o) b/ d1 Z- I
A.父类会继承子类中定义的所有属性和方法,也可以在父类中增加新的属性和方法. b# \$ O5 z3 f! S; r( l2 H
B.父类会继承子类中定义的所有属性和方法,在父类中不允许增加新的属性和方法8 }- E8 n8 x7 ^% k
C.子类会继承父类中定义的所有属性和方法,也可以在子类中增加新的属性和方法! f g% C1 d4 e5 u. {
D.子类会继承父类中定义的所有属性和方法,在子类中不允许增加新的属性和方法
$ g% _/ x" A- t答案:
/ C) j! M" i# {3 ]4 s% S% q( A; A" z) \6 e, L+ m
20.计算列表ls中的元素个数应使用( )。3 B- J: @! {; X( R0 T X, F
A.ls.count()/ t* v/ J: `8 R4 {
B.count(ls)
" f: e9 q. ` ], GC.ls.len()
K+ ^, u. L" @) q; s! PD.len(ls)+ m9 W1 `, F( ^6 D
答案:
* Q) r+ _8 {' A1 r, F3 \
0 j: _3 l3 p$ S4 D* x* H二、多选题 (共 10 道试题,共 20 分)
& z4 y- R0 y3 q/ r% j% v21.已知M模块中有两个函数f1和f2,则在脚本文件N.py中要导入M模块的f1和f2,正确的写法是( )。
8 |; m+ d. b! i) f) FA.from M import f1,f2
4 o/ j6 T9 ^" o% D0 U4 a% [B.from M import f1 and f2; t' m+ ~/ ]( Z
C.from M import *6 X& h+ [, R7 n- e
D.from M import f1 as f2; v: m0 l4 _* l l. G
答案:) X4 C! @: h5 F! f R* q3 P/ B: n) I
$ B8 P9 `9 q0 E2 u/ f
22.下列选项中,描述正确的是( )。
3 d# z5 H0 }% P9 x! oA.全局变量可以在所有函数中使用
" |3 U& k* h4 o) `- HB.如果不使用global关键字则在一个函数中无法修改全局变量的值
. V% j2 z# M# }% }7 h5 eC.如果不使用global关键字则在一个函数中无法获取全局变量的值
' ]+ g* w. l. vD.全局变量只能在其所在的脚本文件中访问, @ K& l' Z$ q8 ~. C* I+ d1 P
答案:B' h1 r7 q- m) h# K, t
9 M0 ~$ |! k' o- a' j/ D0 G; D+ o
23.下列选项中,可以用于判断x和y是否对应同样存储单元的语句是( )。
. {! G. y8 X& [7 v- tA.x==y
* R) |6 l( z ?& N$ D8 W+ PB.x is y" Y6 Z2 f) d" s |1 C# y0 q5 H9 n/ D
C.id(x)==id(y)
: x' L% |# r1 q& O' [D.not x!=y. N( E4 H- [2 b
答案:BC
. C, i# P, _1 l5 F9 l% K- a J9 U4 x* S1 ~
24.下列选项中,描述正确的是( )。
) z C" K6 Y4 FA.所有迭代器都是可迭代对象
* @3 ]# o/ X l X3 D2 R1 N: |6 |B.所有可迭代对象都是迭代器$ S$ z- Q, R `+ B
C.通过"isinstance(x,Iterator)"可以判断x是否是迭代器
: W0 v$ L. c/ Q& c: C: a0 G0 i9 iD.如果一个可迭代对象可以通过next函数不断获取下一个元素的值,则它是一个迭代器
" Z' n/ L8 y7 g% n/ s答案" r: j" T4 p- z: Y7 C6 j
% x( y& I( m; s s8 Y25.下列选项中,有效的Python变量名包括( )。$ m* }8 W/ H x) O
A.test
+ E% q! b b: j9 J: f; zB._abc' f" s8 b2 b8 j& {; J( u( I9 Y
C.1_a
& o2 d( x2 ]+ d; SD._t1
% P4 z6 v$ A' v: h5 m* x+ j答案:BD
9 i; F# \% _1 H8 Q8 s
$ I+ w4 q5 c! c$ f( v26.下列选项中,描述正确的是( )。. [/ Z- l' P% Y3 v3 R
A.一个装饰器可以为多个函数注入代码: {7 {8 L9 p3 ]$ B% f( \
B.一个装饰器值可以为一个函数注入代码' }% Y% T/ H' f9 y
C.一个函数可以注入多个装饰器的代码
7 x* b7 M9 Q) v& p' p! O, aD.一个函数值可以注入一个装饰器的代码2 ?3 Q+ \% ]% f
答案:6 J1 [4 L3 a9 ^8 p; t2 a
8 d5 G6 w3 V5 L1 ~8 ^27.下列选项中,返回结果为True的表达式为( )。. e+ P4 c% ?3 ]) \% B
A.15 in {'name':'Zhangsan','age':15}
# x: a4 ]2 v" \" ]8 IB.'age' in {'name':'Zhangsan','age':15}
. I8 [4 O) `8 g+ B2 f8 G$ QC.'Zhangsan' in {'name':'Zhangsan','age':15}
$ r5 Z s4 ]5 u6 RD.'name' in {'name':'Zhangsan','age':15}* ^# d* V. A5 O$ [- Z1 E
答案:BD
' M( Y" l6 O8 K2 S5 D8 V, h2 c& h9 D7 K& F: e v3 O
28.下列关于闭包的描述中,正确的是( )。3 O: o' ]% q9 _8 `/ K
A.外层函数的某个局部变量如果在内层函数中使用,则外层函数执行结束时该局部变量并不会被释放# f/ ~. w4 O0 A6 D8 X! N
B.外层函数的返回值是内层函数的名字
6 V5 c u/ E8 J/ w3 aC.闭包会将内层函数的代码和自由变量打包在一起
! C; }; o- W8 w$ rD.一个函数通过多次调用可形成多个闭包,且每个闭包可以有不同的上下文环境' i6 |& P3 g7 b9 u; T
答案:BCD
7 R7 i& W6 i9 q7 Q
0 t: _* Q% g- X0 S29.下列选项中,描述正确的是( )。
. S/ N6 m/ w6 D% |* [+ XA.一个函数中定义的变量可以在另一个函数中使用# e; j; n% _/ ]2 D$ ^8 I4 L
B.所有函数外定义的变量可以在任何一个函数中使用" O0 D- D8 h, p" x; [, j) U
C.在一个函数中只能获取全局变量的值、但不能修改全局变量的值& r6 X, a |) M' L. X6 [/ V9 H
D.一个函数中既能获取全局变量的值、也能修改全局变量的值
6 ]8 e) R. E2 f0 b0 P4 E9 t答案:BD( n2 H- r, K- @ H2 W+ L0 W
$ h& q# T% ~5 ?6 X( o7 m9 `6 p% P30.下列选项中,关于列表的sort方法描述正确的是( )。
) L4 S" l% `* q4 J* m4 aA.如果列表中的各元素可直接比较大小,则可以不指定key参数0 k5 Y. R4 b5 |) g% D# P9 c$ t: @ A
B.reverse参数决定了将列表中的元素按升序还是降序排列
. \2 P; D3 N9 g2 o! @$ N" b- {C.key参数接收一个函数,通过该函数获取用于排序时比较大小的数据. a4 z# S/ |4 i" N* k
D.reverse参数默认值为False,表示将列表中的元素按降序排列
& d) E* c6 O- n. n# C1 j答案:BC0 Z7 W& W# F" w- |) \! j% e
/ y! P7 F3 s! C: f8 J7 `( R% I
三、答案来源:谋学网(www.mouxue.com) (共 20 道试题,共 40 分)& h% u1 Q. d7 D! n: ]5 M+ j6 F
31.装饰器的作用是在不修改已有函数情况下向已有函数注入代码。
# _) p& E: z$ m% \7 H) o6 ~4 p答案:正确
! l c" A3 J5 x( W+ q/ a/ ^4 [1 g9 J
! d$ _) P4 g$ e* M32.通过下标"[]"不仅可以访问列表中的某个元素,还可以对元素进行修改。# l6 }' y( c0 V
答案:正确 X# j/ G+ j- f X
& s+ }9 Y" G5 n. O% U33.re.sub(r'','','tc6 M3 a5 g6 g" _8 {8 J# G Q, E
')的返回结果是字符串'tc'。$ `) t4 n9 _3 ^$ R
答案:正确
( Z* O9 B+ x V' |' V4 N1 L# ?: h' L( {* I, Z0 w: n* S g% j
34.如果一个属性只有用于设置属性值的setter方法,而没有用于获取属性值的getter方法,则该属性是一个只写属性。6 O4 I1 h( g3 K+ C6 I
答案:错误& O( D5 l3 W0 c3 d2 t* a5 E
" E* a+ l6 {: D9 W" ?/ o ^
35.通过"ls.max()"可以得到列表ls中最大元素的值。$ N! E- T* K% M3 S, E
答案:错误. o- A. j" I# e a8 L% L
. I% M+ I8 d& F/ l36.使用strcmp函数可以进行字符串的比较。
' b" e& S; y* G; n3 a答案:错误9 i" b; I F1 N8 o1 ~: V
) u/ `) S3 r+ a3 |5 p
37.类的普通方法的第一个参数自动对应调用该方法时所使用的类对象。, \9 |. R B# x# |$ v, o! y
答案:正确
3 f4 r) d& r0 O1 H% @
& D: L" ~: s% i1 E38.使用字符串的format方法进行字符串格式化时,替换字段在字符串中需要用一对大括号括起来。
5 f+ V3 }, \; q答案:正确
8 v) K& I( e5 ~/ t; O2 u9 z: g! `$ D9 F: W3 M: R* m
39.os.path.join('.','src','tools')与'.{0}src{0}tools'.format(os.sep)返回的字符串相同。
& \2 [9 R! o0 q答案:正确
7 b- `2 O4 a0 u7 s$ H/ p- C( F/ b* B* c9 {, u2 s+ [
40.已知A类中定义了方法fa1和fa2,B类中定义了方法fb,A是B的子类,则B类中包含了3个方法。
, Y' g( B o5 u8 O答案:错误
' |- ?/ I, J* U# y% F
# E% t* K) ]4 x0 P3 o) b( C41.一个脚本文件中定义的全局变量只能在该脚本文件中使用。. {0 J5 S1 l) [4 @1 m. M
答案:错误2 D" V* D7 _; N. j2 I; {( l( j
+ k3 Y4 S' ~% M& g2 N
42.为一个对象动态绑定的新属性,只能通过该对象访问。
! e4 [2 u. a* I$ a, I答案:正确
& z0 G. a- q M- P% `/ z. Z& F: D: f
43.已知MyModule模块中有一个无参函数fun,且在脚本文件N.py中有"import MyModule as M",则在N.py中要调用MyModule模块中的fun函数应使用"M.fun()"。0 z3 E* X6 b6 F8 D# ]( I7 u
答案:正确
& {+ H4 C7 z4 \8 [/ S$ _6 ~* D+ W6 f
44.Python中的多态是借助鸭子类型实现的。+ Q7 |4 j+ K5 W- s, W9 V! G' j) C& e
答案:正确
* J0 O! ^' Y9 |+ m, p& H7 f, Y
* k' e; n& U$ ?( ~& I: O45.在for循环和while循环后面可以跟着else分支,当for循环已经遍历完列表中所有元素或while循环的条件为False退出循环时,必然会执行else后面的语句序列。
5 {/ J4 L) F! x! t; t答案:正确
! b E- S( n. M3 G$ g0 L) r$ |" ?. b3 R: F' ?' a
46.一个类属性只能通过类名访问。5 ^" h2 O3 P1 j7 w
答案:错误 [2 J) I4 s0 K. u6 Z- o8 S
E: s- q% v# a( ~47.已知s1和s2是两个集合,则"s1.issubset(s2)"与"s2.issuperset(s1)"返回结果必然相同。( K- c5 s# B z% M2 i1 `
答案:正确
$ v8 l7 ^! j3 [' ?
( H/ ~: i) o4 q0 z48.使用下标"[]"可以访问集合中的元素。* T3 k& E1 K; R5 h& }8 \
答案:错误
% J% i* D2 z0 j: {
, X; ?$ j' Z& p( ~- l49.在一个函数中定义的变量在另一个函数中不能使用。
& A+ }, q; _' g$ I# E5 C2 T& {答案:正确' v7 F/ t! b; p8 t" ]( {
& l2 R. U. q' ~2 C50.利用iter函数可以根据可迭代对象获取迭代器。+ Z5 x9 q: z' F" G. S$ g0 ~' _1 O
答案:正确
; y& y4 n( `# h/ a3 I
w q2 O- U) ~# W( }" e; f. `9 Q' d( x& ~/ p& {- p
% y* @/ U1 {; O: ^* Y
( ~1 v$ `' I e# \3 U& ^- F- N y
( f9 Q* I2 Q+ c
( i, ~( N z n- f+ ]; B6 p
9 k2 ?+ ?4 Z# j
8 I `5 p. m. }1 I
6 s; S1 ^( o0 v# f' Z' ]( K/ l* Y5 i2 e7 U
# L6 d( \ J0 q1 w2 P' Y: U
# D. ` a+ h3 o0 q0 {, w# D |
|