13.python语法方法函数的定义和调用
提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是Python基础语法。前后每一小节的内容是存在的有:学习and理解的关联性,希望对您有用~
python语法-python基础 第十三节 :python语法方法函数的定义和调用
文章目录
前言
方法和函数
方法和函数:语法层面是一样的,它们描述的是同一个东西:仅仅称呼不一样。定义:将一行或者若干行代码包起来。
那么:包起来之后,要用的时候,它怎么知道,我用的是哪一个。它需要有一个名字,我们通过名字来调用,就是:方法名/函数名。
需要使用的时候,直接通过方法名/函数名,就可以使用的里面全部代码,下次要用,还是通过方法名/函数名。不用每次都把里面的代码重复一遍。
大大节约了开发时间,并且,如果需要修改,也仅仅修改包起来里面的代码就可以,所有被调用的地方,都变了,因为它是按照里面的代码去执行
名字可以乱取一个吗?
一般来说:方法/函数描述的是一个功能,直接就是功能的名字来给方法名/函数名取名。像java,c,Python…自带的方法,咱们调用也是直接看名字,名字就是描述的功能。
附:
行业经过很多年很多年,又分支了很多很多岗位和方向,这个事情分的更为细致,除了这两个名字,还有很多名字、就有很多称呼,【像mysql,称为存储过程(将一些sql语句统一放一起,下次直接调用)触发器:将很多sql放一起,取一个名字,在设置一个条件,满足条件,自动执行某些sql(触发了)】。
有些就习惯的称为函数(构造函数/封装函数 类里面:就是取/修改成员变量的方法,它的语法和其他方法一模一样)
有些就习惯的称为方法(计算最小值的方法 虽然有些也在类里面 但是描述的是一个具体功能)。
有些人与有些人的称呼不一样,(java出身,c硬件出身,php的,go语言的,…等等)。
大致:
类里面定义的: 函数
没有在类里面定义的 : 方法
统一标准是挺好的,但是很困难,您就能100%确定没有在类里面就叫方法,在类里面操作成员变量就叫函数。。。工具类:合着我提供的全是函数??Math数学类:调用一个四舍五入的函数/方法(叫法怎么统一,反正总有人会别扭)?? Java同事:没有在类里面??
在工作中,非得100%较真称呼吗,其实也没有。同事:调用这个函数。 你:哦~ 你说错了。我管这个叫方法。 同事:我函数名字也说了,需求也说了,代码思路也清晰。你也知道我需要什么,所以....嗯?
再来一遍定义:将一行或者若干行代码包起来取个名字。特定的行业/特殊的场景习惯怎么称呼,此文不再区分了。 语法层面是一样的
所以,最终!有些特定的场景和特定的位置:叫法不一样,但是语法一样 : def关键字
手动比心~ 仅仅是为了不想把看此篇文章的萌新看晕,误解:我学了方法的定义和调用,又去学函数的定义和调用呗,在学一遍xx的定义和调用呗。工作一段时间后:前辈,我会Python函数定义,但是不会方法定义语法。。。前辈:what?
一、Python定义方法/函数并调用(不带参数,不带返回值)
语法:
#参数填写到()里,当前用不到参数,语法也需要写上()。
def 方法名(): #def关键字 后面跟方法名字
方法体
比如:
def hello():
print("hello 帮帮志")
定义了一名字为hello的方法
调用方法:使用方法名字直接调用即可。
演示:在main函数里面调用
def hello():
print("hello 帮帮志")
#Python 主程序入口,main就长这样:
if __name__ == '__main__':
hello()#调用方法
#也可以在其他方法调用,但是当前我们需要运行看结果
二、Python定义方法/函数并调用(带参数,不带返回值)
语法:
def 方法名(参数名字):
方法体 【在方法体里面可以使用参数】
比如:
def hello(name):
print("hello %s" % name)#这个语法是:我在Python基础 第6小节 分享的格式化输出(详细)
#定义了一名字为hello的方法
#参数是name
#在括号里面填写内容 ,这个内容就会在方法体里面,按照编写好的方式去运行
#(正式名字:形参) 形式参数
#
if __name__ == '__main__':
hello("bbz") #bbz作为具体的内容 传递给hello方法
#(正式名字:实参) 实际参数
运行:
三、Python定义方法/函数并调用(不带参数,带返回值)
带返回值:调用这个方法,可以得到一个结果,什么时候给这个结果,给哪个结果。用return关键字(返回的是变量,变量里面存储的有对应的数据)
语法:
def 方法名:
方法体 (根据不同的场景和规则,方法体会修改这个变量的值)
return 变量
比如:
def hello():
print("hello 帮帮志-莫")
print("运行结果看到这句,表示方法被执行,调用了")
numOne = 10 #定义了它 没用。为了演示return
strName= 'bbz' #定义了变量
#他们可以根据实际情况参与各种运算和使用
#最后给结果
return strName #具体返回那个变量,是return修饰的
#使用main函数 调用方法
if __name__ == '__main__':
#调用方法,带返回值的方法 可以用变量来接收返回值
s = hello()
#使用这个方法返回的变量
print(s)
四、Python定义方法/函数并调用(带参数,带返回值)
语法:
def 方法名(参数):
方法体
return 返回值
比如:
def hello(name):
print("hello 帮帮志-莫")
print("看到这句,表示方法被执行")
strName= 'bbz'+name #拼接方法的参数
#他们可以根据实际情况参与各种运算和使用
return strName #具体返回那个变量,是return修饰的
#使用main函数 调用方法
if __name__ == '__main__':
#调用方法
#在括号里面填写内容 ,这个内容就是参数,会在方法体里面,按照编写好的方式去运行
s = hello(' - 空格和-隔开,我是调用的参数')
#使用这个方法返回的变量
print(s)
提示:定义了一个名为Hello的方法,调用这个方法需要传递一个参数,参数用name来代替,运行方法,name会拼接在变量里面,随后将最后的返回这个变量给调用者
案例:
定义一个计算数字平方的方法
#定义方法
def jisuan(num):
return num*num #我不管这个数字是几,我只管返回一个平方的结果
if __name__ == '__main__':
#调用方法
#定义变量接收结果,并随便传递一个参数 10
result = jisuan(10)
print(result)
总结
四个案例,四个情况。具体使用哪种,根据实际的需求来定。
问我?倒不如问您:方法的定义者,您的方法它提供一个什么样的…功能
我作为调用者,我给您什么(需要不要参数)。我得到什么(返回值)
像案例:定义一个计算数字平方的方法。 参数得有啊~
不然。不要参数的话,我方法体写死:1010。这个方法有什么意义,它永远计算1010