ASP资料asp学习心得1. 内部函数引用了外部函数作用域的变量,那么内部函数叫作 闭包 。 2. 装饰器本质上是一个 函数 。 3. 装饰器函数需要接收一个参数,这个参数表示 被修饰的函数 。 4. 在函数定义的前面添加装饰器名和 @ 符号,实现对函数的包装。 5. 支持参数的装饰器函数需要再多一层 内嵌 函数。 6. map 函数会根据提供的函数对制定的序列做映射。 7. map的两个序列的元素个数不一致,那么元素少的序列会以 None 补齐。 8. filter 函数会对制定序列执行过滤操作。 9. filter传入的函数的返回值是 布尔 值。 10. reduce传入的是带有 两 个参数的函数,该函数不能为None。
1. 在循环体中使用 break 语句可以跳出循环体。 2. elif 语句是else语句和if语句的组合。 3. 在循环体中可以使用 continue 语句跳过本次循环后面的代码,重新开始下一次循环。 4. 如果希望循环是无限的,我们可以通过设置条件表达式永远为 True 来实现无限循环。 5. Python中的 pass 表示的是空语句。
7. 字符串的strip方法的作用是( A )。 A.删除字符串头尾指定的字符 B.删除字符串末尾的指定字符 C.删除字符串头部的指定字符 D.通过指定分隔符对字符串切片
7. 下列方法中,不可以使用类名访问的是( A )。 A.实例方法 B.类方法 C.静态方法 D.以上3项都不符合
1. Python中没有任何关键字区分公有属性和私有属性。( √ ) 2. 继承会在原有类的基础上产生新的类,这个新类就是父类。( × ) 3. 带有两个下划线的方法一定是私有方法。( √ ) 4. 子类能继承父类的一切属性和方法。( × ) 5. 子类通过重写继承的方法,覆盖掉跟父类同名的方法。( √ ) 6. 如果类属性和实例属性重名,对象有限访问类属性的值。( × ) 7. 使用类名获取到的值一定是类属性的值。( √ ) 8. 静态方法中一定不能访问实例属性的值。( √ )
6. 关于抛出异常的说法中,描述错误的是( C )。 A.当raise指定异常的类名时,会隐式地创建异常类的实例 B.显式地创建异常类实例,可以使用raise直接引发 C.不带参数的raise语句,只能引发刚刚发生过的异常 D.使用raise抛出异常时,无法指定描述信息
1. 在Python中,可以使用 class 关键字来声明一个类。 2. 面向对象需要把问题划分多个独立的 对象 ,然后调用其方法解决问题。 3. 类的方法中必须有一个 self 参数,位于参数列表的开头。 4. Python提供了名称为 __init__ 的构造方法,实现让类的对象完成初始化。 5. 如果想修改属性的默认值,可以在构造方法中使用 参数 设置。
阅读下面的程序,分析代码是否能够编译通过。如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。
执行上述语句后,输出的结果为( C )。 A.0 B.100 C.程序出现异常 D.程序编译失败
2. 下面关于函数的说法,错误的是( C )。 A.函数可以减少代码的重复,使得程序更加模块化 B.在不同的函数中可以使用相同名字的变量 C.调用函数时,传入参数的顺序和函数定义时的顺序必须相同 D.函数体中如果没有return语句,也会返回一个None值
3. 关于__name__的说法,下列描述错误的是( A )。 A.它是Python提供的一个方法 B.每个模块内部都有一个__name__属性 C.当它的值为’__main__‘时,表示模块自身在运行 D.当它的值不为’__main__时,表示模块被引用
1. 解释Python脚本程序的__name__的作用。 每个Python脚本在运行时都有一个“__name__”属性。如果脚本作为模块被导入,则其“__name__”属性的值被自动设置为模块 名;如果脚本独立运行,则其“__name__”属性值被自动设置为“__name__”属性。利用“__name__”属性即可控制Python程序 的运行方式。
阅读下面的程序,分析代码是否能够编译通过。如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。
1. 请简述文本文件和二进制文件的区别。 文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符“\n”结尾。二进制文件把对象内容以字节串进行存储,无法 用记事本或其他普通字处理软件直接进行编辑,无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取、显示、修改或执 行。
2. 请简述读取文件的几种方法和区别。 (1)、使用read(size)方法可以指定读取的字节数,或者读取整个文件; (2)、使用readlines方法可以把整个文件的内容进行一次性读取; (3)、使用readline方法一行一行读数据。
1. Python序列类型包括字符串、列表和元组三种, 字典 是Python中唯一的映射类型。 2. Python中的可变数据类型有 字典 和 列表 。 3. 在列表中查找元素时可以使用 not in 和in运算符。 4. 如果要从小到大的排列列表的元素,可以使用 sort 方法实现。 5. 元组使用 圆括号 存放元素,列表使用的是方括号。
1. 下列选项中,不属于Python语言特点的是( C )。 A.简单易学 B.开源 C.面对过程 D.可移植性
1. 打开文件对文件进行读写,操作完成后应该调用 close() 方法关闭文件,以释放资源。 2. seek方法用于移动指针到制定位置,该方法中 offset 参数表示要偏移的字节数。 3. 使用readlines方法把整个文件中的内容进行一次性读取,返回的是一个 列表 。 4. os模块中的mkdir方法用于创建 文件夹 。 5. 在读写文件的过程中, tell 方法可以获取当前的读写位置。
请简述元组、列表和字典的区别。 (1)、外形:列表是中括号括起来的数据;元组是圆括号括起来的数据;字典是花括号括起来的数据 (2)、存储结构:列表可以存储多个不同类型的数据,以逗号分隔;元组同样能存储多个不同类型的数据,以逗号分隔;字典能存储多个键 值对,以逗号分隔,键是唯一的,值是任何类型的。 (3)、访问方式:列表可以通过下标索引访问元素,索引从0开始;元组可以通过下标索引访问值,索引从0开始;字典通过键来访问值。 (4)、是否可变类型:列表是可变类型,元组是不可变类型,字典是可变类型。
1. 字符串是一种表示 文本 数据的类型。 2. 像双引号这样的特殊符号,需要对它进行 转义 输出。 3. Python3提供了 input 函数从标准输入(如键盘)读入一行文本。 4. 切片 指的是对操作的对象截取其中的一部分。 5. 切片选取的区间是左闭右 开 型的,不包含结束位的值。
7. 关于抛出异常的说法中,描述错误的是( D )。 A.当raise指定异常的类名时,会隐式地创建异常类的实例 B.显式地创建异常类实例,可以使用raise直接引发 C.不带参数的raise语句,只能引发刚刚发生过的异常 D.使用raise抛出异常时,无法指定描述信息
1. 默认情况下,系统检测到错误后会终止程序。( √ ) 2. 在使用异常时必须先导入exceptions模块。( × ) 3. 一个try语句只能对应一个except子句。( × ) 4. 如果except子句没有指明任何异常类型,则表示捕捉所有的异常。( √ ) 5. 无论程序是否捕捉到异常,一定会执行finally语句。( √ ) 6. 所有的except子句一定在else和finally的前面。( √ )
1. 关于列表的说法,描述有错误的是( D )。 A.list是一个有序集合,没有固定大小 B.list可以存放任意类型的元素 C.使用list时,其下标可以是负数 D.list是不可变的数据类型
1. 关于面向过程和面向对象,下列说法错误的是( B )。 A.面向过程和面向对象都是解决问题的一种思路 B.面向过程是基于面向对象的 C.面向过程强调的是解决问题的步骤 D.面向对象强调的是解决问题的对象
2. 关于类和对象的关系,下列描述正确的是( D )。 A.类和面向对象的核心 B.类是现实中事物的个体 C.对象是根据类创建的,并且一个类只能对应一个对象 D.对象描述的是现实的个体,它是类的实例
1. 关于装饰器,下列说法错误的是( B )。 A.装饰器是一个包裹函数 B.装饰器智能有一个参数 C.通过在函数定义的面前加上@符号阿和装饰器名,使得装饰器函数生效 D.如果装饰器带有参数,则必须在装饰函数的外层再嵌套一层函数
1. Python使用符号#表示单行注释。( √ ) 2. 标识符可以以数字开头。( × ) 3. type()方法可以查看变量的数据类型。( √ ) 4. Python中的代码块使用缩进来表示。( √ ) 5. Python中的多行语句可以使用反斜杠来实现。( × ) 6. Python中标识符不区分大小写。( × ) 7. Python中的标识符不能使用关键字。( √ ) 8. 使用help()命令可以进入帮助系统。( √ ) 9. Python中的成员运算符用于判断制定序列中是否包含某个值。( √ ) 10. 比较运算符用于比较两个数,其返回的结果智能是True或False。( √ )
1. 简述Python中pass语句的作用。 Python中的pass是空语句,它的出现是为了保持程序结构的完整性。 pass不做任何事情,一般用做占位语句。
1. 简述Python的特点。 ·简单易学 ·开源 ·高级语言 ·可移植性 ·解释性 ·面向对象 ·可扩展性 ·丰富的库 ·规范的代码
2. 简述Python的应用领域(至少3个)。 ·web应用开发 ·操作系统管理、服务器运维的自动化脚本 ·科学计算 ·桌面软件 ·服务器软件(网络软件) ·游戏 ·构思实现,产品早期原型和迭代
1. 要调用random模块的randint函数,书写形式为 random. randint 。 2. 每个Python文件都可以作为一个模块,模块的名字就是 文件 的名字。 3. 每个模块都有一个 __name__ 属性,使程序块智能在模块自身运行时执行。 4. 为了更好地组织模块,通常会把多个模块放在一个 包 中。 5. 当程序中需要引入外部模块时,需要从外面下载并 安装 。 6. 如果要搜索模块的路径,可以使用sys模块的 path 变量。
2. 下列选项中,不属于面向对象程序设计的三个特征的是( A )。 A.抽象 B.封装 C. 继承 D.多态
1. 打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为( C )。 A.‘r’ B.‘w’ C.‘a’ D.‘w’
2. 假设文件不存在,如果使用open方法打开文件会报错,那么该文件的打开方式是下列哪种模式?( A ) A.‘r’ B.‘w’ C.‘a’ D.‘w’
3. 请简述私有属性无法访问的原理。 当在一个类的内部定义了私有方法或者私有属性的时候,Python在运行的过程中,把属性或者方法的名字进行了修改,即在属性或者 方法名称的前面加上“_类名”,导致原有的方法无法访问到。
5. 请简述实例方法、类方法和静态方法的区别。 (1)、类方法需要使用@classmethod进行标识,该方法可以访问类属性,无法访问实例属性,可以通过类实例和类进行调用。 (2)、静态方法使用@staticmethod进行标识,该方法无法访问实例属性和类属性,起到类似于函数的作用,使用类或者类实例进行 调用。 (3)、实例方法直接在类中使用def进行定义,可以访问其实例属性和类属性,使用类实例进行调用。 (4)、如果要修改实例属性的值,就直接使用实例方法;如果要修改类属性的值,就直接使用类方法;如果是辅助功能,比如打印菜 单,这时可以考虑使用静态方法,可以在不创建对象的前提下使用个人ASP学习。
1. 函数可以有多个参数,参数之间使用 逗号 分隔。 2. 使用 return 语句可以返回函数值并退出函数。 3. 通过 return 结束函数,从而选择性地返回一个值给调用方。 4. 函数能处理比声明时更多的参数,它们是 不定长 参数。 5. 在函数里面调用另外一个函数,这就是函数 嵌套 调用。 6. 在函数的内部定义的变量称作 局部 变量。 7. 全局变量定义在函数外,可以在 整个程序 范围内访问。 8. 如果想在函数中修改全部变量,需要在变量的前面加上 global 关键字。
9. 下列关于 Python 中的复数,说法错误的是( C )。 A.表示复数的语法是 real image j B.实部和虚部都是浮点数 C.虚部必须后缀 j,且必须是小写 D.一个复数必须有表示虚部的实数和 j
2. 简述break和continue的区别。 break语句用于结束整个循环; continue的作用是用来结束本次循环,紧接着执行下一次的循环。
阅读下面的程序,分析代码是否可以编译通过。如果编译通过,请列出运行的结果,否则说明编译失败的原因。
1. 文件打开的默认方式是只读。( √ ) 2. 打开一个可读写的文件,如果文件存在会被覆盖。( √ ) 3. 使用write方法写入文件时,数据会追加到文件的末尾。( √ ) 4. 实际开发中,文件或者文件夹操作都要用到os模块。( √ ) 5. read方法只能一次性读取文件中的所有数据。( × )
3. 下列有关函数的说法中,正确的是( C )。 A.函数的定义必须在程序的开头 B.函数定义后,其中的程序就可以自动执行 C.函数定义后需要调用才会执行 D.函数体与关键字def必须左对齐
3. 请简述map、filter、reduce函数的作用。 (1)、map函数会根据提供的函数对指定的序列做映射。 (2)、filter函数会对指定序列执行过滤操作。 (3)、reduce函数会对参数序列中的元素进行累积。
阅读下面的程序,分析代码是否能够编译通过。如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。
5. 下列关于类属性和示例属性的说法,描述正确的是( B )。 A.类属性既可以显示定义,又能在方法中定义 B.公有类属性可以通过类和类的实例访问 C.通过类可以获取实例属性的值 D.类的实例只能获取实例属性的值
1. 请简述什么是异常。 在Python中,程序在执行的过程中产生的错误称为异常,比如列表索引越界、打开不存在的文件等。
3. 构造方法的作用是( C )。 A.一般成员方法 B.类的初始化 C.对象的初始化 D.对象的建立
1. 无论使用单引号或者双引号包含字符,使用print输出的结果都一样。( √ ) 2. 无论input接收任何的数据,都会以字符串的方式进行保存。( √ ) 3. Python中只有一个字母的字符串属于字符类型。( × ) 4. 使用下标可以访问字符串中的每个字符。( √ ) 5. Python中字符串的下表是从1开始的。( × ) 6. 切片选区的区间范围是从起始位开始的,到结束位结束。( × ) 7. 如果index方法没有在字符串中找到子串,则会返回-1。( × )
6. 下列选项中,不能使用下标运算的是( C )。 A.列表 B.元组 C.集合 D.字符串
1. 如果属性名的前面加上了两个 下划线 ,就表明它是私有属性。 2. 在现有类基础上构建新类,新的类称作子类,现有的类称作 父类 。 3. 父类的 私有 属性和方法是不能被子类继承的,更不能被子类访问。 4. Python语言既支持单继承,也支持 多 继承。 5. 子类想按照自己的方式实现方法,需要 重写 从父类继承的方法。 6. 子类通过 super() 可以成功地访问父类的成员。 7. 位于类内部、方法外部的方法是 类 方法。 8. 类方法是类拥有的方法,使用修饰器 @classmethod 来标识。
1. 请简述如何保护类的属性。 (1)、把属性定义为私有属性,即在属性名的前面加上两个下划线)、添加用于设置或者获取属性值的两个方法供外界调用。
2. 什么是继承? 类的继承是指在一个现有类的基础上构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类的属性 和方法。
1. 闭包是内部函数对外部作用域的变量进行引用。( × ) 2. 当外部函数执行结束,其内部闭包引用的变量一定会立即释放。( × ) 3. 装饰器是一个变量。( × ) 4. 装饰器函数至少要接收一个函数。( √ ) 5. 装饰器既能装饰带参数的函数,也能自己带参数。( √ ) 6. 如果map函数传入的两个序列个数不同,那么个数多的序列会把多余的元素删除。( × ) 7. map函数只能传递一个序列。( × ) 8. map传入函数的参数个数必须跟序列的个数一样。( √ ) 9. filter传入的函数可以为None。( √ ) 10. filter函数智能对序列执行过滤操作。( × ) 11. filter函数的返回值为字符串,它的序列类型一定是字符串。( √ )
1. Python解释器会优先查看默认的路径搜索模块的位置。( × ) 2. 每个Python文件就是一个模块。( √ ) 3. 当__name__属性的值为__main__时,代表该模块自身在运行。( √ ) 4. 包目录下必须有一个__init__py文件。( √ ) 5. 外部模块都提供了自动安装的文件,直接双击安装就行。( × )
二进制文件把对象内容以字节串进行存储无法用记事本或其他普通字处理软件直接进行编辑无法被人类直接阅读和理解需要使用专门的软件进行解码后读取显示修改或执行
4. 下列关于Python的说法中,错误的是( C )。 A.Python是从ABC发展起来的 B.Python是一门高级的计算机语言 C.Python是一门只面向对象的语言 D.Python是一种代表简单主义思想的语言
4. 请简述导入模块的方法。 在Python中用关键字import来引入某个模块: (1)、导入模块,使用“import 模块”引入; (2)、导入模块中的某个函数,使用“from 模块名 import 函数名”引入; (3)、导入模块的全部内容,使用“from 模块 import *”。
2. 请简述Python解释器搜索模块位置的顺序。 (1)、搜索当前目录,如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。 (2)、如果都找不到。Python会继续查看默认路径。
3. 请简述模块的概念。 在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数, 必须用import关键字引入math这个模块。
1. 列表的索引是从0开始的。( √ ) 2. 通过insert方法可以在制定位置插入元素。( √ ) 3. 使用下标能修改列表的元素。( √ ) 4. 列表的嵌套指的是一个列表的元素是另一个列表。( √ ) 5. 通过下标索引可以修改和访问元祖的元素。( × ) 6. 字典中的值只能够是字符串类型。( × ) 7. 在字典中,可以使用count方法计算键值对的个数。( × )
1. 请简述局部变量和全局变量的区别。 局部变量: (1)、函数内部定义的变量; (2)、作用域是函数的内部。 全局变量: (1)、函数外部定义的变量; (2)、作用域是整个程序。
2. 请简要说明函数定义的规则。 (1)、以def关键字开头,后面接函数标识符名称和圆括号; (2)、给函数起名字的时候,规则跟变量的名字是一样的; (3)、任何传入参数和自变量必须放在圆括号中间; (4)、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明; (5)、函数内容以冒号起始,并且缩进; (6)、return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
1. 请简述闭包满足的三个条件。 (1)、存在于嵌套关系的函数中; (2)、嵌套的内部函数引用了外部函数的变量; (3)、嵌套的外部函数会将内部函数名作为返回值返回。
2. 请简述装饰器的应用场景。 (1)、引入日志; (2)、函数执行时间统计; (3)、执行函数前预备处理; (4)、执行函数后清理功能; (5)、权限校验; (6)、缓存。
如果本文有什么写的不对的地方或有什么更好地建议和想法,欢迎在下方评论留言或私信我,大家一起进步学习!
1. 函数的名称可以随意命名。( × ) 2. 不带return的函数代表返回None。( √ ) 3. 默认情况下,参数值和参数名是跟函数声明定义的顺序匹配的。( √ ) 4. 函数定义完成后,系统会自动执行其内部的功能。( × ) 5. 函数体以冒号起始,并且是缩进格式的。( √ ) 6. 带有默认值的参数一定位于参数列表的末尾。( √ ) 7. 局部变量的作用域是整个程序,任何时候使用都有效。( × ) 8. 匿名函数就是没有名字的函数。( √ )
阅读下面的程序,分析代码是否能够编译通过。如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。
6. 请简述Python中以下划线开头的变量名的特点。 在Python中,以下划线开头的变量名有着特殊的含义,尤其是在类的定义中。用下划线作为变量前缀和后缀来表示类的特殊成员: (1)、_xx:这样的对象叫做保护变量,不能用from module import *导入,只有类对象和子类对象能够访问这些变量。 (2)、__xx__:系统定义的特殊成员名字。 (3)、__xx:类中的私有成员,只有类对象自己能访问,子类对象也不能访问到这个成员,但在对象外部可以通过“对象名.__类名__ xx”这样特殊的方式来访问。Python中没有纯粹的C意义上的私有成员。
1. 面向对象是基于面向过程的。( × ) 2. 通过类可以创建对象,有且只有一个对象实例。( × ) 3. 方法和杉树的格式是完全一样的。( × ) 4. 创建类的对象时,系统会自动调用构造方法进行初始化。( √ ) 5. 创建完对象后,其属性的初始值是固定的,外界无法进行修改。( × ) 6. 使用del语句删除对象,可以手动释放它所占用的资源。( √ )
1. 简述Python中标识符的命名规则。 ·标识符由字母、下划线和数字组成,且数字不能开头。 ·python中的标识符是区分大小写的。 ·python中的标识符不能使用关键字。
Python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行。
5. 简述IPython的特点。 ·IPython具有卓越的Python shell,其性能远远优于标准Python的shell。 ·IPython支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。 ·IPython提供了基于控制台命令环境的定制功能,可以十分轻松地将交互式Python shell包含在各种Python应用中,甚至可以当作 系统级shell来使用。
版权声明:本文为 “个人代码云儿美,个人php学习” 原创文章,转载请附上原文出处链接及本声明;
留言与评论(共有 条评论) |