函数的定义

# 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

python函数查询作用_Python函数相关推荐

  1. python修饰符作用_python函数修饰符@的使用

    python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志.性能测试.事务处理等等. 创建函数修饰符的规则: (1)修饰符是一个函数 (2)修饰符取被修饰函数为参数 (3)修饰符返回一个 ...

  2. python中匿名函数的作用_Python 中的匿名函数,你会用吗

    原标题:Python 中的匿名函数,你会用吗 概念 我们从一个例子引入. 这里有一个元素为非空字符串的列表,按字符串最后一个字母将列表进行排序.如果原列表是 ['abc', 'g', 'def'],则 ...

  3. python主函数的作用_python中main函数的用法

    原博文 2020-03-27 20:25 − **什么场景下会有main函数?** 当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行. **ma ...

  4. python中字符串函数的作用_python 基础学习笔记(2)---字符串功能函数

    **上一篇写到了,基本的数据类型,今天重点来讲一下字符串的功能函数** 回顾一下上篇的内容: 一.int 整型,在python 3 中与long型合并 可以达到 -922337203685477580 ...

  5. python中注释的作用_Python函数添加注释的好处

    前面的教程中,我们已经学习了 Python 中的注释方式,单行注释以#开头,进行多行注释时通常用三个单引号'''将注释部分包裹起来. 在函数的定义中,常利用多行注释给函数写文档,称为函数文档.为什么要 ...

  6. python查看方法作用_python中有帮助函数吗

    python中的dir()函数是一个非常重要的函数,它可以帮助我们查看函数的功能和特性. 中文说明:不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数 ...

  7. python map函数的作用_Python map()函数介绍及用法

    Python函数式编程之map() Python中map().filter().reduce()这三个都是应用于序列的内置函数. 格式: 1 map(func, seq1[, seq2,-]) 第一个 ...

  8. python匿名函数的作用_Python匿名函数 Lambda表达式作用

    在Python这门优美的编程语言中,支持一种有趣的语法格式(表达式),可以让我们在单行内创建一个最小的函数-python lambda匿名函数. 据说是借鉴了Lisp语言中lambda表达式,它可以使 ...

  9. python入口函数的作用_python之函数中参数的作用域

    学编程究竟学的是什么呢?在写文章的这几天也一直在思考这个问题--恐怕这也是接下来的几年一直会去思考的问题.这个问题的答案也会指导我的方法论,所以索性整顿一下. 现阶段我的回答是,发现需求,然后解决. ...

最新文章

  1. spark任务优先级设置:spark.yarn.priority
  2. 用Eclipse给安卓应用进行签名
  3. 复原 IP 地址Python解法
  4. 浅谈离线化方案的探索,跨容器
  5. canal mysql从库_大厂如何基于binlog解决多机房同步mysql数据(一)?
  6. 35岁小贝荣膺终身成就奖
  7. 艰难的选择_处理艰难对话的6种方法:分享如何衡量成功
  8. sql/c#十六进制与十进制的转换
  9. 22.doublewrite/ChangeBuffer/AHI/FNP
  10. Android应用基础知识(4)---Android处理运行时变更
  11. Ajax中async与cache参数
  12. Android编码架构MVx演进历史
  13. Ruby 之Gem kaminari 分页
  14. thinkPHP+jQuery实现站内信功能-讲给菜鸟同学
  15. 二元函数可微与偏导数_二元函数的连续、偏导数、可微之间的关系-推荐下载...
  16. Educational Codeforces Round 131 (Rated for Div. 2) A-D题解
  17. Zotero——一款文献管理工具
  18. Oracle fan ons 12c,Oracle WebLogic Server 与 Oracle Database 12c 的集成 (2)
  19. 杜克大学计算机数据科学,杜克大学的数据科学专业解析
  20. 神经网络学习笔记4——GNN图神经和GCN图卷积网络

热门文章

  1. memset函数功能
  2. python复制excel的表格内容和格式
  3. PC能替代服务器吗?全方位解析二者区别
  4. 小朋友,你要尿尿吗?------扯淡select/poll/epoll
  5. 设置vs2019护眼编程背景色
  6. RFID定位技术系统的实际应用
  7. 领测软件测试网42期(北京站)测试技术沙龙圆满成功
  8. 力扣 991. 坏了的计算器
  9. DEBUG: Filtered offsite request to
  10. Word控件Spire.Doc 【书签】教程(4): 使如何在 DOCX 到 PDF 转换中保留书签