Python 面试问题:自定义函数(python自定义函数调用)
off999 2024-09-14 07:10 47 浏览 0 评论
Python 中自定义函数可以使用关键字 def,如以下代码所示:
def function_name ( ):
to do statements
让我们定义一个简单的函数:
def hello() :
print("Hello World!")
hello() 函数是一个非常简单的函数,在调用时仅显示 Hello World!。
还可以将参数传递给函数。如果希望函数 hello() 打印个性化消息,需要将参数传递给函数。
def hello(name) :
print("Hello", name)
函数调用
def hello(name) :
print("Hello", name)
name = input("请输入名字:")
hello(name)
# 输出:
请输入名字:jack
Hello jack
问题 1.Python 中有哪些不同类型的函数
Python 中有两种类型的函数:
- 内置函数:Python 中的库函数
- 用户定义的函数:由开发人员定义
问题 2.为什么需要自定义函数
在一个程序中,很多时候可能会一次又一次地调用某组代码。与其在需要的地方编写相同的代码段,不如定义一个函数并将代码放入其中。只要有需要,就可以调用此函数。这样可以节省时间和精力,有助于组织编码工作,代码测试也变得容易。
问题 3.什么是函数头
以 def 开头并以冒号 (:) 结尾的函数定义的第一行称为函数头。
问题 4.函数何时执行
当对函数进行调用时,函数将执行。可以直接从 Python 提示符或其他函数调用。
问题 5.什么是参数,参数和变量有什么区别
参数是在函数定义中定义的变量,而变量是传递给函数的实际值。变量中携带的数据将传递给参数。
def function_name(param):
在前面的语句中,param 是一个参数。
问题 6.什么是默认参数
默认参数也称为可选参数。在定义函数时,如果参数提供了默认值,则称为默认参数。如果在调用函数时,用户未为此参数提供任何值,则该函数将使用它的默认值。如下代码 age 是可选参数。
def hello(name, age=10) :
print(f"my name is {name},I'm {age} years old.")
name = input("请输入名字:")
hello(name)
'''输出:
请输入名字:jack
my name is jack,I'm 10 years old.
'''
def hello(name, age=10) :
print(f"my name is {name},I'm {age} years old.")
name = input("请输入名字:")
hello(name,20)
'''输出:
请输入名字:jack
my name is jack,I'm 20 years old.
'''
问题 7.Python 中的函数参数有哪些类型?
Python 中有三种类型的函数参数:
- 默认参数: 如果用户没有提供任何值,则假定为默认值。
- 关键字参数: 对于具有多个默认参数值的函数来说,必须按顺序指定其参数值。在调用函数时,使用参数的关键字来指定为哪个参数赋值,而不管它们的位置如何。
def hello(name, age) :
print(f"my name is {name},I'm {age} years old.")
hello(age=10,name='jack')
- 可变长度参数: 如果不确定函数参数的个数,可以使用可变长度参数。在函数定义中,使用一个星号标注可变长参数,此时,传入的多个参数将被封装为一个元组传入函数内。
对于同时带有参数名和实际传入对象的关键字参数,也可一次性传入多个,即可变长关键字参数。与可变长参数不同,可变长关键字参数需要用两个星号来进行说明,同时实际传入过程是 python 会将其转化为字典进行传入
def mysum(*num):
r = 0
for i in num:
r += i
return(r)
print(mysum(1,2))
print(mysum(1,2,3))
def myFun(**kwargs):
for i in kwargs:
print(i,'-',kwargs[i])
myFun(a=10, b=20, c=30, d=40)
问题 8.将不可变对象和可变对象作为参数传递给函数有什么区别
如果将字符串、元组等不可变参数传递给函数,则会传递对象引用,但无法更改这些参数的值。它的作用类似于按值传递调用。可变对象也通过对象引用传递,但其值可以更改。
问题 9.编写一个函数,使用 for 循环查找数字的阶乘
def factorial(number):
j = 1
if number==0|number==1:
print(j)
else:
for i in range (1, number+1):
print (j," * ",i," = ", j * i)
j = j*i
factorial(5)
问题 10.自定义函数,使用 for 循环输出斐波那契数列
def fibonacci(num):
i = 0
j = 0
k = 0
for i in range(num):
if i==0:
print(j)
elif i==1:
j = 1
print(j)
else:
temp = j
j = j+k
k = temp
print(j)
fibonacci(10)
问题 11.使用 while 循环改写以下代码
def func(i, j):
if i == 0:
return j
else:
return func(i-1, j+1)
print(func(6,7))
def func(i,j):
while i > 0:
i =i- 1
j = j + 1
return j
print(func(6, 7))
问题 12.编写代码查找两个给定数字的最大公约数
def hcf(x,y):
small_num = 0
if x>y:
small_num = y
else:
small_num = x
for i in range (1, small_num+1):
if (x % i ==0) and (y % i ==0):
hcf = i
return hcf
print (hcf(6,24))
问题 13.以下代码的输出是什么
total = 0
def add(a,b):
global total
total = a+b
print("inside total = ", total)
add(6,7)
print("outside total = ", total)输出如下:
inside total = 13
outside total = 13
问题 14.以下代码的输出是什么
total = 0
def add(a,b):
total = a+b
print("inside total = ", total)
add(6,7)
print("outside total = ", total)
输出如下:
inside total = 13
outside total = 0
问题 15.编写代码以使用欧几里得算法查找 HCF
欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数。前面使用递归函数计算最大公约数也使用了使用欧几里得算法。
def GCD(a, b):
while b != 0:
a, b = b, a % b
return a
a=28
b=72
print(f"{a}和{b}的最大公约数是:{GCD(a,b)} ")
问题 16.编写代码以在字符串中查找所有可能的回文分区
通过使用 for 循环将字符串切片得到成所有可能的子字符串。然后检查每个子字符串,看看它是否是回文。
子字符串将转换为单个字符的列表。以相反的顺序,将列表中的字符连接为字符串。如果生成的字符串与原始字符串匹配,则它是回文。
def create_substrings(x):
substrings = [ ]
for i in range(len(x)):
for j in range(1, len(x)+1):
if x[i:j]!= '':
substrings.append(x[i:j])
for i in substrings:
check_palin(i)
def check_palin(x):
palin_str = ''
palin_list = list(x)
y = len(x)-1
while y>=0:
palin_str = palin_str + palin_list[y]
y = y-1
if palin_str == x:
print(x,"是回文!")
x = "mlayalam"
create_substrings(x)
输出
m 是回文!
l 是回文!
layal 是回文!
a 是回文!
aya 是回文!
y 是回文!
a 是回文!
ala 是回文!
l 是回文!
a 是回文!
m 是回文!
问题 17.什么是匿名函数
Python 中的 Lambda 可用于创建没有名称的函数。此类函数也称为匿名函数。Lambda 函数体中只有一行,不需要 return 语句。
total = lambda a, b: a + b
print(total(10,50))
问题 18.return 语句有什么用
return 语句退出函数并将值交还给函数的调用方,即返回函数执行结果。
def func(a,b):
return a+b
total = func(1, 2)
print(total)
问题 19.以下代码的输出什么
def happyBirthday():
print("Happy Birthday")
a = happyBirthday()
print(a)
输出:
Happy Birthday None
问题 20.以下代码的输出什么
m = 1
n = 2
def update_variables():
global m
m = 11
n = 22
update_variables()
print(m)
print(n)
11
2
?
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
?
相关推荐
- 安全教育登录入口平台(安全教育登录入口平台官网)
-
122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...
- 大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)
-
大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...
-
- 哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
-
要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...
-
2026-02-04 09:03 off999
- 电信宽带测速官网入口(电信宽带测速官网入口app)
-
这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...
- 植物大战僵尸95版手机下载(植物大战僵尸95 版下载)
-
1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...
- 免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)
-
1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...
- 2025世界杯赛程表(2025世界杯在哪个国家)
-
2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...
- 下载搜狐视频电视剧(搜狐电视剧下载安装)
-
搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...
- 永久免费听歌网站(丫丫音乐网)
-
可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...
- 音乐格式转换mp3软件(音乐格式转换器免费版)
-
有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...
- 电子书txt下载(免费的最全的小说阅读器)
-
1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...
- 最好免费观看高清电影(播放免费的最好看的电影)
-
在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...
- 孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)
-
要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
windows7旗舰版多少钱(win7旗舰版要多少钱)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
