小工具知识网

当前位置: 首页 > 行业知识 > Python123选择题练习+解析(1~150)

行业知识

Python123选择题练习+解析(1~150)

2026-11-05 16:17:43 来源:互联网转载

 答案解析:递归函数是指函数内部包含对本函数的再次调用。

答案解析:每个递归函数至少存在一个基例

 

 答案解析:函数的作用是复用代码、增强代码可读性、降低编程复杂度,而并不能提高代码的执行速度。

 答案解析:python里有可变对象和不可变对象之分。只有传入的是不可变对象时,值才不发生改变,若是可变对象,值的传入需要注意。不可变对象:Number ,String ,Tuple,bool。可变对象: List , Set , Dictionary是可以改变内部的元素 。

 答案解析:函数可以不使用return语句或多条return语句,因此A,B不正确;Python函数定义中没有对参数指定类型,函数中应根据实参的类型使用,C不正确。

 答案解析:执行该函数后,变量c的值为210

 答案解析:全局变量可以和局部变量重名,全局变量指的是在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明。局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。

答案解析:面向对象编程能实现的功能均可以采用面向过程同样能完成

 答案解析:递归程序的执行效率比较低

 答案解析:lambda表达式相当于:

def fun(x,y):   return x+yprint(fun(10,10))

 答案解析:函数定义中参数列表里面的参数是形参,参数列表中给出要传入函数内部的参数,这类参数称为实参;程序在调用时,将实参复制给函数的形参

答案解析:lambda是Python的保留字

Python保留字列表
序号保留字含义
1and用于表达式运算,逻辑与操作
2as用于类型转换
3assert断言,用于判断变量或条件表达式的值是否为真
4break中断循环语句的执行
5class用于定义类
6continue继续执行下一次循环
7def用于定义函数或方法
8del删除变量或序列的值
9elif条件语句,与if,else结合使用
10else条件语句,与if,elif结合使用,也可用于异常和循环语句
11exceptexcept包含捕获异常后的操作代码块,与try,finally结合使用
12NoneNone是python中特殊的数据类型’NoneType’, None与其他非None数据相比,永远返回False
13forfor循环语句
14finally用于异常语句,出现异常后,始终要执行finally,包含的代码块,与try,except结合使用
15from用于导入模块,与import结合使用
16global定义全局变量
17if条件语句,与else,elif结合使用
18import用于导入模块,与from结合使用
19in判断变量是否在序列中
20is判断变量是否为某个类的实例
21lambda定义匿名变量
22not用于表达式运算,逻辑非操作
23or用于表达式运算,逻辑或操作
24pass空的类,方法,函数的占位符
25Truepython中的布尔类型,与False相对。
26raise异常抛出操作
27return用于从函数返回计算结果
28trytry包含可能会出现异常的语句,与except,finally结合使用
29whilewhile的循环语句
30with简化python的语句
31yield用于从函数依此返回值
32nonlocalnonlocal是在Python3.2之后引入的一个关键字,它是用在封装函数中的,且一般使用于嵌套函数的场景中
33Falsepython中的布尔类型,与True相对。

答案解析:def vfunc(* a, b):中的*(可选参数)应该放在后面,因此D错误

def 函数名(q,w=10,*e,r=None):

固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

参考博客:【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)_def 参数默认_发现你走远了的博客-CSDN博客

 答案解析:可选参数不可以定义在非可选参数的前面

 答案解析:函数return的个数没有限制,可以没有return语句

 答案解析:Python使用def保留字定义一个函数,del:删除变量或序列的值。

 答案解析:局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。

 答案解析:A选项中,f的类型依参数来确定

 答案解析:这是典型的递归函数,在return语句中调用函数本身。功能为输出N的阶乘值

 答案解析:代码中n不是可选参数,可选参数有*或**

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

答案解析:参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

  • 位置参数不是一个出现在函数定义时的概念,而是一个出现在函数调用时的概念。

    调用函数时传入的实际参数数量和位置都必须和定义函数时保持一致。

    实参和形参数量必须一致,参数多或者少都会报错TypeError。

    实参和形参位置必须一致,否则会产生不同的结果。

    • 关键字参数不是一个出现在函数定义时的概念,而是一个出现在函数调用时的概念。

      关键字参数是指使用键值对的形式key=values来确定输入的参数值。

      关键字参数允许你以任何顺序传递参数,不再需要与形参的位置完全一致,只要将参数名写正确即可。

      混合传参时关键字参数必须位于位置参数之后。

      使用关键字参数,可以让参数传递更加明确,让调用方清楚的知道每个参数的传值情况。

       答案解析:python中^表示按位异或,在本题中a ^= 3也就是将a转换为二进制 并与3异或,4的二进制为100,3的二进制为011,因此异或后的结果为111,也就是数字7,b = a^2也就是111与2进行异或,2的二进制为010,因此111与010异或的结果为101,也就是数字5,所以结果为7,5。

      4(0000 0100);3(0000 0011);2(0000 0010);a=4 -> 7(0000 0111);b=5(0000 0101)

        答案解析:定义一个有三个参数x,y,z的函数f,参数x是必须要赋值,比如f(1),f(x=1),都是给x赋值1,y,z也是需要赋值,但不是必须的,因为默认值已经在函数里设置好了,y=0,z=0,默认值是0,f(1)不是只有一个参数,而是省略了y,z参数,默认值是0。f(1,,3),没有第二项参数,语法错误,即便是空值也要用‘’代替

      答案解析:f(1,x=1,z=3),关键字与位置传参组合使用,函数f里参数1已经赋值给x,x=1则对y未赋值,位置参数错误

      答案解析:A选项f(1, y = 2, t = 3)中,并无t参数;B选项,第一个使用关键字参数后面的也需要使用关键字参数;C选项,位置参数错误。关键字传参,用形参的名字来传入实参的方式,传参顺序就可和定义顺序不同

       答案解析:不能使用f.g()这种方式调用g()函数,函数内部定义的函数,在外部不可以调用

       答案解析:当实参是按参数名称传递参数,可以不按照位置顺序存放。因此area(pi = 3.14, r = 4)可能正确执行。

       答案解析:按位置参数传递,结果为39.4384

       答案解析:在函数中,如greeting(‘Hello’, names, ** info),可以传递任意数量实参和任意数量的关键字实参,但是前提是传递*的实参是元组的形式,传递**的实参是字典形式。本题对应形参args1为’Hello’;tupleArgs为(‘HTY’, ‘LFF’, ‘ZH’);dictArgs为{‘schoolName’:‘NJRU’, ‘City’:‘Nanjing’}

        答案解析:同29题

        答案解析:位置参数顺序错误  

        答案解析: 变量不需要声明但需要初始化

         答案解析:return数量没有限制,可以没有

       答案解析:函数形参顺序错误,默认参数x=2.0应该在固定参数y后

      def 函数名(q,w=10,*e,r=None):

      固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

      答案解析:形参和实参的区别,print(ls1)的ls1为实参,函数内的ls1为形参。

      这里给出列表类型独有的14个函数和方法:

      ❶ ls[i]=x————>:替换列表ls第i个元素为x

      ❷ ls[i:j]=lt————>:用列表lt替换列表ls中的i到j号元素,不包括第j号元素(下同)

      ❸ ls[i:j:k]————>:用列表lt替换列表ls中的i到j号以k为步长的元素

      ❹ del ls[i:j]————>:删除列表第i到j号元素,等价于ls[i:j]=[]

      ❺ del ls[i:j:k]————>:删除列表ls中的i到j号以k为步长的元素

      ❻ ls+=lt或ls.extend(lt)————>:将列表lt中的元素增加到列表ls中

      ❼ ls*=n————>:更新列表ls,ls中的元素重复n次

      ❽ ls.append(x)————>:在列表ls最后增加一个元素x

      ❾ ls.clear()————>:删除ls中所有元素

      ❿ ls.copy()————>:生成一个新列表,复制ls中所有元素

      ⓫ ls.insert(i,x)————>:在列表ls的第i位置增加元素x

      ⓬ ls.pop(i)————>:将列表中的第i个元素取出并删除该元素

      ⓭ ls.remove(x)————>:将列表中出现的第一个元素x删除

      ⓮ ls.reverse()————>:将列表ls中的元素反转

       答案解析:程序在调用时,将实参复制给函数的形参

        答案解析:函数定义后,需要被调用才能运行

        答案解析:关键字与位置传参组合使用,位置传参按位置,关键字传参按关键字

       答案解析:A:列表为可变对象,函数内改变,函数外的值也会变;B:可以定义默认参数,但默认参数位置必须在固定参数后;C:数值为不可变对象,函数内只改变形参的值,不改变函数外实参的值;D:args表示任意数量的位置参数,它可以在函数定义中使用 * 作为前缀来表示,调用函数时,这些参数会被封装成一个元组,并传递给函数。kwargs表示任意数量的关键字参数,它可以在函数定义中使用 ** 作为前缀来表示,调用函数时,这些参数会被封装成一个字典,并传递给函数。

      不可变对象:Number ,String ,Tuple,bool。

      可变对象: List , Set , Dictionary。

      函数定参顺序:def 函数名(q,w=10,*e,r=None):

      固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

       答案解析:1传入固定参数a,b默认参数为3,s.append(4),即[1,2,4]

       答案解析:自顶向下设计思想:将一个大的任务分解成很多小的、容易理解的子任务。如果可能的话将每一个子任务进一步的细化。一旦程序被分解成子任务,每个子任务都可以单独编译和测试。直到每个子任务都被测试并能正常工作,再将子任务合并为一个完整任务。A:分别解决错误,最终需要合并整体解决问题

       答案解析:同题35,形参和实参的区别,print(b)的b为实参,函数内的b为形参。

        答案解析:列表为可变对象,change()函数打印一次改变后的mylist,print()再次打印改变后的mylist

      答案解析:fn2返回后未被调用,无输出

      答案解析:D:一个try语句可能包含多个except子句,分别来处理不同的特定的异常。A:最多只有一个分支会被执行。B:如果没有发生异常,忽略except子句,继续执行try语句后面的语句。C:pass为空语句,定义空函数体。

      如果在执行try(检测范围内)子句的过程中发生了异常,那么发生异常后的余下的字句将会被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。无论上述哪种情况,try以后的语句都会被执行。

      一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。

      else语句的存在必须以except语句的存在为前提,在没有except语句的try语句中使用else语句,会引发语法错误。

      答案解析:第一次交换,x,y=exchange(x,y)后,x=20,y=10;第两次交换,print(exchange(x,y))后,x=10,y=20。

      答案解析:math.hypot() 方法返回欧几里得范数。

      import math#math.hypot() 方法语法如下:math.hypot(x1, x2, x3, ..., xn)#x1, x2, x3, ..., xn -- 必需,表示多个坐标点。#返回值:一个浮点值,表示 n 个输入到原点的欧几里得距离,或两个输入的直角三角形的斜边

      答案解析:默认参数在非默认参数之后;可选参数必须在参数列表的最后一个;有默认值的可选参数,利用none来判断,是否有通过外部参数赋值,如果是none说明需要使用默认参数值。函数定义必须保留括号。

      答案解析:C:m=1中的m为默认参数,不可以接收多个参数

       答案解析:同题23,f(1,,3),没有第二项参数,语法错误,即便是空值也要用‘’代替

       答案解析:abs() 函数返回数字的绝对值。把函数名赋给一个变量,相当于给这个函数起了一个别名。

      abs( x )#参数:x -- 数值表达式。#返回值:函数返回x(数字)的绝对值。

       答案解析:break:中断循环语句的执行;continue:继续执行下一次循环;pass:空的类,方法,函数的占位符。exit:函数exit(num),num是程序退出类型,整型参数,可省略的参数。通常情况下0表示程序正常退出,1表示程序遇到了某个错误而导致退出。实际运用中可以使用任何整型数据,表示不同的自定义错误类型。

      答案解析:str()将fun()类型转换为字符输出

      答案解析: A:关键字传参和位置传参;B:改变函数内的形参,不会改变函数外的实参;C:默除了位置传参还可以通过关键字传参;D:列表为可变对象,函数内改变,函数外也改变。

      答案解析:*lx,前缀一个星号表示传入元组, a为元组数据的累加。

      答案解析:不需要返回值也可以使用return ,只是后面为空

       答案解析:前俩个add_Run()被调用但是都没有进行打印输出,最后的print(add_Run())先判断L!=None,于是append('Run'),即['Lying','Run']

      答案解析:通过关键字传参,顺序可以和参数列表不一致

        答案解析:默认参数需要进行关键字传参,则需要参数名称

      答案解析: 函数可以不使用return语句或多条return语句,return能返回多个值

      答案解析: 固定参数通过位置传参不能空缺

      答案解析: 分支结构只能往下执行,不能向已经执行过的语句跳转

      答案解析:continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。即continue 语句跳出本次循环,而break跳出整个循环。

      答案解析:continue 语句跳出本次循环,而break跳出整个循环。即break才是结束整个循环过程

       答案解析:for遍历"HelloWorld",当s=="W"时,执行continue,则跳出本次循环,不打印W

      答案解析:for遍历"HelloWorld",当s=="W"时,执行break,则跳出整个循环,终止循环

      答案解析: 对于Python错误的概述:它指的是代码运行前的语法或逻辑错误。拿常规语法错误来说,当我们编写的代码过不了语法检测时,则会直接出现语法错误,必须在程序执行前改正,不然写的代码将毫无意义,代码无法运行,也无法捕获。相比于错误,Python异常主要在程序执行过程中,程序遇见逻辑或算法问题,这时解释器如果可以处理,则没问题,如果处理不了,便直接终止程序,便将异常抛出。

      答案解析:while循环和for循环之间可以互相转换

       答案解析:while循环不用提前确定循环次数

       答案解析:end=" "表示每次打印的末尾加一个空格

      答案解析:import random 表示导入random库,后续的randint()方法需要库支持,不可以删除 

      答案解析:改为a

上一篇:在线客服源码使用秘籍,快速上手,实现高效沟通

下一篇:LOL无限视距源码深度解析,揭开神秘面纱探秘!