Python:函数和代码复用

嗨喽,大家好呀~这里是爱看美女的茜茜呐


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


1、关于递归函数的描述,以下选项中正确的是

A.包含一个循环结构

B.函数比较复杂

C.函数内部包含对本函数的再次调用

D.函数名称作为返回值

答案:D

答案解析:

递归函数是指函数内部包含对本函数的再次调用。

2、关于递归函数基例的说明,以下选项中错误的是

A.递归函数必须有基例

B.递归函数的基例不再进行递归

C.每个递归函数都只能有一个基例

D.递归函数的基例决定递归的深度

答案:C

答案解析:

每个递归函数至少存在一个基例

3、以下选项中,不属于函数的作用的是

A.提高代码执行速度

B.复用代码

C.增强代码可读性

D.降低编程复杂度

答案:C

答案解析:

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

4、假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是

A.参数是列表类型时,改变原参数的值

B.参数是整数类型时,不改变原参数的值

C.参数是组合类型(可变对象)时,改变原参数的值

D.参数的值是否改变与函数中对象的操作有关,与参数类型无关

答案:D

答案解析:

python里有可变对象和不可变对象之分。

只有传入的是不可变对象时,值才不发生改变,若是可变对象,值的传入需要注意。

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

可变对象: List , Set , Dictionary是可以改变内部的元素 。

5、在python中,关于函数的描述,以下选项中正确的是

A. 一个函数中只允许有一条return语句

B. Python中,def和return是函数必须使用的保留字

C. Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用

D. 函数eval()可以用于数值表达式求值,例如eval(‘2*3+1’)

答案:D

答案解析:

函数可以不使用return语句或多条return语句,因此A,B不正确;

Python函数定义中没有对参数指定类型,函数中应根据实参的类型使用,C不正确。

6、给出如下代码

def func(a,b):c = a **2 + bb =areturn c
a =10
b =100
c = func(a,b)+a

以下选项中描述错误的是

A. 执行该函数后,变量c的值为200

B. 该函数名称为func

C.执行该函数后,变量b的值为100

D.执行该函数后,变量a的值为10

答案:A

答案解析:

执行该函数后,变量c的值为210

7、在Python中,关于全局变量和局部变量,以下选项中描述不正确的是

A.一个程序中的变量包含两类:全局变量和局部变量

B.全局变量一般没有缩进

C.全局变量在程序执行的全过程有效

D.全局变量不能和局部变量重名

答案:D

答案解析:

全局变量可以和局部变量重名,全局变量指的是在函数之外定义的变量,在程序执行全过程有效。

全局变量在函数内部使用时,需要提前使用保留字global声明。

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

例如:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
n =2
def multiply(x, y =10):n =x*y     #局部变量n,和第一行代码n不同。return n   #返回的n也是局部变量n
s =multiply(99,2)
print(s)
print(n)

全局变量可以和局部变量重名,因此D错误

8、关于面向对象和面向过程编程描述,以下选项中正确的是

A. 面向对象编程比面向过程编程更为高级

B. 面向对象和面向过程是编程语言的分类依据

C.模块化设计就是面向对象的设计

D.所有面向对象编程能实现的功能采用面向过程同样能完成

答案:D

答案解析:

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

9、以下选项中,对于递归程序的描述错误的是

A. 书写简单

B. 执行效率高

C.一定要有基例

D.递归程序都可以有非递归编写方法

答案:B

答案解析:

递归程序的执行效率比较低

10、下面代码的输出结果是

 f = lambda x,y:y+xf(10,10)

A. 10

B. 20

C.10,10

D.100

答案:B

答案解析:

lambda表达式相当于:

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

11、关于形参和实参的描述,以下选项中正确的是

A.函数定义中参数列表里面的参数是实际参数,简称实参

B.参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参

C.程序在调用时,将实参复制给函数的形参

D.程序在调用时,将形参复制给函数的实参

答案:C

答案解析:

函数定义中参数列表里面的参数是形参,参数列表中给出要传入函数内部的参数,这类参数称为实参;

程序在调用时,将实参复制给函数的形参

12、关于lambda函数,以下选项中描述错误的是

A. lambda函数也称为匿名函数

B. lambda函数将函数名作为函数结果返回

C.定义了一种特殊的函数

D.lambda不是Python的保留字

答案:D

答案解析:

lambda是Python的保留字

13、以下选项中,对于函数的定义错误的是

A. def vfunc(a, b = 2):

B. def vfunc(a, b):

C. def vfunc(a, *b):

D. def vfunc(*a, b):

答案:D

答案解析:

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

14、关于函数的参数,以下选项中描述错误的是

A. 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值

B. 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现

C. 可选参数可以定义在非可选参数的前面

D. 一个元组可以传递给带有星号的可变参数

答案:D

答案解析:

可选参数不可以定义在非可选参数的前面

15、关于return语句,以下选项中描述正确的是

A.函数中最多只有一个return语句

B.函数必须有一个return语句

C.return只能返回一个值

D.函数可以没有return语句

答案:D

答案解析:

函数return的个数没有限制,可以没有return语句

16、关于函数,以下选项中描述错误的是

A.函数是一段具有特定功能的、可重用的语句组

B.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可

C.使用函数的主要目的是降低编程难度和代码重用

D.Python使用del保留字定义一个函数

答案:D

答案解析:

Python使用def保留字定义一个函数

17、关于Python的全局变量和局部变量,以下选项中描述错误的是

A.全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效

B.局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用

C.使用global保留字声明简单数据类型变量后,该变量作为全局变量使用

D.简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放

答案:D

答案解析:

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

18、关于Python中的lambda函数,以下选项中描述错误的是

A.lambda用于定义简单的、能够一行内表示的函数

B.可以使用lambda函数定义列表的排序原则

C.f = lambda x,y:x+y执行后,f的类型为数字类型

D.lambda函数将函数名作为函数结果返回

答案:D

答案解析:

C选项中,f的类型依参数来确定

19、下面代码实现的功能描述为

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def fact(n):if n == 0:return 1else :return n * fact(n-1)
num = eval(input('请输入一个整数:'))
print(fact(abs(int(num))))

A. 接受用户输入的整数N,输出N的阶乘值

B. 接受用户输入的整数N,判断N是否是素数并输出结论

C. 接受用户输入的整数N,判断N是否是整数并输出结论

D. 接受用户输入的整数N,判断N是否是水仙花数

答案:D

答案解析:

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

20、给出如下代码

def fact(n):s = 1for i in range(1,n+1):s *= ireturn s

以下选项中描述错误的是

A.代码中n是可选参数

B.fact(n)函数功能为求n的阶乘

C.s是局部变量

D.range()函数是Python内置函数

答案:A

答案解析:

代码中n不是可选参数,可选参数有*或**

21、给出如下代码

ls = ['car','truck']
def funC(a):ls.append(a)return
funC('bus')
print(ls)

以下选项中描述错误的是

A.ls.append(a)代码中的ls是全局变量

B.执行代码输出结果为[‘car’,’truck’]

C.ls.append(a)代码中的ls是列表类型变量

D.funC(a)中a为非可选参数

答案:B

答案解析:

执行代码输出结果为[‘car’,’truck’,‘bus’]

22、给出如下代码

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
ls = ['car','truck']
def funC(a):ls = []ls.append(a)return
funC('bus')
print(ls)

以下选项中描述错误的是

A.代码函数定义中,ls.append(a)中的ls是局部变量

B.执行代码输出的结果为[‘car’, ‘truck’]

C.ls.append(a)代码中的ls是列表类型

D.执行代码输出结果为[‘car’, ‘truck’, ’bus’]

答案:D

答案解析:

funC函数内部的ls是局部变量,与全局变量不同,在函数调用结束后,局部变量就会消失。

最终打印输出的ls是全局变量。

23、给出如下代码

import turtle
def drawLine(draw):turtle.pendown() if draw else turtle.penup()turtle.fd(50)turtle.right(90)
drawLine(True)
drawLine(True)
drawLine(True)
drawLine(True)

以下选项中描述错误的是

A.运行代码,在Python Turtle Graphic中,绘制一个正方形

B.代码def drawLine(draw)中的draw可取值True或者False

C.代码drawLine(True)中True替换为-1,运行代码结果不变

D.代码drawLine(True)中True替换为0,运行代码结果不变

答案:D

答案解析:

if else简写形式例:

a, b, c = 1, 2, 3
if a > b:c = a
else:c = b

可简写为:

a, b, c = 1, 2, 3
c = a if a > b else b

参数如果需要布尔值,而输入的是数值,那么只需要该数值为非0的数,对应为True,如果输入的数值为0,则代表False,因此D不正确

24、给出如下代码

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import turtle
def drawLine(draw):turtle.pendown() if draw else turtle.penup()turtle.fd(50)turtle.right(90)
drawLine(True)
drawLine(0)
drawLine(True)
drawLine(True)
turtle.left(90)
drawLine(0)
drawLine(True)
drawLine(True)

以下选项中描述错误的是

A.运行代码,在Python Turtle Graphic中,绘制一个数码管数字2

B.代码drawLine(True)中True替换为0,运行代码结果不变

C.代码drawLine(True)中True替换为-1,运行代码结果不变

D.代码def drawLine(draw)中的draw可取值0、1、-1等

答案:B

答案解析:

参数如果需要布尔值,而输入的是数值,那么只需要该数值为非0的数,对应为True,如果输入的数值为0,则代表False。

25、下面代码的运行结果是

def func(num):num += 1
a = 10
func(a)
print(a)

A.10

B.11

C.出错

D.int

答案:B

答案解析:

函数在传递参数时,指将实参复制给形参,并未对实参本身发生改变。

26、下面代码的运行结果是

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def func(a, b):return a >> b
s = func(5, 2)
print(s)

A.20

B.6

C.1

D.12

答案:C

答案解析:

a>>b代表将a转为二进制,然后向右移动b个位,(<<表示向左,>>表示向右)。

a = 5,二进制为101;b =2,也就是将101向右移动2位,变为1。

27、下面代码的运行结果

def func(a, b):a *= breturn a
s = func(5, 2)
print(s)

A. 20

B. 10

C. 1

D. 12

答案:B

28、下面代码的运行结果是

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def f2(a):if a > 33:return True
li = [11, 22, 33, 44, 55]
res = filter(f2, li)
print(list(res))

A.[44,55]

B.[33,44,55]

C.[22,33,44]

D.[11,33,55]

答案:A

答案解析:

filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个列表,

在本题中这个函数 f2 的作用是对每个元素进行判断是否大于33,如果大于则返回 True否则 False,

filter()根据判断结果自动过滤掉不符合条件的元素,也就是将返回为True的元素组成的新list,

因此本题选择A。注意,res是对象类型。

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/136187.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python基础】—函数def()的定义与调用、参数、return返回值及变量作用域

文章目录 定义函数&#xff1a;def()语句调用函数&#xff1a;输入函数名和参数对应的值参数return 返回值变量作用域 定义函数&#xff1a;def()语句 语法&#xff1a; def 函数名(参数1,参数2,.....,参数n): 函数体 return 语句举例&#xff1a; def hello(name):print(n…

#循循渐进学5单片机#中断与数码管动态显示#not.5

1、掌握C语言数组的概念、定义和应用。 1&#xff09;数组是一组变量&#xff0c;这组变量需要满足三个条件&#xff1a; 具有相同的数组类型 具有相同的名字 在存储器中是连续的 2&#xff09;声明和初始化 数组类型 数组名【数组长度】 数组类型 数组名【数组长度】 …

【EI会议】第三届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2023)

第三届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2023&#xff09; 2023 3rd International Conference on Information Control, Electrical Engineering and Rail Transit 信息技术及人工智能正在不断地改变我们的生活&#xff0c;也深刻影响着通信、计算机和控制…

循环删除list集合中的元素

使用场景&#xff1a;有一个集合需要对它的元素进行筛选&#xff0c;将不符合条件的元素剔除。 就像上面这个集合&#xff0c;我要将字符串“张三”都删除。首先会想到的是&#xff0c;循环遍历&#xff0c;进行条件判断了。 可是在运行代码时&#xff0c;最后一个"张三&…

CAN总线

can总线看起来和485电路很相似&#xff0c;485出来是AB 线&#xff0c;can出来 CAN_HIGH CAN_LOW 2.CAN总线特点 多主控制不像iic 只能一个主机&#xff0c;也没有地址的概念

three.js——通过顶点和顶点索引创建集合体

通过顶点和顶点索引创建集合体 效果图1、创建顶点数据2、创建顶点属性3、创建材质4、创建网格5、改变网格的位置并添加到场景中6、通过顶点索引创建几何图形 效果图 1、创建顶点数据 // 创建顶点数据 每三个一个顶点 逆时针为正面 const vertices new Float32Array([ -1.0, -…

C语言利用联合体判断大小端

#include<stdio.h>#define SIZE(a) (sizeof(a)) union {/* data */short s;char c[SIZE(short)];short b;int d;char f; }un; int main(int argc,char **argv) {un.s 0x0102;if(SIZE(short) 2)//表示short是16位{printf("\n");printf("c[0] %d,c[1…

Python 基于人脸识别的实验室智能门禁系统的设计,附可视化界面

1 简介 本基于人脸识别的实验室智能门禁系统通过大数据和信息化的技术实现了门禁管理流程的信息化的管理操作。平台的前台页面通过简洁的平台页面设计和功能结构的分区更好的提高用户的使用体验&#xff0c;没有过多的多余的功能&#xff0c;把所有的功能操作都整合在功能操作…

激光焊接汽车PP塑料配件透光率测试仪

随着汽车主机厂对车辆轻量化的需求越来越强烈&#xff0c;汽车零部件轻量化设计、制造也成为汽车零部件生产厂商的重要技术指标。零部件企业要实现产品的轻量化&#xff0c;在材料指定的情况下&#xff0c;要通过产品设计优化、产品壁厚减小和装配方式的优化来解决。使用PP材料…

《可观测性成熟度模型白皮书》正式发布,龙蜥致力打造更好用户体验

背景 云原生计算基金会&#xff08;Cloud Native Computing Foundation&#xff0c;CNCF&#xff09;正式将可观测性引入 IT 领域以来&#xff0c;可观测性市场迅猛发展&#xff0c;涌现出一大批可观测性解决方案&#xff0c;企业也在寻求不同的方式打造可观测性。 然而&…

小米华为,化干戈为玉帛!

近日来&#xff0c;手机圈又掀起了各大厂家推出新品的高潮。首先是华为Mate60的推出&#xff0c;其自研的麒麟9000S芯片瞬间点燃了国内手机市场&#xff0c;得到了国内甚至国外业界人士的认可和好评。 而近日网上盛传的小米创始人雷军的“愿意加入华为技术生态圈”的邀请&…

Vue3 菜鸟入门(一)超详细!

【学习笔记】Java 一对一培训&#xff08;3.1&#xff09;Spring Boot介绍和基础 关键词&#xff1a;Vue 、Vue 3、Java、Spring Boot、Idea、数据库、一对一、培训、教学本文主要内容含Vue3介绍、安装、打包、创建项目、目录结构、起步等内容计划1小时完成&#xff0c;请同学…

AI 图片视频批量清晰化神器封装 CodeFormer

封装和改进了一下开源的代码 CodeFormer&#xff0c; 号称最强的AI 视频去码、图片修复工具&#xff0c;因为用的也是开源代码&#xff0c;所以我的代码部分也没有加密&#xff0c;所有源代码都可以看到&#xff0c;可以修改。把黑白照片上色的功能加上了&#xff0c;然后添加了…

设备树叠加层

设备树覆盖 设备树 (DT)是描述不可发现硬件的命名节点和属性的数据结构。内核&#xff08;例如 Android 中使用的 Linux 内核&#xff09;使用 DT 来支持 Android 设备使用的各种硬件配置。硬件供应商提供他们自己的设备树源 (DTS)文件&#xff0c;这些文件使用设备树编译器编…

合并两个升序链表,合并后也是升序的

开始时也要判断是否有一个链表本来就是空&#xff0c;如果是&#xff0c;直接返回另外一个链表 代码&#xff1a; struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1NULL){return list2;}if(list2NULL){return list1;} struct ListN…

练习敲代码速度

2023年9月18日&#xff0c;周一晚上 今晚不想学习&#xff0c;但又不想玩游戏&#xff0c;于是找了一些练习敲代码的网站来玩玩&#xff0c;顺便练习一下敲代码的速度 目录 参考资料个人推荐第一个 第二个第三个 参考资料 电脑打字慢&#xff0c;有哪些比较好的练打字软件&a…

子网的划分

强化计算机网络发现王道没有这一块的内容&#xff0c;导致做题稀里糊涂。于是个人调研补充。 子网划分是将一个大型IP网络划分成更小的子网&#xff0c;以实现更有效的网络管理和资源分配。 原因&#xff1a; 提高网络性能&#xff1a;子网划分可以减少广播域的大小&#xff…

在qml中将一个16进制表示的颜色加上透明度

在qml中&#xff0c;我们在指定控件的颜色时&#xff0c;可以直接通过16进制的字符串来表示&#xff0c;比如"#ff0000"; 这种方式也比较符合UI设计人员的使用习惯。 但是假如要在此颜色的基础上&#xff0c;加个透明度的话&#xff0c;就要重新计算一番&#xff0c;比…

Python基础指令(上)

Python基础指令上 常量和表达式变量和类型1. 什么是变量2. 变量的语法2.1 定义变量2.2 使用变量 3. 变量的类型4. 为什么要有这么多类型5. 动态类型特性 注释输入输出1. 程序与用户的交互2. 通过控制台输出3. 通过控制台输入 运算符1. 算术运算符2. 关系运算符3. 逻辑运算符4. …

python虚拟环境(venv)

一、什么是python环境 首先要知道什么是python环境&#xff1f; Python环境主要包括以下内容&#xff1a; 解释器 python.exe (python interpreter&#xff0c;使用的哪个解释看环境配置) Lib目录 标准库 第三方库&#xff1a;site-pakages目录&#xff0c;默认安装第三方…