编码规范自学检测
第一关:
题目:
下面变量名正确的是:
A、user_name B、123name C、user name D、for
解析:
变量命名规则如下:
1变量名必须以字母(A-Z或a-z)或下划线(_)开始。
2变量名不能以数字开始。
3变量名不能包含空格。
4变量名不能是编程语言的保留关键字。
B以数字开始所以错,C包含空格所以错,D是 保留关键字
答案:选A
第二关:
题目:
在 Python 中,哪种变量命名方式是符合 PEP 8 标准的?
A、myvariable
B、MyVariable
C、myVariable
D、my_variable
解析:
pep规则如下:
保护的实例属性以单个下划线开头(_protected_attribute)。
私有实例属性以双下划线开头(__private_attribute)。
受保护的方法和属性应该以单个下划线开头(_protectedMethod)。
私有方法和属性应该以双下划线开头(__privateMethod)。
常量应该全大写,单词间用下划线分隔(MY_CONSTANT)。
类名应该使用首字母大写的驼峰式命名(CamelCase)。
AC无下划线错,B是驼峰规则 常用于类名。
答案:选D
第三关:
题目:
根据 PEP 8,Python 函数的命名应该如何?
A、使用大驼峰命名法,如 MyFunction B、使用全大写字母和下划线分隔,如 MY_FUNCTION
C、使用小写字母和下划线分隔,如 my_function D、使用小写字母和破折号分隔,如 my-function
解析:
解析如上题;答案:C
第四关:
题目:
在 Python 中,类的命名应该遵循哪种约定?
A、小驼峰命名法,如 myClass
B、大驼峰(帕斯卡)命名法,如 MyClass
C、全小写字母和下划线分隔,如 my_class
D、全大写字母和下划线分隔,如 MY_CLASS
解析:
第二关有解析;驼峰命名 类名,pep命名 变量。
答案:B
第五关:
题目:
对于常量(在 Python 中通常表示不应更改的值),建议的命名方式是什么?
A、小驼峰命名法,如 myConstant
B、大驼峰命名法,如 MyConstant
C、全小写字母和下划线分隔,如 my_constant
D、全大写字母和下划线分隔,如 MY_CONSTANT
解析:
在python里,常量全部用大写;答案:D
第六关:
题目:
在 Python 中,哪种命名方式是专门用于避免与 Python 关键字冲突的?
A、在变量名前加一个下划线,如 _class
B、在变量名后加一个下划线,如 class_
C、使用大写字母,如 CLASS
D、使用缩写或同义词
解析:
A错,在变量前加下划线 是表示 私有变量;C错,全大写是用来表示常量;D错,缩写或同义词不是用来避免关键字冲突
答案:B
注释自学检测
第一关:
题目:
在 Python 中,单行注释是如何标记的?
A、// 这是一个单行注释
B、<!-- 这是一个单行注释 -->
C、# 这是一个单行注释
D、/* 这是一个单行注释 */
解析:
不必多说,记住是#就行了;答案:B
第二关:
题目:
如何在 Python 中编写多行注释?
A、使用一对 /# 和 #/ 符号包裹注释
B、使用一对 /* 和 */ 符号包裹注释
C、使用一对 """ 或''' 符号包裹注释
D、Python 不支持多行注释
解析:
记住就行了;答案:C
第三关:
题目:
下面哪种情况下使用注释是不恰当的?
A、解释复杂的算法逻辑
B、说明某段代码为什么被注释掉了
C、重复代码本身所表达的信息
D、提供函数参数和返回值的类型信息
解析:
A.D无需多言,B可能是为了调试或为未来做参考;C重复的注释没有意义;答案:C
第四关:
题目:
如何在代码行的末尾添加注释?
A、在行末使用 // 后跟注释文本
B、在行末使用 # 后跟注释文本
C、在行末使用 /* 和 */ 包裹注释文本
D、在行末使用 """ 包裹注释文本
解析:
略;答案:B
第五关:
题目:
在以下代码中,哪个是正确使用注释的示例?
A、
# 定义一个变量
x = 10 # 这是 x 的初始值
B、
x = 10 # 定义 x
# x 的初始值是 10
C、
# x = 10
定义一个名为 x 的变量,并将其初始化为 10
D、
"""定义一个变量 x """
x = 10
解析:
这道题难点在于AB两个选项。
C错,注释应紧跟在其代码行之后,而不是单独开一行注释;D错三引号是字符串;
A对,应该在变量定义之前用注释来描述变量;B错,应该两行注释都在代码行之后
答案:A
对象与变量自学检测
第一关:
题目:
在 Python 中,一切都是_______。
A、函数
B、变量
C、对象
D、指令
解析:
python是一种面向对象的编程语言;答案:C
第二关:
题目:
当我们在 Python 中创建一个变量时,实际上发生了什么?
A、变量存储了实际的数据值
B、变量指向一个存储数据值的对象
C、一个新的数据类型被创建
D、数据被复制到变量名中
解析:
不同于C语言,py是指向,而不是重新开辟一个地方给其存储;答案:B;
第三关:
题目:
下列哪个说法正确描述了 Python 中的变量和对象之间的关系?
A、变量是对象的别名
B、对象是存储在变量中的数据
C、变量和对象是完全相同的
D、变量是指向对象的引用
解析:
变量是对象的引用;答案:D
第四关:
题目:
在 Python 中,两个变量可以指向同一个对象。这个现象叫做_______。
A、多态
B、封装
C、继承
D、别名
解析:
别名意味着两个或多个变量名都引用同一个内存地址,即同一个对象;答案:D
第五关:
题目:
使用 id() 函数可以获得什么信息?
A、对象的类型
B、 对象的值
C、对象的唯一标识符(对象的内存地址)
D、变量的名称
解析:
py中id()返回的是对象的“身份”,也就是 其对象内存地址的整数;答案:C
第六关:
题目:
如果 a = 10 和 b = 10,在 Python 中 a 和 b_______。
A、一定指向不同的对象
B、一定指向同一个对象
C、可能指向同一个对象,这取决于 Python 的实现和优化
D、无法确定,因为它取决于操作系统
解析:
解析第四关;答案:C
第七关:
题目:
当我们对一个变量重新赋值时,_______。
A、原来的对象会自动被删除
B、变量会指向一个新的对象,而原来的对象可能会被垃圾回收
C、变量和原来的对象之间的链接会变得更强
D、重新赋值的操作会失败,因为变量已经有了一个对象
解析:
答案:B
第八关:
题目:
下面变量名正确的是:
A、user_name
B、123name
C、user name
D、for
解析:
答案:A