今天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) # 函数
总结:
发现同样的几行代码在不同场景应用叫法就不同,对象调用的叫方法,类调用的就是函数。