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

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

如下是我个人总结:

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

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

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

时间: 2024-07-29 06:03:16

python中方法与函数的区别与联系的相关文章

OC中方法与函数的区别

方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明.定义和使用,C语言不能声明.定义和使用. 1.类方法以+号开头,对象方法以-号开头+ (void) init;        // 类方法- (void) show;                // 对象方法 2.在@interface和@end之间声明,在@implementation和@end之间定义@interface Test : NSObject// 方法声明+ (void) init;- (vo

OC中方法与函数的区别(转)

方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明.定义和使用,C语言不能声明.定义和使用. 1.类方法以+号开头,对象方法以-号开头 + (void) init;       // 类方法 - (void) show;             // 对象方法 2.在@interface和@end之间声明,在@implementation和@end之间定义 @interface Test : NSObject // 方法声明 + (void) init; - (

举例详解Python中的split()函数的使用方法

这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下 函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开 一.函数说明1.split()函数语法:str.

FAQ:Python中*args和**agrs的区别

python提供了两种特别的方法来定义函数的参数: 1. 位置参数 *args,  把参数收集到一个元组中,作为变量args   >>>def show_args(*args):          #定义函数 print args >>>show_agrs("hello", "world")      #调用函数 输出:("hello","world") 2. 关键字参数 **kwargs,

黑马程序员 10-OC方法与函数的区别

———Java培训.Android培训.iOS培训..Net培训.期待与您交流! ——— 方法与函数的区别 1.方法: 1.对象方法都是以减号 - 开头  2.对象方法的声明必须写在@interface @end之间   3.对象方法的实现必须写在@implementation @end 之间 4.对象方法只能由对象调用  5.对象方法归类\对象所有 6.类方法都是以加号 + 开头,其他规则和对象方法相同 7.类方法既可以被类(类名)调用,也可以被对象调用 2.函数: 1.函数归文件所有,跟对象

Python中的getattr()函数详解:

Python中的getattr()函数详解: getattr(object, name[, default]) -> value Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y. When a default argument is given, it is returned when the attribute doesn't exist; without it, an exception i

python中的map()函数

MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, ...) Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that man

python中的生成器函数是如何工作的?

以下内容基于python3.4 1. python中的普通函数是怎么运行的? 当一个python函数在执行时,它会在相应的python栈帧上运行,栈帧表示程序运行时函数调用栈中的某一帧.想要获得某个函数相关的栈帧,则必须在调用这个函数且这个函数尚未返回时获取,可能通过inspect模块的currentframe()函数获取当前栈帧. 栈帧对象中的3个常用的属性: f_back : 调用栈的上一级栈帧 f_code: 栈帧对应的c f_locals: 用在当前栈帧时的局部变量; 比如: >>&g

python3中的 zip()函数 和python2中的 zip()函数 的区别

python3中的 zip()函数 和python2中的 zip()函数 的区别: 描述: zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象. 如果各个可迭代对象的元素个数不一致,则返回的对象长度与最短的可迭代对象相同. 利用 * 号操作符,与zip相反,进行解压. zip() 函数语法: zip(iterable1,iterable2, ...) 参数说明: iterable -- 一个或多个可迭代对象(字符串.列表.元祖.字典) 返回