|
23春学期(高起本:1709-2103、专升本/高起专:1903-2103)《Python编程基础》在线作业-00003
1 I! K& G0 s9 Z* b) v+ n# \试卷总分:100 得分:98
) H2 ^0 Z7 Z( X. ]$ J1 C一、单选题 (共 20 道试题,共 40 分)! c2 n: ~+ o) j2 A: ^
1.类中的普通方法至少有( )个参数。, n B2 f, {: _' a7 M4 b8 e
A.0
) U/ f1 n" D0 \ IB.1
6 K% e4 v) t1 OC.2
) ~; ]( y1 c7 }* B0 _! F$ a7 DD.3
( }9 }5 @; t# S答案:B* u0 `0 W9 }5 Y$ N
& t$ Y1 o( R! A
2.已知"ls=[1,3,2,5]",则执行"ls.sort()"后ls的值为( )。- a3 F, c$ ?1 B
A.[1,3,2,5]
x/ t1 O9 }' i5 W9 tB.[1,2,3,5]$ a& H6 O$ g. |/ h; J1 G5 H* d
C.[5,3,2,1]
' U" I# [' Q$ e$ U" w. x& C( kD.[5,2,3,1]7 |. n% a9 e. {1 {5 J
答案:B
) z3 l# ?8 [5 G1 | v- R1 I0 W; U. P# d8 f7 ~ E0 [
3.下面文件文件打开方式中,不能对打开的文件进行写操作的是( )。
9 k) b5 E- i4 T+ d- YA.w: u; ?7 N/ V: _) P( c& f0 ~
B.wt. ?3 i- j; X; R7 ]) N" M U
C.r9 A9 H3 I8 f- o% t! c4 l: u
D.a
/ U2 s. o- h; Y4 q答案:' m8 F' _) E" U2 T& P( T Z) ^2 [
' W% Y8 @5 y! h& T/ Q4.已知"a=[1,[2,3]]"且"b=a[:]",则执行"a[1]=10"后,b的值为( )。
$ ~4 Z& Z, l) Q! a9 X; O( w; vA.[1,10]" F; d" [6 G+ O' r6 U, Q# Q
B.[1,[2,3]]
: i! K/ K& `# V N0 y# pC.[1,[10,3]]5 l. R i) Z+ _9 x
D.报错# r) R/ H7 U _ {+ y0 q2 p2 j4 ?# T
答案:B
* W# v: D) L0 O \, e
2 K/ R5 S; `- O4 ?; T( }3 Y/ X5.已知"a=[1,2,3]"且"b=a[:]",则执行"a[1]=10"后,b的值为( )。% O0 K0 T& Y3 X6 A/ V) Y
A.[10,2,3]
# E5 [8 y2 F0 EB.[1,10,3]: z; V* m! d/ X/ e+ w, k
C.[1,2,10]- R& Z" X) K5 W* ?
D.[1,2,3]
, b8 }/ K8 d% g; l* D M7 ~9 ` Y答案:
& {4 R5 {4 E/ m7 e* Z3 L
% j) h% [" |0 G6.已知M模块中有一个无参函数fun,且在脚本文件N.py中有"from M import fun as f",则在N.py中调用M模块中fun函数的方式为( )。( \* w o' a% W7 J) S% H1 n* P- Q
A.fun(), b1 [! h; p# C/ T7 U. G4 G' ?
B.fun()3 ?+ P$ }3 `- R+ { a1 W4 c+ W$ l
C.f()8 P, D7 W2 P8 p* ?$ {% Z
D.f()/ U5 |# a( n4 ?# N& [
答案:3 Y F4 T( I; h8 V0 {8 z
/ |. U( \1 k/ U; ~- z; F) S" g7.对于if语句序列的两条语句,如果第一条语句前面有4个空格、第二条语句前面有1个制表符,则运行时会产生( )异常。
; y7 `7 w. @4 X6 Z5 h; M$ R0 ]: \A.IndentationError! Z+ A9 F9 @6 Q0 W+ i) s# k* t$ L
B.TabError! k) ?3 w! B4 K9 g! Q
C.IndexError+ r5 B8 f: m/ z, M& N- X* Q9 n" f6 g
D.SyntaxError
% Y" f0 M( |; \答案:B( F; r8 E. P" e' W$ i4 V: W2 b
8 B) N( r- _: K# X
8.已知Student类是一个空类,则通过"Student.name='unknown'"语句增加的属性可以通过( )访问。
0 _* _6 C+ Z& E, _A.类名或对象名3 {$ |+ J G) M" J$ S
B.仅类名0 ?( D1 C T0 h; o( I5 P
C.仅对象名3 j2 e7 z+ n: ^+ p
D.无法访问
4 X; l1 g9 X; {$ A$ v: X: o9 F答案:
/ r3 L, ^ D" O
3 f0 p. ~5 e' Z9.使用字典中的( )方法可以删除指定键的元素。6 D; @! e% [3 Y( o @2 I3 Q9 q
A.del
9 W* j8 h# U( A6 \B.delete. D) A2 d" Z$ V0 d
C.pop
a2 ]& f1 `, ?1 H5 x1 |: P) W: aD.remove
& Q: g# h% X+ \1 E! U6 X答案:
) X4 I7 e* m# X. ?7 V2 a
4 ?' o% k7 [8 c$ l/ a n* T10.os模块中用于删除指定路径的最后多层目录的函数是( )。* M9 K p/ u8 D# z
A.removedirs8 s m6 A: m& T4 S1 u! \
B.removedir
; k& t. Z- w6 TC.rmdirs
; g6 s( _; D9 ?4 X$ `/ Y4 VD.rmdir
0 t/ ]" x- _; n# ^% r答案:9 {0 h/ s, g N
7 o" S' M L( U$ Y
11.如果要去除字符串中头部的空格,可以使用字符串的( )方法。4 r1 w: X0 R/ }9 e$ U7 H
A.strip. z( w6 P& ^! h7 X4 u/ e8 U# u
B.lstrip8 d6 t6 T/ g' O% K' U
C.rstrip) k: J( q* N8 ^2 i
D.replace
b% H7 d7 f3 H0 ~( D' w答案:B
' b8 E- M7 \0 a l0 G" n" a$ Y
* ^2 ]0 J7 h3 t6 P* ?# }& s' I12.类中的( )对应一个类可以支持哪些操作。( l0 J- J3 w' W& e- f1 ~# [: b
A.属性8 x# i ~: a* q# a6 f9 k
B.方法: m6 Q3 [* a$ p) I9 p r- N4 h
C.数据4 C) r' J! o5 L6 u0 h6 g: `
D.对象8 X( {: n# b9 ` l$ p7 N
答案:B, d+ x& h1 `1 r. H4 v
1 T' ]- H0 T5 W$ {1 F13.下面程序的输出结果是( )。 score=80 if score<60: print('成绩为%d'%score, end=',') print('不及格')$ u$ f$ Y& E; r1 z* x. c
A.成绩为80,不及格" E+ E' e$ Z$ B/ k( m5 r
B.成绩为80
2 m* W0 u+ O. ?$ g/ \" pC.不及格7 s1 A8 y4 j" l% e# Y
D.无输出
8 m$ i% X/ h2 T1 y8 w) t P答案:
1 G6 a9 l' V" p0 _* h$ @; `8 X, b+ V5 U1 {6 h4 d: A( D
14.已知"a=list('my')+list('book')",则a的值是( )。! [0 n4 m" d0 [4 r; S3 v1 Z
A.['m','y','b','o','k']% y( L6 t5 y, b2 S0 p* L0 e+ b
B.['m','y','b','o','o','k']
2 Z" e! G( J7 AC.'mybook'
5 b6 A* t3 B; g' xD.'mybok'
2 n1 [# O% _% k答案:B8 P$ _4 V1 p# t/ m8 _
! ^5 t" @% C/ X& H9 K2 D/ }) E! e* E15.在Python编程环境提示符下直接输入Python代码并执行的运行方式称为( )。! z/ e3 Y ^0 }
A.交互式运行- Q( s4 i. v! ^
B.脚本式运行
9 D# [% I! m8 F. |# DC.代码式运行
- W8 K4 B: v5 |; A/ K" ^D.即时式运行
3 O7 T8 k; ~6 Y( B" e% K答案:6 e4 V0 J; M8 p/ b
2 d' ?" n$ t0 c; v7 r
16.内层函数使用外层函数中定义的变量,应使用( )关键字。3 C* ~5 N7 f8 w$ [; c* R, c3 l! J
A.local
8 c; `! b$ J- V5 g/ q r: UB.nonlocal
- ~ p" c7 Z% C' U6 {/ aC.global
: x/ D, s! j2 f: g9 sD.nonglobal/ c6 r& M j r8 i9 F+ B
答案:B
& D6 Z( X m' x5 C! G- t' {; W; ?
17.不定长的关键字参数在传递给函数时会被封装成( )。
) u+ q# F& r8 E+ V6 L+ lA.元组7 ?- m( z+ [% X' R
B.列表
/ F6 o5 v" [/ r( Y* k5 k5 rC.集合
3 R/ j& P$ g: V5 m2 ^2 wD.字典+ {& `0 e- q& B6 {! }2 f
答案:4 E4 J- J$ C8 r6 A8 w1 v
/ o& ~4 _ K$ t+ |
18.已知"str='a\rb\r\nc\n'",则"str.splitlines()"的返回结果是( )。# Z# a& z# I9 N0 W4 J! g' X3 K
A.['a','b','c']
% C" ?: }; N I& y: X' [B.['a\r','b\r\n','c\n']
. A( v- G1 u3 a7 J% u( `+ CC.['a\r','b\r','c']; \; f5 t3 X# W$ X' c. c
D.['a\r','b','c']
, ]$ T" A9 w2 B4 d答案:, d$ B6 h0 F7 B. t, d' T
* R- l- g6 r: o' ^3 [
19.下列选项中,描述正确的是( )。
+ N2 I- u7 h& n& G' T; GA.父类会继承子类中定义的所有属性和方法,也可以在父类中增加新的属性和方法
4 g4 e. k" q9 y2 O7 A4 Z0 HB.父类会继承子类中定义的所有属性和方法,在父类中不允许增加新的属性和方法: }) f( E* P. O3 g% Q: o
C.子类会继承父类中定义的所有属性和方法,也可以在子类中增加新的属性和方法
5 {, O) ^+ _9 H. LD.子类会继承父类中定义的所有属性和方法,在子类中不允许增加新的属性和方法6 x* q1 _. Y( j
答案:
, E8 i# Y% Z/ ~1 \( n& k0 k0 h; `/ M/ {( B8 i& z
20.计算列表ls中的元素个数应使用( )。" Z9 ]6 F4 q! t: V5 z* Q6 E
A.ls.count()
4 i. X4 J$ c5 s9 z' _+ ~B.count(ls)% ?3 R% D. B' d% t0 \3 }; k
C.ls.len()
1 L" x( i2 c! aD.len(ls): J& l6 D2 Z! j$ u; M, u9 f1 k
答案:
- E9 H3 R* Q) G8 k4 i# u- j- k
2 l0 T1 o6 K5 X* G4 {二、多选题 (共 10 道试题,共 20 分)
5 F: g$ p) T- {9 @0 p21.已知M模块中有两个函数f1和f2,则在脚本文件N.py中要导入M模块的f1和f2,正确的写法是( )。
) G2 k& p9 p0 S% \A.from M import f1,f2& d7 X+ d ~! e
B.from M import f1 and f29 o# z) Y# F" o
C.from M import *' P( W3 x C2 D, y
D.from M import f1 as f2
) D/ Q1 ]: X) z" d答案:
- x, J' {4 R5 t1 i& W' \1 u
, K, J8 U2 j2 @6 o22.下列选项中,描述正确的是( )。
2 F! U9 b; j4 w0 L* T }: fA.全局变量可以在所有函数中使用
3 B$ P) x4 N' TB.如果不使用global关键字则在一个函数中无法修改全局变量的值. s0 _! C0 C8 t; n, F2 V, v1 R* w
C.如果不使用global关键字则在一个函数中无法获取全局变量的值
. q/ `8 W0 h* c% |- `; n1 rD.全局变量只能在其所在的脚本文件中访问7 o2 ^6 I) x& N! H
答案:B; ]. C% b$ C$ @5 t! W* Z% N% j7 a! ?
" a* I9 _( L% ^* y: q- d$ _- @* {
23.下列选项中,可以用于判断x和y是否对应同样存储单元的语句是( )。
* }6 W1 {6 G/ O# L' U8 p) OA.x==y
2 |: q; u( \7 E4 X8 UB.x is y+ v- k& F( @0 d v( P
C.id(x)==id(y)7 ~9 p/ F; o7 u# L+ Y/ x& O: |
D.not x!=y
1 m1 M) Q8 Z# B: e( f+ K5 L答案:BC! c7 b% o* o5 h9 E4 G
0 I9 i* X5 \- j24.下列选项中,描述正确的是( )。
% o1 B+ P6 N6 ^' uA.所有迭代器都是可迭代对象
+ }6 C: v8 E" `B.所有可迭代对象都是迭代器
) P6 L' h, k* S* u, l: }* Z( l& I' ]C.通过"isinstance(x,Iterator)"可以判断x是否是迭代器
, d2 t/ o) I7 x! F+ RD.如果一个可迭代对象可以通过next函数不断获取下一个元素的值,则它是一个迭代器
9 Y: e9 d* p; H n( t% \ t答案 ! M$ Q- g: a7 u- ~! h1 | V
; u4 J' D& N; I0 U- W$ G25.下列选项中,有效的Python变量名包括( )。
) {( t7 t/ m; s3 X5 ^" RA.test
2 e0 m* n- s* s) o; E4 KB._abc9 s: f( g$ C7 f# v- L
C.1_a3 [4 w( N9 z1 F. f8 l- W4 h
D._t1, C- t- k0 l0 q8 _0 }
答案:BD
% M8 z9 I$ u+ q3 M
7 X. F0 ?/ [7 b26.下列选项中,描述正确的是( )。
1 e, V$ o) U+ `2 h. T& C4 r4 WA.一个装饰器可以为多个函数注入代码1 a! L5 h. ?: m; u
B.一个装饰器值可以为一个函数注入代码
/ ]: U! l2 Y/ J$ nC.一个函数可以注入多个装饰器的代码* [8 ] G9 `" t) f
D.一个函数值可以注入一个装饰器的代码! X" Y$ T+ t: L. J" M6 k
答案:( l8 \8 l( C/ j7 |; {2 w
: m* B( a$ a6 X r# G$ A' [27.下列选项中,返回结果为True的表达式为( )。
% g& ` X# C6 K0 o* k5 LA.15 in {'name':'Zhangsan','age':15}
9 {$ h6 k9 l% t" X; AB.'age' in {'name':'Zhangsan','age':15}
; @) L7 r" T' zC.'Zhangsan' in {'name':'Zhangsan','age':15}# K! u" R/ k8 y& z; ^
D.'name' in {'name':'Zhangsan','age':15}5 {7 |) T8 M& X+ t, s. r
答案:BD
/ q% P& @& M9 p; ~1 k% K& T
# D6 E( |) `$ o0 R/ s28.下列关于闭包的描述中,正确的是( )。0 M; { B5 H! g; |4 N M( O3 v
A.外层函数的某个局部变量如果在内层函数中使用,则外层函数执行结束时该局部变量并不会被释放0 `) I" C6 o$ C* ]6 G) ]7 ~* F
B.外层函数的返回值是内层函数的名字- M& d# b% w- F( ~
C.闭包会将内层函数的代码和自由变量打包在一起5 Z# g" h& @' D6 L( D
D.一个函数通过多次调用可形成多个闭包,且每个闭包可以有不同的上下文环境' y, x' U; l2 |: t# U& Q$ ~; d
答案:BCD4 E5 f: x8 y5 k+ x
$ |7 q- ?0 }: X. O29.下列选项中,描述正确的是( )。4 I" O' M3 p# h8 @# |
A.一个函数中定义的变量可以在另一个函数中使用
" @0 T# t) i, o' K( d" J% GB.所有函数外定义的变量可以在任何一个函数中使用
% }" V( A7 @7 G! aC.在一个函数中只能获取全局变量的值、但不能修改全局变量的值
' d" P9 w. g; i( _5 ND.一个函数中既能获取全局变量的值、也能修改全局变量的值0 a z# l: j* V& H4 a5 M
答案:BD I$ P' d9 [. o" s/ W" K0 u
2 _% Y# h. O( j, L: ^4 [; C
30.下列选项中,关于列表的sort方法描述正确的是( )。
( i1 C8 k! P* m" u0 i1 \A.如果列表中的各元素可直接比较大小,则可以不指定key参数
2 V; e! R5 E1 ]B.reverse参数决定了将列表中的元素按升序还是降序排列
0 F @) n! t+ V. H4 J& IC.key参数接收一个函数,通过该函数获取用于排序时比较大小的数据! G% w" t# o6 T. x
D.reverse参数默认值为False,表示将列表中的元素按降序排列
8 }% _& j7 r% I' K答案:BC
- w3 q8 k( I5 Z4 S" U/ t* v6 J% k$ s: K8 P/ k1 b( E O
三、答案来源:谋学网(www.mouxue.com) (共 20 道试题,共 40 分)* F7 ]4 Q; M% G
31.装饰器的作用是在不修改已有函数情况下向已有函数注入代码。
# S& e( x! y# _1 Z, Y% T, W答案:正确
3 b {; Y/ T. q C7 c! W& L; Y5 {$ B3 _5 z
32.通过下标"[]"不仅可以访问列表中的某个元素,还可以对元素进行修改。
9 Q u$ {% e( ] M/ }! Z0 J答案:正确2 O0 ]% \, e' `) ?; Z/ a) L% _% X1 l
+ G4 b. G9 K* K: G$ u* ~
33.re.sub(r'','','tc
* D- J1 l) Q# y% c. }0 [+ \+ e')的返回结果是字符串'tc'。. y: ~2 ?* b8 p# ^1 W
答案:正确
2 k) W2 v% O9 ], C& p& p1 @2 F
' \6 A9 n- d% K! w34.如果一个属性只有用于设置属性值的setter方法,而没有用于获取属性值的getter方法,则该属性是一个只写属性。/ k% c- \+ k* d
答案:错误
) M1 m0 s J; w$ B% [ H) `5 J4 R9 B# @0 d
35.通过"ls.max()"可以得到列表ls中最大元素的值。0 a( x" S1 l+ k/ G& }6 n
答案:错误
% Y/ n" C- m+ o- t1 k2 U
- U# e% d5 \7 C8 p8 q36.使用strcmp函数可以进行字符串的比较。7 R* n3 h4 _' x6 [
答案:错误
8 g$ n P% J) ~, U; m& k# _. P, H0 p5 N/ C+ [( F
37.类的普通方法的第一个参数自动对应调用该方法时所使用的类对象。- w4 Z; E1 h, ?/ l! @
答案:正确# X0 R1 o, f' Z$ w: {
% w5 I. R: l4 n- L) v4 b I38.使用字符串的format方法进行字符串格式化时,替换字段在字符串中需要用一对大括号括起来。
5 n3 c" t4 Z0 t5 W0 m. I: E答案:正确% {& ~0 q# _) j# Z
. H4 W5 F! W( V: [0 E39.os.path.join('.','src','tools')与'.{0}src{0}tools'.format(os.sep)返回的字符串相同。
5 k, K7 }) i- c7 ~1 D0 Y答案:正确
" t/ Q5 }) H+ S6 J4 }- A
: ?" I' k/ q1 J( g7 E40.已知A类中定义了方法fa1和fa2,B类中定义了方法fb,A是B的子类,则B类中包含了3个方法。1 G$ q3 a% C9 r; w
答案:错误
0 u% t4 E; V9 v P4 A
5 A5 M, M6 ], J8 W r, p41.一个脚本文件中定义的全局变量只能在该脚本文件中使用。
/ ~& u# [% l5 p7 S答案:错误$ C; z8 Z; T$ E. J
% x8 A4 a# ^# j9 a4 w42.为一个对象动态绑定的新属性,只能通过该对象访问。: f: M E+ r/ Y8 v1 W
答案:正确. A' v) i3 n; M% E0 ?* H
( Z- A( C# ] T3 S& X/ o7 C% W
43.已知MyModule模块中有一个无参函数fun,且在脚本文件N.py中有"import MyModule as M",则在N.py中要调用MyModule模块中的fun函数应使用"M.fun()"。
1 t( e, @& k8 `! P答案:正确% t; A, y5 S$ @
: ]4 R! J, } b) L8 ]2 k6 ^: z
44.Python中的多态是借助鸭子类型实现的。& h" u& K. I4 R
答案:正确4 _) s$ ]8 h( k. s7 O: g( E; [" y
" @" ^! a+ x$ Y; v+ t0 E, y! e45.在for循环和while循环后面可以跟着else分支,当for循环已经遍历完列表中所有元素或while循环的条件为False退出循环时,必然会执行else后面的语句序列。) K, V8 V4 N" K& T! M3 e
答案:正确
6 l3 I" d$ N1 M$ h" N) ]7 N/ R9 _1 Z
46.一个类属性只能通过类名访问。
0 Z0 \% P. y$ F$ N- s0 a( a! R答案:错误2 l5 q: }6 z5 J! G( A3 z
% }0 J. A' h8 [& Z2 ] S* K47.已知s1和s2是两个集合,则"s1.issubset(s2)"与"s2.issuperset(s1)"返回结果必然相同。
, j; G2 n/ k+ p3 @$ w3 ]答案:正确5 o: P# l& w! ]% N/ u
j6 J' o- T; W9 h- s$ {9 m
48.使用下标"[]"可以访问集合中的元素。
" F2 d4 n+ E& L! G; B* x答案:错误
" i: `6 W+ ] e; O* [) j/ c4 I+ m, h: Q! i& e. m! w; p p% M
49.在一个函数中定义的变量在另一个函数中不能使用。
6 y: D0 N; k( J/ p( u( U+ R答案:正确
8 I$ A0 u2 L* X) C" S% ]( v4 _- ]$ a! |( P1 p
50.利用iter函数可以根据可迭代对象获取迭代器。
4 A* @' I& p: Y! U0 b答案:正确6 S, _/ g- l' r: T( Y
0 r1 T" d: ]7 u) U. D; C( o+ `; m. \8 o8 D" t5 ~- x
: }5 _4 r2 d- c
* J* A' k. y8 P2 E' m
9 s4 T1 T% I+ `; r, E" l
8 D+ D2 I; L( Z" [+ Z# `+ o8 r- A
( v' Y4 g, O& O$ M/ }; G5 K7 Y& X) R) \- H0 _
6 e8 L' A/ Z$ t" y; N. K
) }( Y$ x4 x8 _. n
6 w, Z i) U4 S- s. C6 J) c
0 O* `: j' [. x, a4 } |
|