python函数查询作用_Python函数

函数的定义

# java

public void 方法名(形参1,形参2,...){

方法体;

return 值;

}

# python

def 函数名(形参1,形参2,...):

函数体

return 值

函数的调用:

函数名(实参1,实参2,...)

总结:函数通过def定义,通过return返回,如果没有return那么返回None。

作用:实现一种功能,是一种封装。

# 定义

def add():

print("Hello World")

# 调用

add()

# 在主方法调用(main+“回车” 自动生成)

if__name__=='__main__':

add()

根据是否有参数和是否有返回值,可以把函数分为四类

1、无参无返回(无返回表示返回None)

# 定义:

def run():

print("我独自一个人在跑步")

# 调用:

run()

2、无参有返回

# 定义:

def xzy():

print("我在努力写作业")

return "作业"

# 调用:

return_value=xzy()

print(return_value)

3、有参无返回

# 定义:

def qj(money,jinzi,shoushi):

print("我抢劫完就跑了")

# 调用:

qiangjie("钱","金子","首饰")

4、有参有返回

# 定义:

def add(a,b):

c=a+b

return c

# 调用:

sum=add(30,40)

print(sum)

总结:有参数就要传值,有返回值一般就要接收

有特别含义的参数

1.有默认值的参数

# 定义:(两个参数只有一个有默认值要写到后面)

def adds(a,b=100):

c=a+b

return c

# 调用:

print(adds(30))

print(adds(30,200))

2.有*不定长的参数(这种参数会把传入的值组合成一个元组)

# 定义:

def add(a,*b):

print(a)

print(b)

# 调用:

add(30)

add(30,100)

add(30,100,200,300,400,500,600)

3.带**不定长的参数(这种参数会把传入的值组合成一个字典)

# 定义:

def adds(a,**b):

print(a)

print(b)

# 调用:

adds(30)

adds(30,aaa=2,bbb=3,ccc=4)

嵌套函数

1.嵌套调用(在一个函数里面调用另一个或多个函数)

def sort(lis):

for cs in range(len(lis)):

for a in range(len(lis)-1):

if lis[a]>lis[a+1]:

temp=lis[a]

lis[a]=lis[a+1]

lis[a+1]=temp

test()

return lis

def test():

print("WWWWWWWWW")

2.嵌套定义(内部的函数只能在内部调用)

def a():

test=1

print(test)

def b():

test=2

print(test)

def c():

test=3

print(test)

b()

函数递归

1.自己调用自己

def a():

print("aaaaaa")

a()

2.函数之间相互调用

def a():

print("aaaaaa")

b()

def b()

print("bbbbbb")

a()

匿名函数lambda

sum=lambda a,b:a+b

print(sum(10,20))

值传递和引用传递

值传递:只是传递变量的值

引用传递:传递的是指向值的内存地址。例如(传list和dict)

当函数传入list或者是dict时,则是引用传递

练习

1.写函数,接收两个数字参数,返回最大值

def num(a,b):

max=a if a>b else b

return max

print(num(30,23))

2.写函数,获取传入列表的所有奇数位索引对应的元素,并将其作为新列表返回。

def getJs(lis):

new_list=[]

for a in range(len(lis)):

if a%2==0:

new_list.append(lis[a])

return new_list

print(getJs([82,42,60,12,33,79,19,43]))

3.写函数,判断用户传入的对象(列表)长度是否大于5,如果大于5,那么仅保留前五个长度的内容并返回。不大于5返回本身。

例如:

传入1:[34,23,52,352,666,3523,5] 返回1:[34,23,52,352,666]

传入2:[34,23,52] 返回2:[34,23,52]

def ls(lis):

new_lis=[]

if len(lis)>5:

new_lis.append(lis[0])

new_lis.append(lis[1])

new_lis.append(lis[2])

new_lis.append(lis[3])

new_lis.append(lis[4])

return new_lis

else:

return lis

print(ls([34,23,52,352,666,3523,5]))

print(ls([4,23,52]))

4.写函数,检查传入的字符串是否含有空字符串,返回结果,包含空字符串返回True,不包含返回False

例如:

传入:"hello world"

返回:True

def hw(a):

if ' ' in a:

return True

else:

return False

print(hw('hello world'))

5.写函数,接收n个数字,求这些数字的和

def su(*a):

s = sum(a)

return s

print(su(12,21,32))

print(su(3,2,1))

6.定义一个函数,实现两个数四则运算,要注意有3个参数,分别是运算符和两个运算的数字.

例如:

传入:10,*,20

返回:200

def a(x,y,z):

if z=="*":

i=int(x)*int(y)

return i

elif z=="/":

i=int(x)/int(y)

return i

elif z=="+":

i=int(x)+int(y)

return i

elif z=="-":

i=int(x)-int(y)

return i

else:

print("请输入两个数字和“+、-、*、\ ”其中一个运算符")

print(a(10,20,"*"))

print(a(30,40,"+"))

7.实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。

要求1:使用一个list用于保存学生的姓名。

要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit代表退出学生管理系统。每一个功能定义一个自定义函数。界面如下:

系统界面如下:

-----------------------欢迎进入T666班学生管理系统-----------------------------

请选择系统功能:

0:显示所有学员信息

1:添加一个学员信息

2:删除一个学员信息

3:修改一个学员信息

4:查询一个学员信息

exit:退出学生管理系统

'''

lis=["郭易","汤碗珍"]

'''

(0)输入0后效果如下:

0

["郭易","汤碗珍"..]

'''

def all():

print(lis)

'''

(1)输入1后效果如下:

1

请输入增加人的姓名:张三

["郭易","汤碗珍",'张三'..]

'''

def insert():

i=input("请输入增加人的姓名:")

lis.append(i)

print(lis)

'''

(2)输入2后效果如下:

2

请输入删除人的姓名:张三

["郭易","汤碗珍"..]

'''

def delete():

d=input("请输入删除人的姓名:")

lis.remove(d)

print(lis)

'''

(3)输入3后效果如下:

3

请输入需要修改人的姓名:张三

请输入需要修改后的姓名:李四

["郭易","汤碗珍",'李四'..]

'''

def update():

uq=input("请输入需要修改人的姓名:")

uh=input("请输入需要修改后的姓名:")

xb=lis.index(uq)

lis.pop(xb)

lis.insert(xb,uh)

print(lis)

'''

(4)输入4后效果如下:

请输入查询人的姓名:张三

张三在座位号(3)的位置。

'''

def select():

s=input("请输入查询人的姓名:")

if s in lis:

xb=lis.index(s)

print(s+"在座位号"+str(xb)+"的位置")

else:

print("未找到此同学,请输入正确名字")

'''

(5)输入exit后效果如下:

exit

欢迎使用T666的学生管理系统,下次再见。

'''

def exit():

print("欢迎使用T666的学生管理系统,下次再见。")

while True:

if __name__ == '__main__':

xz=input("\n"+"-----------------------欢迎进入T666班学生管理系统-----------------------------"

+"\n"+"请选择系统功能:"+"\n"

+"0:显示所有学员信息"

+"\n"+"1:添加一个学员信息"

+"\n"+"2:删除一个学员信息"

+"\n"+"3:修改一个学员信息"

+"\n"+"4:查询一个学员信息"

+"\n"+"exit:退出学生管理系统"+"\n")

if xz=="0":

all()

elif xz=="1":

insert()

elif xz=="2":

delete()

elif xz=="3":

update()

elif xz=="4":

select()

elif xz=="exit":

exit()

break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值