一、函数介绍

1.为什么要有函数?

没有函数的代码组织结构不清晰,可读性差。

代码冗余

管理维护难度大,扩展性

2.什么是函数?

具备某一个功能的工具就是程序中的函数。

事先准备工具的过程就是:函数的定义。

拿着工具来使用就是函数的调用。

所有函数都是:先定义后调用!

二、函数的定义

1.语法  def msg()

def是定义函数的关键字msg就是是函数名,函数名是用来调用函数的,命名必须能反映函数的功能。()是用来放参数的

def msg(count,liu):

print(count*liu) #函数的功能            #在中间还可以加文档描述,来增强函数的可读性。

def good(good_p):

print(good_p)

msg(20,'=')       #函数的代码块

good('hello word')   #函数的代码块

msg(20,'*')

***以上输出:

====================

hello word

********************

2.定义函数的三种类型

(1)有参函数:参数是函数体代码用来接收外部传入数据的。

inp_name='ly'

inp_paws=123

def interactive():

name=input('请输入你的用户名:')

paws=input('请输入你的密码:')

return name,paws

def auth(name,paws):

if inp_name == name and inp_paws == paws:

print('登录成功')

res=interactive()

x=res[0]

y=res[1]

print(x)

print(y)

***以上输出:

请输入你的用户名:ly

请输入你的密码:123

ly

123

(2)无参函数:当函数代码体逻辑不需要函数的调用者参入值的情况下,定义时无参,意味着调用者用时也无需传入数据。

def line(x,y):

if x > y:

print(x)

else:

print(y)

line(10,50)

***以上输出:

50

name='liuyuan'

paws='123'

def interactive():

inp_name=input('输入你的名字:')

inp_paws=input('输入你的密码:')

if inp_name == name and inp_paws == paws:

print('输入正确')

else:

print('错误')

interactive() ##定义时无参,意味着调用时也无需传入参数。

***以上输出

输入你的名字:liuyuan

输入你的密码:123

输入正确

(3)空函数:函数体为pass.

def auth():

"""

这是一个认证功能

:return:

"""

pass

def put():

"""

上传功能

:return:

"""

pass

def get():

"""

下在功能

:return:

"""

pass

def ls():

"""

list contents

:return:

"""

pass

三、调用函数

定义:函数的使用必须先定义收调用的原则。

2.调用函数:

调用函数必须先定义,再调用。

函数名加()就是在调用函数

# print(print_sym)

# print_sym('#',30)

# print_msg('hello egon')

# print_sym('#',30)

注意:没事先定义而直接调用,就相当于引用了一个存在的变量名。

(1)定义阶段:在定义阶段,不执行函数体代码(只检测语法)

(2)调用阶段:根据函数找到函数的内存地址,然后执行函数体代码

# 定义阶段:

def lol():

print('你好')

blo()

def blo():

print('lasdll')

#调用阶段

lol()

四、返回值定义:当函数体代码运行结束后,需要有一个返回的结果给调用者。返回值有三种形式:

1.没有reture,返回None

def ppp():

pass

ren=ppp()

print(ren)

***以上输出

None

2.retur后跟一个值。

def ppp():

return 5

ren=ppp()

print(ren)

***以上输出

5

3.ruture可以以逗号分隔,返回多个值,会返回一个元组给调用者。

def ppp():

return 1,5,6,9,[5,6,9,],{9:6}

ren=ppp()

print(ren)

***以上输出

(1, 5, 6, 9, [5, 6, 9], {9: 6})注意:

1.retur返回的值,没有类型限制。

2.函数内可以写多个return,但执行一次,函数会立刻结束,并把return后的值作为本次调用的返回值。

def ppp():

print('你好')

return 1

print('你好2')

return 2

print('你好3')

return 3

ren=ppp()

print(ren)

***以上输出

你好

1

python函数定义语法_python 函数基础 定义相关推荐

  1. python主函数调用格式_Python入门基础中怎么定义函数,函数调用,函数传递参数...

    什么是函数和为什么要用函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.已经知道Python提供了许多内建函数,比如print(). ...

  2. python函数的声明_Python函数声明与定义

    Python函数声明与定义教程 在 Python函数声明与定义详解 语法 def funcName(param1, param2): # do return [val] 参数 参数 描述 def 定义 ...

  3. python如何定义名称_Python的基础语法

    一.数据 1.1 变量 数据用变量来存放,并用等号对变量赋值. 例:nameStr = 'OREO' 其中 nameStr 是变量名称,'OREO' 是变量值. 注: 1.定义变量名称时可以使用'数据 ...

  4. python函数参数定义顺序_Python函数定义-位置参数-返回值

    原标题:Python函数定义-位置参数-返回值 1 函数介绍 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多 ...

  5. python语言中函数在调用前必须先定义吗_Python函数必须先定义,后调用说明(函数调用函数例外)...

    java开发者在定义类中的方法时,不会关心方法的定义相对于调用语句的位置. 但是python中需要注意: 函数必须先定义.后调用(函数调用函数例外). 如下为示例说明: 1.python函数的应用一般 ...

  6. python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...

    本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...

  7. python函数归值_Python函数基础与函数递归

    数学中函数的定义: 一般的 在一个变化过程中, 如果有两个变量 x 和 y 并且 对于 x的每一个确定的值,y都有唯一确定的值与 其对应, 那么我们就把 x 成为 自变量 把y成为 因变量 y是x的函 ...

  8. python函数五要素_python之基础篇(二)

    防伪码:忘情公子著 一.面向过程与面向对象 面向过程: 以指令为中心,由指令去处理数据 只要考虑如何组织代码去解决问题 面向对象: 以数据为中心,所有的处理代码都围绕数据展开 要考虑如何设计数据结构组 ...

  9. python average函数详解_python 函数详解

    函数函数是代码的一种组织形式 函数应该能完成一项特定的工作,而且一般一个函数只完成一项工作 有些语言,分函数和过程两个概念,通俗解释是,有返回结果的是函数,无返回结果的叫过程,python不加以区分 ...

最新文章

  1. CentOS6.4 利用sendEmail发邮件
  2. 笔记本电脑锁_2020年双11有哪些值得选购的笔记本电脑?(全能本/便携高性能笔记本电脑/设计本)...
  3. php json 压缩传输,php json数据使用gzip压缩输出
  4. 每一段感情结束后,是男方放下的快,还是女方放下的快?
  5. 在Ubuntu18.04中安装ROS教程
  6. 文件处理技巧,如何快速复制并覆盖已存在的文件
  7. sql查询按周查询出现的跨年问题
  8. 晨会纪要081110
  9. 解决VsCode感叹号快捷键生成html骨架失效
  10. 【火爆全网的抖音无人直播项目:挤地铁源代码】
  11. Kylin源码解析——从CubingJob的构建过程看Kylin的工作原理
  12. pion-example-webrtc-applications示例学习
  13. SwiftUI之NavigationView的基础使用与进阶实践
  14. 车载注册蓝牙服务器,蓝牙配对码配备方法、系统、终端、服务器及车载设备专利_专利查询 - 天眼查...
  15. 《这就是软件工程师》读书笔记
  16. 全球及中国职业教育市场创新发展与投资决策建议报告2022版
  17. TCP连接握手为什么3次?断开为什么是4次?TCP的优化-SCTP协议
  18. LTE学习笔记 ——GTP-U
  19. 计算机音乐谱棠梨煎雪,天谕手游棠梨煎雪乐谱代码分享
  20. 多模态信息抽取(一)——融合知识图谱和多模态的文本分类研究(论文研读)

热门文章

  1. jquery系列教程3-DOM操作全解
  2. -矩阵-创建矩阵-简单方法
  3. Linux在终端搜索的两条命令
  4. Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的...
  5. [BZOJ1572] [Usaco2009 Open]工作安排Job(贪心 + 堆)
  6. sql 查询Africa城市的人口和城市名字
  7. c#动态编译并动态生成dll
  8. httplib模块,测试cdn节点文件同步
  9. (转)Mahout Kmeans Clustering 学习
  10. 【CSAPP笔记】11. 存储器层次结构