Python:函数和代码复用

news2024/12/29 10:28:00

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


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

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 + b
    b =a
    return 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+x
 f(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 1
    else :
        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 = 1
    for i in range(1,n+1):
        s *= i
  return 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 *= b
    return 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.coloradmin.cn/o/1020662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通义千问杀疯了!首发Qwen-VL-Chat模型的A卡本地部署教程

阿里云最新开源的通义千问视觉语言模型&#xff1a;Qwen-VL Qwen-VL 是一款支持中英文等多种语言的视觉语言&#xff08;Vision Language&#xff0c;VL&#xff09;模型&#xff0c;相较于此前的 VL 模型&#xff0c;其除了具备基本的图文识别、描述、问答及对话能力之外&…

明星翻包视频的崛起:探究背后的驱动力

近年来&#xff0c;社交媒体上涌现出越来越多的明星翻包视频&#xff0c;成为广大粉丝和观众们的追捧对象。这个趋势的背后是什么原因&#xff1f;为什么现今的明星都热衷于分享自己的私人物品和生活片段&#xff1f; 在明星翻包视频的制作和推广过程中&#xff0c;媒介易作为专…

【CSP认证考试】202303-1:田地丈量解题思路+代码

问题描述 西西艾弗岛上散落着 n 块田地。每块田地可视为平面直角坐标系下的一块矩形区域&#xff0c;由左下角坐标 (x1,y1) 和右上角坐标 (x2,y2) 唯一确定&#xff0c;且满足 x1<x2、y1<y2。这 n 块田地中&#xff0c;任意两块的交集面积均为 0&#xff0c;仅边界处可能…

vcruntime140.dll文件下载安装方法以及一些注意事项

其实vcruntime140.dll文件是Microsoft Visual C Redistributable Packages for Visual Studio 2015中的一个重要组件。它包含了Windows操作系统和其他应用程序所需的函数和资源&#xff0c;以确保它们能够正常运行。本文将为你介绍vcruntime140.dll文件的下载、使用以及解决常见…

java boolean占用内存是多少

一&#xff0c;结论 关于boolean占用内存是多少&#xff0c;我在JVM规范中找到以下解释&#xff0c;但是怎么验证呢&#xff1f; 虚拟机没有给boolean(布尔)类型设置单独指令。boolean型的数据是有integer指令&#xff0c;包括interger返回来处理的。boolean型数组则是用byte…

嵌入式开发会成为下一个Java吗?

今日话题&#xff0c;嵌入式开发会成为下一个Java吗&#xff1f;答案是否定的。嵌入式开发岗位通常属于制造业&#xff0c;特别是电器、机械、装备、航空航天等“智能制造”领域&#xff0c;属于重资产行业&#xff0c;相对稳定&#xff0c;不像互联网那样灵活。如果你有兴趣进…

FastDFS修改文件存储目录

修改下面文件&#xff0c;相关参数为1&#xff0c;则最终只保留1个目录&#xff0c;目录为00/00。 vi /etc/fdfs/storage.conf vi /storage.conf vi /fastdfs-5.11/conf/storage.conf

【Java|golang】337. 打家劫舍 III---树上最大独立集

详细视频: link 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果 两个直接相连的房子在同一天晚上被打劫 &#xff0c;房屋将自动报警。 给定二叉树的 roo…

在线文件二维码制作技巧,支持多种文件格式

怎么把一个文件放到二维码中呢&#xff1f;在日常工作中&#xff0c;使用办公文件多以word、excel、ppt等格式的文件为主&#xff0c;那么怎么把这些格式的文件生成二维码使用是很多小伙伴关注的一个问题。那么就让小编来给大家分享一招&#xff0c;通过浏览器来在线制作二维码…

上传项目到github上

在github上先创建一个空仓库 在github上新建一个仓库&#xff0c;点击你的头像&#xff0c;然后在出来的侧边栏选择 Your repositories 点击New创建一个新的仓库&#xff0c;即repository 输入你的仓库名称&#xff0c;选择public 或者 private. 尽量不要勾选README 如果你的…

微信小程序环境搭建

一、微信开发者工具 1. 微信公众平台注册小程序 注册类型选择‘个人’即可&#xff0c;‘企业’需要公司相关信息&#xff08;企业信用代码、法人信息等&#xff09;。 若只是学习阶段&#xff0c;忽略这步&#xff0c;使用测试号即可。 注册成功后&#xff0c;在‘开发’-…

【任务调度框架】「分析技术指南」带你一同盘点一下常用的任务调度框架的方案和原理开发指南

带你一同盘点一下常用的任务调度框架的方案和开发指南 任务调度JDK原生任务调度Java.Util — Timer&#xff08;单线程&#xff09;/ TimerTask&#xff08;任务调度&#xff09;Java.Util.Concurrent — 任务调度线程池 Spring任务调度机制Quartz任务调度机制简单的使用流程Tr…

精品SpringCloud图书馆管理系统-微服务-分布式

《[含文档PPT源码等]精品基于SpringCloud实现的图书馆管理系统的设计与实现-微服务-分布式》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;springcloud JDK版本&…

【力扣-每日一题】337. 打家劫舍 III

class Solution { public:pair<int,int> dfs_rob(TreeNode *root){//如果为根节点if(rootnullptr)return {0,0};auto [l,l_n]dfs_rob(root->left);auto [r,r_n]dfs_rob(root->right);int ol_nr_nroot->val;//当前节点偷&#xff0c;所获得的利益,子节点不能偷in…

第二章 交换基础

目录 2.1 交换机概述 2.1.1 交换机的定义 2.1.2 交换机的接口 2.1.3 交换机的互连方式 2.1.3.1 级联 2.1.3.2 堆叠 2.1.4 交换机工作原理 2.1.4.1 转发 2.1.4.2 过滤 2.1.4.3 扩散 2.1.4.4 广播 2.1.4.5 源地址学习 2.1.5 交换机的作用 2.2 交换机作用仿真 2.2.…

Excel 通过条件格式自动添加边框

每录入一次数据就需要手动添加一次边框&#xff0c;非常麻烦&#xff0c;这不是我们想要的。 那么有没有办法&#xff0c;在我们录入数据后&#xff0c;自动帮我们加上边框呢&#xff1f; 选中要自动添加边框的列&#xff0c;然后按箭头流程操作 ↓ ↓ ↓ ↓

基于DSPACE功率平衡理论的并联有源电力滤波器模型(Simulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

python如何操作mysql数据库

目录 python操作mysql数据库 怎么提高效率 注意事项 总结 Python 是一种流行的编程语言&#xff0c;它提供了许多库和工具来操作 MySQL 数据库。在 Python 中&#xff0c;你可以使用诸如 pymysql、mysql-connector-python、SQLAlchemy 等库来与 MySQL 数据库进行交互。这些…

微信公众号小说系统源码 漫画系统源码 可对接微信公众号 APP打包 对接个人微信

源码描述&#xff1a;修复版掌上阅读小说源码_公众号漫画源码可以打包漫画app ■产品介绍 掌上阅读小说源码支持公众号、代理分站支付功能完善强大的小说源码&#xff0c;公众号乙帅读者&#xff0c; 可以对接微信公众号、APP打包。支持对接个人微信收款。 ■产品优势 1新…

解决Permission is not allowed后基于Ubuntu23.04安装配置docker与docker-compose

参考&#xff1a;Docker官网-Install Docker Engine on Ubuntu 一、 Install using the Apt repository 1.1 Set up Docker’s Apt repository 1.1.1 Add Docker’s official GPG key # Add Dockers official GPG key: sudo apt-get updatesudo apt-get install ca-certifi…