Python中Function(函数)和methon(方法)

Python中Function(函数)和methon(方法)
标签: functionpythonclassfunmoduleobject
10333人阅读 评论(0) 收藏 举报
本文章已收录于:
分类:

Python中,对这两个东西有明确的规定:

函数function —— A series of statements which returns some value to a caller. It can also be passed zero or more arguments which may be used in the execution of the body.


方法method —— A function which is defined inside a class body. If called as an attribute of an instance of that class, the method will get the instance object as its first argument (which is usually called self).

从定义的角度上看,我们知道函数(function)就相当于一个数学公式,它理论上不与其它东西关系,它只需要相关的参数就可以。所以普通的在module中定义的称谓函数是很有道理的。
那么方法的意思就很明确了,它是与某个对象相互关联的,也就是说它的实现与某个对象有关联关系。这就是方法。虽然它的定义方式和函数是一样的。也就是说,在Class定义的函数就是方法。

从上面的角度看似乎很有道理。


>>> def fun():
pass
>>> type(fun)
< class 'function'> #没有问题


>>> class Cla():
def fun():
pass
@classmethod
def fun1(cls):
pass
@staticmethod
def fun2():
pass

>>> i=Cla()

>>> Cla.fun.__class__
< class 'function'> #为什么还是函数
>>> i.fun.__class__ #这个还像话
<class 'method'>

>>> type(Cla.fun1)
< class 'method'>   #这里又是方法
>>> type(i.fun1)
< class 'method'>    #这里仍然是方法

>>> type(Cla.fun2)
< class 'function'>   #这里却是函数
>>> type(i.fun2)
< class 'function'>    #这里却是函数
事实上,上面的结果是可以解释的:
1,普通方法(老版中直接就是"instancemethod")在module中与在Class中定义的普通函数,从其本身而言是没有什么区别的,他们都是对象函数属性。 之所以会被说在Class中的定义的函数被称为方法,是因为它本来就是面向将来的实例对象的,其实他们就是实例方法,这些方法是与实例相联系的(从实例出发访问该函数会自动赋值)。所以你从Class访问仍然是一个函数
2,类方法("classmethod"),因为类同样是对象,所以如果函数与类进行联系了话(与实例方法一样的模式)那么就能够这么说了!
3,静态方法,虽然定义在内部,并且也较方法,但是却不与任何对象联系,与从类访问方法是一样的,他们仍然是函数。

这样看来上面的定义可以改改了:
函数的定义自然不变。
方法的定义可以是这样的,与某个对象进行绑定使用的函数。注意哦。绑定不是指" . "这个符号,这个符号说实在的只有域名的作用。绑定在这里是指,会默认赋值该绑定的对象。

2
0
 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python函数function)是一段可重复使用的代码块,用于完成特定的任务。函数可以接受参数,也可以返回值。 函数的定义格式为: ``` def 函数名(参数列表): 函数体 return 返回值 ``` 其,参数列表和返回值可以省略。 函数的调用格式为: ``` 函数名(参数列表) ``` 例如,定义一个计算两个数之和的函数: ``` def add(a, b): return a + b ``` 调用该函数: ``` result = add(1, 2) print(result) # 输出3 ``` 函数的参数可以有默认值,这样在调用函数时可以不传递该参数: ``` def greet(name='world'): print('Hello, ' + name + '!') greet() # 输出Hello, world! greet('Alice') # 输出Hello, Alice! ``` 函数也可以返回多个值,这些值会被封装成一个元组: ``` def get_name_and_age(): return 'Alice', 18 name, age = get_name_and_age() print(name) # 输出Alice print(age) # 输出18 ``` 函数还可以作为参数传递给其他函数,这种函数称为高阶函数: ``` def add(a, b): return a + b def apply(func, a, b): return func(a, b) result = apply(add, 1, 2) print(result) # 输出3 ``` 以上就是Python函数的基本用法。 ### 回答2: Pythonfunction函数是指在程序可以被多次调用的代码块。这种函数的主要作用就是将一些常见的操作封装到一个代码块,使得程序变得更加模块化和可读性更高。 定义函数Python定义一个函数可以使用def关键字,语法如下: def function_name(args): # code 其function_name为函数名,args表示该函数的参数,可以有多个参数,多个参数之间用逗号分隔。在函数,我们可以执行一系列操作,这些操作可以包括控制流语句(如if语句、for语句等)、调用其他函数等。 调用函数 定义函数之后,我们可以在其他地方调用它,语法如下: function_name(arg1, arg2, ...) 其,arg1、arg2等表示参数的具体值。 函数返回值 函数执行完毕后,可以返回一个结果。在Python,可以使用return语句返回结果。例如: def add(a, b): return a + b 上面的代码定义了一个名为add的函数,用于将两个参数相加,并返回它们的和。 函数的参数类型 函数的参数可以是必须参数、关键字参数和默认参数。 必须参数:这是最常见的参数类型,上面的例子就展示了这种类型的参数,调用函数时必须传入这些参数。例如:add(1, 2)。 关键字参数:在调用函数时,可以通过指定参数名来传递参数的值。例如:add(a=1, b=2)。 默认参数:函数可以包含默认参数,当函数调用时没有传入这些参数值时,它们会使用默认值。例如: def add(a=0, b=0): return a + b 上面的代码,如果调用add(),则它的结果将为0。 函数的作用域 Python有两种作用域:全局作用域和局部作用域。 全局作用域:定义在函数外面的变量属于全局作用域,可以在任何函数使用。 局部作用域:函数内部定义的变量属于局部作用域,只能在函数内部使用。 总结 Pythonfunction函数可以是代码模块化的重要工具,使用它可以将一些常见的操作封装到一个代码块,提高程序的可读性和可维护性。在定义函数时,需要注意参数类型和作用域的问题。 ### 回答3: Python是一种简单而又强大的编程语言,它具有友好易学、高效实用等特点,并且它的基本语法也十分简便,其 function 函数Python 编程语言最常用的基本元素之一,它常用于封装重复执行的代码以及实现自定义的逻辑等。下面就让我们来了解一下 Python function 函数的用法吧。 1.定义函数Python 定义函数非常简单,只需要使用 def 关键字,加上函数名和参数列表即可。如下所示: def functionName(arg1,arg2,arg3): # do something... return something 其functionName 表示函数名,arg1,arg2,arg3 分别表示函数的参数,# do something...里面写上我们想要函数执行的代码,return something 表示返回值。 2.调用函数Python 调用函数也非常简单,只需要输入函数的名称,并传入相关的参数即可。当然,在调用函数之前,我们需要先定义好该函数才能调用。如下所示: functionName(arg1,arg2,arg3) 3.函数参数 Python 函数参数有两种形式:形式参数和实际参数。 形式参数:在函数定义时,括号的参数称为形式参数,它相当于变量的一个占位符,只有在函数被调用时,才会分配实际的值。例如: def example(arg1,arg2,arg3): print(arg1,arg2,arg3) 实际参数:在调用函数时,括号的参数称为实际参数,它是传递给函数的参数值,可以是常量、变量、表达式或函数等。例如: example(1,2,3) 在函数调用,参数的传递方式有两种:位置参数和关键字参数。位置参数是指按参数位顺序依次传递参数,而关键字参数则是通过参数名来指定参数的取值。 4.函数返回值 函数可以返回一个或多个值,通过 return 关键字进行返回。如下所示: def example(): return 1,2,3 a,b,c = example() print(a,b,c) 例如上面的例子,我们定义了一个 example 函数,它会返回 1,2,3 三个值,我们可以通过 a,b,c 三个变量来接收这三个返回值,并输出它们的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值