方法和函数的区别有:1、定义位置;2、定义方式;3、调用方式。其中,函数:Python的函数是直接写在Python模块中的,即在.py文件中直接定义。方法:只能定义在class类中。
一、方法和函数的区别
1、定义位置
函数:Python的函数是直接写在Python模块中的,即在.py文件中直接定义。
方法:只能定义在class类中
2、定义方式
函数:函数定义的方式 def关键字 然后接函数名 再是括号 括号里面写形参也可以省略不写形参
def functionName():
“””这里是函数的注释”””
print(“这一块写函数的内容”)
方法:方法定义的方式, 首先方法是定义在类中的,其他大体和函数定义差不多,这里需要注意的一点就是方法必须带一个默认参数
self(静态方法除外)
class className(super):
def methodName(self):
“””这里是方法的注释
self相当于this;
“””
print(“这里是方法的内容”)
3、调用方式
函数:直接使用函数名(参数1,参数2,….)调用
def functionName():
print(“这是一个函数”)
#调用
functionName()
方法:方法是通过对象点方法调用的(这里是指对象方法)
class className:
def method(self):
print(“这是一个方法”)
#调用———————
#实例化对象
c=className()
c.method()
注意:静态方法除外,可以不传递名列前茅个self参数
class A:
@staticmethod
def func():
print(‘这是一个静态方法’)
#不用实例化调用
A.func()
#实例化后和其他类方法一样方式调用
a = A()
a.func()
—–输出—–
这是一个静态方法
这是一个静态方法
延伸阅读:
二、对象的方法
对象的方法是指绑定到对象的函数。调用对象方法的语法是instance.method(arguments)。它等价于调用Class.method(instance,arguments)。当定义对象方法时,必须显式地定义名列前茅个参数,一般该参数名都使用self,用于访问对象的内部数据。这里的self相当于C++,Java里面的this变量,但是我们还可以使用任何其它合法的参数名,比如this 和 mine 等,self与C++,Java里面的this不完全一样,它可以被看作是一个习惯性的用法,我们传入任何其它的合法名称都行,比如:
1
class Fish:
def eat(self,food):
if food is not None:
self.hungry=False
class User:
def __init__(myself,name):
myself.name=name
#构造Fish的实例:
f=Fish()
#以下两种调用形式是等价的:
Fish.eat(f,”earthworm”)
f.eat(“earthworm”)
u=User(‘username’)
print(u.name)
Python认识一些以“__”开始并以“__”结束的特殊方法名,它们用于实现运算符重载和实现多种特殊功能,叫做魔法方法。
以上就是关于方法和函数有什么区别的内容希望对大家有帮助。