Python程序设计 试卷(答案).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE

PAGE1

《Python程序设计》课程考试卷(A)答案

课程代码课程序号

20xx——20xx学年第一学期

姓名学号班级

题号

总分

得分

一、单选题(每小题2分,共计20分)

1.B,2.C,3.B,4.A,5.D,

6.C,7.A,8.D,9.D,10.B

二、判断题(每小题1分,共计10分)

1.F2.T3.F4.T5.T

6.F7.T8.F9.T10.F

得分

三、简答题(每小题5分,共计20分)

请解释变量作用域的概念。局部变量和全局变量的区别是什么?

答:(1)概念:作用域(scope)是程序中变量可被访问的区域。Python遵循LEGB规则:

Local(局部):函数或代码块内部定义的变量;

Enclosing(闭包):嵌套函数外层函数的变量;

Global(全局):模块顶层(文件最外层)定义的变量;

Built-in(内置):Python解释器内置的名称,如len、list等。(2分)

(2)局部变量vs.全局变量:

局部变量在函数体内定义,只能在函数运行期间访问;调用结束后被销毁,函数外不可见;

全局变量在模块最外层定义,可被模块内任意函数访问;在函数内部若要修改全局变量,需使用global声明;(2分)

(3)访问优先级:调用某个名称时,Python按LEGB顺序查找,找到第一个即停止。(1分)

在Python面向对象编程中,self参数的作用是什么?为什么在定义类的方法时必须包含self参数?此外,什么是cls参数,它与self有何不同?

答:(1)self:实例方法的第一个参数,指向调用该方法的实例本身,可通过self访问或修改该实例的属性和其他方法。Python不像某些语言隐式传入this,因此在定义实例方法时必须显式写出self。(3分)

(2)cls:类方法(使用@classmethod装饰器)第一个参数,指向当前类,而不是实例;可通过cls访问或修改类属性、创建新实例(cls(...))。与self不同,cls方法不依赖于实例即可调用,通常用于工厂方法或操作全局类状态。(2分)

如何在NumPy中实现数组的索引和切片?与Python内置的列表切片有何不同?举例说明。

答:(1)基本切片(slice):arr[start:stop:step],同Python列表,但NumPy切片返回的是视图(view),而非拷贝;多维数组可写成arr[行切片,列切片]。(1分)

(2)高级索引:

整数数组索引(fancyindexing):arr[[0,2,4],[1,3,0]];

布尔索引:mask=arr0;arr[mask]。(1分)

(3)与列表切片差异:

NumPy切片返回共享内存的视图,修改会反映到原数组;列表切片则总是生成新列表;

支持多维切片与布尔索引;列表仅支持一维、基于整数的切片。(1分)

(4)示例:

importnumpyasnp

a=np.arange(9).reshape(3,3)

sub=a[0:2,1:3]#array([[1,2],[4,5]])

sub[0,0]=99#会修改a[0,1]为99

mask=a%2==0

evens=a[mask]#选出所有偶数

(2分)

在Pandas中,什么是Series和DataFrame?请分别解释它们的结构和应用场景。

答:(1)Series:一维带标签(Index)的数组,底层是一组值加上对应的索引;适合表示时序数据、一列记录等。

importpandasaspd

s=pd.Series([10,20,30],index=[a,b,c])(2分)

(2)DataFrame:二维表格型数据结构,由多个Series组成,共享同一个行索引;每列可为不同数据类型,支持行列索引、对齐、分组聚合等操作。

df=pd.DataFrame({

name:[Alice,Bob],

age:[25,30]

},index=[s1,s2])(2分)

(3)应用场景:

Series常用于时间序列、单变量统计;

DataFrame适合Excel式的多字段表格数据处理,如数据

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档