|
23春学期(高起本:1709-2103、专升本/高起专:1903-2103)《Python编程基础》在线作业-00003) t, X" ]2 l8 j6 a1 r. y
试卷总分:100 得分:987 }- X9 ?& i0 \ a# w6 V
一、单选题 (共 20 道试题,共 40 分)
! Y& j. ^, G" L. Y/ J% k, w% `1.类中的普通方法至少有( )个参数。
% H E3 P# W. n4 |8 ^/ Y! EA.0- W6 v2 c) K u. S
B.18 } ^5 h% d4 ]0 J, Z
C.2. H% w: G4 ^- S- ]+ [" {, |
D.3
5 x9 c3 f1 ?5 ?5 Z. h9 ?$ L答案:B8 y5 u+ p. v$ g7 c
. h. P# y4 E4 Y+ E
2.已知"ls=[1,3,2,5]",则执行"ls.sort()"后ls的值为( )。
1 V: j$ I6 h" j9 @0 T) x6 `% UA.[1,3,2,5]
6 y. y2 | e3 ?# R9 |. \B.[1,2,3,5]; z8 k' n. r, R# O- j6 I2 P
C.[5,3,2,1]
' p, w* J: O! F3 Q* a, xD.[5,2,3,1]
/ H$ F' j1 i3 H( ` m; i答案:B0 c0 [/ @, j1 T3 D5 ^
5 d' _7 ^- S Y3.下面文件文件打开方式中,不能对打开的文件进行写操作的是( )。
/ r% G2 a4 m. ^( x+ e# e& K2 OA.w, N* d- i0 V0 n; G1 A% M% x
B.wt1 f4 } K G% R8 X8 {) S' h$ [# s
C.r
7 t; Y$ v/ M, I6 B: \D.a
/ x. o6 B2 F8 E0 M; z7 u; Y/ y答案:
+ g: B# D t' W
* {$ V p- g- e% K/ }' E4.已知"a=[1,[2,3]]"且"b=a[:]",则执行"a[1]=10"后,b的值为( )。) f6 S8 G7 c+ |$ ?" h* t+ f
A.[1,10]" T! _5 e2 O; r
B.[1,[2,3]]
$ {9 u5 g! p2 @0 y; YC.[1,[10,3]]
7 E8 C- Q$ P0 Z# w/ `D.报错
7 b3 F) A; R/ i% K* J答案:B3 w# O. \6 t+ [- h4 K
: V1 g/ z* n- M5 t- J5.已知"a=[1,2,3]"且"b=a[:]",则执行"a[1]=10"后,b的值为( )。+ J2 C) ]8 w- W+ q, d1 h2 L x
A.[10,2,3]
% Q6 `: t& w5 M# c. a; ]B.[1,10,3]
6 Z4 n" n, Z& Z& c& }C.[1,2,10], C' {# t k) D5 l g% M
D.[1,2,3]
8 s0 ] J' N: C F答案:5 P+ d. m7 Z( Q) T u. C" I
9 z- w( U1 p& w; G/ K' _) j
6.已知M模块中有一个无参函数fun,且在脚本文件N.py中有"from M import fun as f",则在N.py中调用M模块中fun函数的方式为( )。
: k4 P" x$ Q& a, M& L" j. TA.fun()
- C$ g2 l% z. I' N, XB.fun()
# k6 b: B. j# H- `1 z9 D9 jC.f()
2 b" `/ Z( |: X& }- TD.f()( i. y$ j0 J# C l/ n( @" y+ G
答案:" x% c8 X7 g( x! H
) l+ o+ S+ N( W* V! u7.对于if语句序列的两条语句,如果第一条语句前面有4个空格、第二条语句前面有1个制表符,则运行时会产生( )异常。: W. C5 f! h. W/ ^: {. G
A.IndentationError( w4 p) _; J! H. m
B.TabError
0 i' L5 t, C8 P7 O$ z' D- I3 |! bC.IndexError% \; H% T/ J( Y
D.SyntaxError/ _/ e# L, I: B8 }( F* w' l
答案:B
6 d4 |0 C6 V `& |4 p5 J$ M ?8 c) L# k4 I4 ]
8.已知Student类是一个空类,则通过"Student.name='unknown'"语句增加的属性可以通过( )访问。
+ H& H9 @) f% eA.类名或对象名
% E0 w) d! ^' KB.仅类名/ T# _4 w2 I$ J
C.仅对象名
2 J; ^" u0 m! P2 e6 ~( m) q RD.无法访问4 S, t+ `* @) j! v6 U0 E
答案:2 Q% ?5 @( d' D% I
4 u" O% W9 Y* h( d9.使用字典中的( )方法可以删除指定键的元素。
$ R# r6 h" j" a2 _) ?( e, J; tA.del0 S7 v* y2 l* M0 }
B.delete
7 o; }4 b% X* D) x- Q' D# E# AC.pop2 K" ?& Q$ A1 M4 Q
D.remove
! V" L- D* G! B$ h3 {答案:7 o! W: g+ g( D, i2 o1 z4 Z
' V2 k- W( |* \; |+ A) l10.os模块中用于删除指定路径的最后多层目录的函数是( )。
+ A# y8 V$ F- Y! X( IA.removedirs
; L% ~0 m9 N# Z; _B.removedir! t" |; y' e5 C; W+ E
C.rmdirs
& [) f: H. @& I! K4 e+ vD.rmdir6 c( e1 _- h0 c5 |/ B0 N" c8 ^
答案:* s! Y+ e1 S& z. o; A) D' i6 J
& M7 h: P. J; ?11.如果要去除字符串中头部的空格,可以使用字符串的( )方法。3 e$ s/ y$ ^5 j/ m
A.strip
7 S: V8 w g* \+ f: z! O* f- iB.lstrip' j$ H! F" s8 W2 Q% j! [# k1 P
C.rstrip
: N$ D6 j+ ~- L0 LD.replace
0 V4 d. j; S# e& T% k2 C$ Q答案:B2 H% }; L) G& ?" B; g m2 t& V8 z
. m4 l9 M6 u% c7 @7 D: e Q9 ~
12.类中的( )对应一个类可以支持哪些操作。, \1 z5 G! L3 ~3 [
A.属性
, H- V0 L& O- a, @* [# |/ vB.方法! i( t% F9 [: y6 z! D
C.数据
, h; Q$ p$ B v, X9 UD.对象$ K! R% A( ^9 [0 H( g# [
答案:B
, o' ^* ? e! }1 `; M
% y. N# {6 P# o3 s% z13.下面程序的输出结果是( )。 score=80 if score<60: print('成绩为%d'%score, end=',') print('不及格')
6 d- ?5 v U( n/ M& K! T TA.成绩为80,不及格7 X$ T5 k1 S' K, E
B.成绩为80; z1 C, Z& r1 v+ g( V
C.不及格: p# F9 h0 A3 h' F
D.无输出
6 K; w" h6 k ~: a答案:4 s2 c; Q& m* f0 j' v
) n( v$ R D5 R' |# r# U3 n14.已知"a=list('my')+list('book')",则a的值是( )。" b V, _- ^ T# F
A.['m','y','b','o','k']! T: M, P5 V5 `( f; l: c* h3 a
B.['m','y','b','o','o','k']2 L ?7 y" L, W$ [6 B
C.'mybook' H& ~# I+ g4 \7 j+ J3 Q
D.'mybok'$ E5 n& Z, Y" M, N
答案:B4 l2 l; e5 H; |4 r/ d1 L
0 W( o2 u3 V( ~ G15.在Python编程环境提示符下直接输入Python代码并执行的运行方式称为( )。
: C3 N$ P- z8 s) N4 dA.交互式运行) K6 J! y# S# P9 D
B.脚本式运行/ H+ x1 a, a( ]
C.代码式运行, G$ x4 O6 r/ q
D.即时式运行& ]- j3 T* O( p
答案:
4 `9 R8 L% E, Q: q R x {# D- G0 F' r' M9 W$ T9 u U
16.内层函数使用外层函数中定义的变量,应使用( )关键字。3 \6 t1 G$ ]; H( h: @! E
A.local) i. J/ o1 v* `$ ~: B8 j4 g
B.nonlocal* p) h4 S5 g' T( S) ~
C.global8 d6 Z9 g& o0 w0 R+ O, O. W
D.nonglobal
8 s0 G& q% n7 P0 v$ t" h: ]9 Y答案:B/ k1 O# O! t1 b/ B% h! M8 {$ J7 G
: T- q' V$ D* d: I4 ^( U3 j17.不定长的关键字参数在传递给函数时会被封装成( )。
# }+ I( l, C7 n4 I$ a& bA.元组
9 o0 M8 S5 F) B3 oB.列表 X& ~9 t& z+ t0 J* e
C.集合 I- O3 y/ X0 l( b
D.字典
6 `' C; O( R$ Z答案:5 K, m: R+ M1 b( t
6 x8 K# o8 Q: G; Y* z) N
18.已知"str='a\rb\r\nc\n'",则"str.splitlines()"的返回结果是( )。7 y7 }" c! u9 s; x S8 M9 A
A.['a','b','c']
! P1 N3 v% V2 J5 \! [B.['a\r','b\r\n','c\n']2 L9 @8 J! p1 i
C.['a\r','b\r','c']7 y3 T6 ~7 m+ J V
D.['a\r','b','c']6 Z$ J& z0 t0 O3 {$ f. o
答案:
3 Y, V% E9 e; w2 k" S- l4 E5 w F/ f; }' a& B" `
19.下列选项中,描述正确的是( )。! S6 i6 X% S9 j3 f2 `, l
A.父类会继承子类中定义的所有属性和方法,也可以在父类中增加新的属性和方法
5 g8 S* O7 ^) q$ O8 C7 b$ YB.父类会继承子类中定义的所有属性和方法,在父类中不允许增加新的属性和方法* O0 t, |. C& ]) j/ N! f8 k' y1 g% f
C.子类会继承父类中定义的所有属性和方法,也可以在子类中增加新的属性和方法3 W/ D) G, i; C, U: {- f6 Y
D.子类会继承父类中定义的所有属性和方法,在子类中不允许增加新的属性和方法
! _1 Y4 U1 t* f# @# P( p答案:9 I5 E( X& ]) ?) z! y" v& d( e
" K p2 H; y& c' N20.计算列表ls中的元素个数应使用( )。) g; l5 S# K' @) K# \# ~% ?
A.ls.count()
3 r* |0 l+ J5 X3 s# wB.count(ls)- O5 S/ [$ _/ M9 }/ j @
C.ls.len()
5 c" u* h( w# V, W, p1 u# uD.len(ls)( |9 o4 y$ i8 T( Y5 M3 S
答案:
) T3 b( _% d! ^8 X. @6 y' r, [ {8 a) G# C$ D% Z. G
二、多选题 (共 10 道试题,共 20 分)6 L$ P/ d$ O0 a" u% Z$ z' ~9 D
21.已知M模块中有两个函数f1和f2,则在脚本文件N.py中要导入M模块的f1和f2,正确的写法是( )。
6 t+ F# u ^* t! O3 N: k0 R @& JA.from M import f1,f2
/ _# r/ C2 }4 W0 l- Y' V2 N% ~/ rB.from M import f1 and f2
5 O% s/ C) @; c) J4 h+ I3 g- UC.from M import ** w2 \+ v' V$ K
D.from M import f1 as f2! i: `: ?; m: W# T# P6 e$ O1 x- }
答案:0 I- b$ H0 ?8 A2 N+ P* T
( Y, H; a# H' X: T% P2 W22.下列选项中,描述正确的是( )。* r/ s2 N' ?: a$ m P
A.全局变量可以在所有函数中使用6 V8 F# X' w) h$ v
B.如果不使用global关键字则在一个函数中无法修改全局变量的值. L& z+ |1 `+ N. `9 K
C.如果不使用global关键字则在一个函数中无法获取全局变量的值
! ~1 c" }; n! F) C! G& sD.全局变量只能在其所在的脚本文件中访问
4 n$ I! I$ w6 M9 Q答案:B
9 ^+ l* k2 T* O9 L
+ ]1 @4 `3 v# x' D23.下列选项中,可以用于判断x和y是否对应同样存储单元的语句是( )。6 u% {3 A* M; y9 D* l6 `6 u. W! F \
A.x==y* f4 E" n0 y3 i/ `3 x& T
B.x is y
- F# n) t, h1 K2 L2 j, ^9 EC.id(x)==id(y)
+ V$ O4 N# l* Y# n# t2 }D.not x!=y
/ \2 }) ^" b) R答案:BC* n+ L3 N R( Z% g6 m: [( D" h% c
$ ~% E) }" b! z) Q% Q m5 l) v24.下列选项中,描述正确的是( )。
* `, E/ p2 j+ E& z- `9 uA.所有迭代器都是可迭代对象
4 B0 j( \1 z' f' LB.所有可迭代对象都是迭代器; R6 q3 Q) }* y
C.通过"isinstance(x,Iterator)"可以判断x是否是迭代器
/ k3 P$ V# d+ q1 ED.如果一个可迭代对象可以通过next函数不断获取下一个元素的值,则它是一个迭代器
* Z" j* t) _0 C7 ]* H答案
0 ^. v# q1 D/ ~0 i8 i( P4 S2 K. i) a
25.下列选项中,有效的Python变量名包括( )。) [; x( l8 {; C2 U
A.test
) \! k' Y8 a% D7 N3 I/ ^B._abc
8 _5 M8 H4 U0 F1 y3 X3 Z2 TC.1_a( V; b; P% g: r" {
D._t12 q# q$ c1 z+ o
答案:BD0 o/ f& o# R! n8 U& w% y
5 C% r5 f' B, T3 p& _, L: R* A+ p$ ^
26.下列选项中,描述正确的是( )。
3 P/ {4 D6 v# {# DA.一个装饰器可以为多个函数注入代码4 r$ @) [1 |* E" `+ S
B.一个装饰器值可以为一个函数注入代码
( \3 p$ o. m8 F. p+ J7 [C.一个函数可以注入多个装饰器的代码
" X/ U" z7 `5 T* ]8 f& P. KD.一个函数值可以注入一个装饰器的代码6 k5 \& J* }* ?5 p2 a
答案:
5 H/ g/ s; n' g% Y( Y2 P
" d; Q, c+ Z9 m: `27.下列选项中,返回结果为True的表达式为( )。 L+ ^- A+ C5 P e3 R+ z
A.15 in {'name':'Zhangsan','age':15}
, V9 ~- a! V3 RB.'age' in {'name':'Zhangsan','age':15}
8 R1 I7 ]+ t$ l+ OC.'Zhangsan' in {'name':'Zhangsan','age':15}4 }% R% [6 z# L2 L
D.'name' in {'name':'Zhangsan','age':15}
9 {5 w' z' M; e9 V: c答案:BD" t/ _; ~" S6 P9 X& Z& F9 ~: [( M/ q2 {2 c
, ^) D, z I6 L
28.下列关于闭包的描述中,正确的是( )。7 [% p7 G& y2 g# g5 ^* o
A.外层函数的某个局部变量如果在内层函数中使用,则外层函数执行结束时该局部变量并不会被释放# f( E0 Y. Y/ k. S& `7 v2 u, |. A# O
B.外层函数的返回值是内层函数的名字9 q% M8 ?% z9 `0 L
C.闭包会将内层函数的代码和自由变量打包在一起: H4 S9 T8 l. v% y4 d
D.一个函数通过多次调用可形成多个闭包,且每个闭包可以有不同的上下文环境1 k0 Y+ w: e9 T Y
答案:BCD
, { r% N1 g |0 H
! u# Z( [5 X' L2 H* v29.下列选项中,描述正确的是( )。
! f: Q1 d6 r! B) ~: ]A.一个函数中定义的变量可以在另一个函数中使用
( p: ]) Y3 a5 Z. u0 bB.所有函数外定义的变量可以在任何一个函数中使用
) m, i6 L* Q1 Y) s Z0 V; [/ fC.在一个函数中只能获取全局变量的值、但不能修改全局变量的值
. D. N* p8 e% h& J9 U/ mD.一个函数中既能获取全局变量的值、也能修改全局变量的值
% l# |. S2 ^/ e1 w' O' k答案:BD
- H( g$ J6 z$ C
- P8 {- B$ M0 x* @1 h8 R9 @30.下列选项中,关于列表的sort方法描述正确的是( )。
& [5 Y" k4 a0 U1 U( cA.如果列表中的各元素可直接比较大小,则可以不指定key参数
" [3 b1 m- p2 s8 [# }B.reverse参数决定了将列表中的元素按升序还是降序排列
3 q2 S4 |/ y; z5 p n) HC.key参数接收一个函数,通过该函数获取用于排序时比较大小的数据
7 E4 T% W- `, @% y I, ]3 i2 f2 s5 y7 r/ qD.reverse参数默认值为False,表示将列表中的元素按降序排列
/ v+ Z2 @7 l: g6 D9 h7 U7 }* ^! Z/ I答案:BC
# ]: C! ]( w! m6 O8 W1 N
' }! { t& H; _三、答案来源:谋学网(www.mouxue.com) (共 20 道试题,共 40 分)5 E" q ]* w6 ^1 Q: f4 M
31.装饰器的作用是在不修改已有函数情况下向已有函数注入代码。# y/ t% Y! ]! P! W7 z/ h
答案:正确' i) D/ e0 A q( B$ ^/ v3 H
8 m8 Y* f. I u/ f
32.通过下标"[]"不仅可以访问列表中的某个元素,还可以对元素进行修改。
/ C" L3 M5 }4 @1 Q答案:正确7 j r7 U' p; d1 K6 l' g% ^
1 P4 c+ W& C2 x33.re.sub(r'','','tc P3 c, f3 @5 ^3 q* d" W) M
')的返回结果是字符串'tc'。
- m! o8 ]. ^" f5 _2 I2 ]9 k答案:正确& ~) C( u' S% _- K
& a6 ~! W; ]! |$ [, Y, @
34.如果一个属性只有用于设置属性值的setter方法,而没有用于获取属性值的getter方法,则该属性是一个只写属性。
1 G+ J* D: H; }7 Q; K/ w; S! q答案:错误
' h5 ^! ?* V( ^6 u4 e
0 j& K" `" v$ V% n M! [* y35.通过"ls.max()"可以得到列表ls中最大元素的值。
" P- v5 `3 [& J: \% T答案:错误
; _, z9 P/ f8 x; s$ N6 `$ x# A# k6 W* t$ t9 F4 x6 @( a* ~
36.使用strcmp函数可以进行字符串的比较。
5 V1 k4 i. K1 ?0 r9 g5 L1 k ~答案:错误" r8 A- v( @* w5 I( ^/ v. ~! g
$ V9 \2 a; u1 d8 d3 y! b8 _
37.类的普通方法的第一个参数自动对应调用该方法时所使用的类对象。
& L# p2 K# @% Q: W5 i9 n- o答案:正确
3 z! i- }4 m* I0 \2 P5 Z
( Z1 j2 Q; u \2 N6 l; d; T0 G) o& w# p38.使用字符串的format方法进行字符串格式化时,替换字段在字符串中需要用一对大括号括起来。/ j6 U7 N) ]# L1 E2 M3 N
答案:正确& d, Y( |( a+ J$ l
2 V4 d3 F- `% `4 n% R39.os.path.join('.','src','tools')与'.{0}src{0}tools'.format(os.sep)返回的字符串相同。2 U, q! P! w4 |; s
答案:正确
. t) ?) ^5 I+ l
Z0 M( [, q$ D, n, t2 W40.已知A类中定义了方法fa1和fa2,B类中定义了方法fb,A是B的子类,则B类中包含了3个方法。1 L; s1 y+ n4 c0 V
答案:错误
1 X2 b, K, D; A C9 l t, v% D f0 ?: n+ T% U$ h$ g" @
41.一个脚本文件中定义的全局变量只能在该脚本文件中使用。3 k8 t" h. d+ ?' b9 q# k: j
答案:错误* [( }& V# k/ F& Q) H0 r
7 X+ `. h5 I' l ` X- u2 G
42.为一个对象动态绑定的新属性,只能通过该对象访问。3 w: J2 W0 X( B7 o* l/ p% z
答案:正确! {4 K* M% X. O$ L
7 X$ p* |) k3 F4 M; R {# ]43.已知MyModule模块中有一个无参函数fun,且在脚本文件N.py中有"import MyModule as M",则在N.py中要调用MyModule模块中的fun函数应使用"M.fun()"。2 a2 Z0 f! X! m4 _% l, o2 V
答案:正确! @1 @5 T& Q1 j( B+ f# X& a D
2 k% s# Q, f6 {- O44.Python中的多态是借助鸭子类型实现的。1 _- s; ^. O3 w$ @4 Z* \- q" ^
答案:正确
5 d+ O6 x8 p% M+ E, `
+ Y. H! G+ S4 N* ?; I45.在for循环和while循环后面可以跟着else分支,当for循环已经遍历完列表中所有元素或while循环的条件为False退出循环时,必然会执行else后面的语句序列。3 X( @$ B! B5 F. K0 u9 V
答案:正确
7 H2 ?. Q6 g& D
; K6 V- g: ?2 \$ U3 C- b% x46.一个类属性只能通过类名访问。1 g) z) q1 e5 d. a+ r
答案:错误. ]6 u; J) h3 g
* K; n6 w2 r( {47.已知s1和s2是两个集合,则"s1.issubset(s2)"与"s2.issuperset(s1)"返回结果必然相同。
% j, ~6 M& l% d2 }& Y- `$ k答案:正确
" v# Y) } @6 W' @
; h1 L7 m6 ~% o48.使用下标"[]"可以访问集合中的元素。
0 U! k$ H# p/ Q7 K; [4 L3 I答案:错误8 }" _: y7 x1 Y% s5 }2 y1 t
/ p. k+ @9 ^6 H5 {) M
49.在一个函数中定义的变量在另一个函数中不能使用。8 t# W; a& d4 d
答案:正确
+ k( y5 w) I4 M1 _- N) G
4 {5 b$ V. T* W% v# y( ^0 N50.利用iter函数可以根据可迭代对象获取迭代器。4 [2 y' @" D( q: ~0 D
答案:正确
# |) P0 P3 i/ ?& n8 M. k6 K- e8 w2 ~, \. g) E' M
8 f* T i3 J) z4 Y9 Y
9 g O8 C4 l$ G6 u* C6 K1 {$ n
$ S4 b c& z- d+ {, F
6 k4 x$ A' ~4 d& f0 }. I8 m6 U9 q1 C0 _% t% r p$ G
7 z, m; W! Q; @9 k3 l4 ]
) a. M! e: e0 w! R7 v% a# r
, O. y- B; L, k) h. }6 m# T8 J
) T, w$ p3 P% L/ j t d8 r) G6 s& @: ~, H
& O$ A- Y; K n
|
|