python语法方法函数的定义和调用

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