python中方法与函数的区别与联系

今天huskiesir在对列表进行操作的时候,用到了sorted()函数,偶然情况下在菜鸟教程上看到了内置方法sort,同样都可以实现我对列表的排序操作,那么方法和函数有什么区别和联系呢?

如下是我个人总结:

 

1.调用的方式不一样:
函数:通过”函数名()”的方式调用
方法:通过“对象.方法名”的方式调用


2.作用域不一样:
函数内出现的有关计算、赋值等操作,在函数运行完之后里面的结果不会保留
方法则是实实在在影响到当前环境

list1 = [0, 1, 2, 3, 4, 5]
list2 = [0, 1, 2, 3, 4, 5]

def string_sort1():
    list1.sort(reverse=True)
    print(list1)

def string_sort2():
    sorted(list2, reverse=True)
    print(list2)

string_sort1()
string_sort2()
#以下是输出结果,验证了上文:
[5, 4, 3, 2, 1, 0]
[0, 1, 2, 3, 4, 5]

 


3. 在实例化中

class Foo(object):
    def func(self):
    pass
#实例化
obj = Foo()

#执行方式一:调用的func是方法
obj.func() #func 方法

#执行方式二:调用的func是函数
Foo.func(123) # 函数

 

总结:
发现同样的几行代码在不同场景应用叫法就不同,对象调用的叫方法,类调用的就是函数。

转载于:https://www.cnblogs.com/huskiesir/p/10383672.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值