zoukankan      html  css  js  c++  java
  • 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) # 函数

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

  • 相关阅读:
    Don’t Cross 32 GB!
    Kafka 是如何保证数据可靠性和一致性
    水塘抽样(Reservoir Sampling)问题
    实际场景HBase读写设计与实践
    Spark2.3整合kafka010手动管理offset
    周期性清除Spark Streaming流状态的方法
    Spark状态管理State的应用
    Effective C++
    马尔科夫链模型
    非线性规划
  • 原文地址:https://www.cnblogs.com/huskiesir/p/10383672.html
Copyright © 2011-2022 走看看