iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >基于Python函数和方法的区别有哪些
  • 549
分享到

基于Python函数和方法的区别有哪些

2023-06-14 07:06:30 549人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章给大家分享的是有关基于python函数和方法的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简单总结:与类和实例无绑定关系的function都属于函数(function);与类和实例有绑定关系的

这篇文章给大家分享的是有关基于python函数和方法的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

简单总结

与类和实例无绑定关系的function都属于函数(function);

与类和实例有绑定关系的function都属于方法(method)。

首先摒弃错误认知:并不是类中的调用都叫方法

函数(FunctionType)

函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。可以直接在模块中进行定义使用。 所有传递给函数的数据都是显式传递的。

方法(MethodType)

方法和函数类似,同样封装了独立的功能,但是方法是只能依靠类或者对象来调用的,表示针对性的操作。

方法中的数据self和cls是隐式传递的,即方法的调用者;

方法可以操作类内部的数据

简单的说,函数在Python中独立存在,可直接使用的,而方法是必须被别人调用才能实现的。

静态方法除外(与类和对象均无关,通过类名和对象名均可被调用,属函数)

在模块中实现的函数只要导入这个模块的这个函数既可以任意使用了,但是在类中声明的必须导入这个类之后然后再通过创建实例或者类名来调用。可以说直接在模块中声明的是更普遍广泛性的函数,而在类中声明的方法一般是专属于一类事物特有的

from types import MethodType,FunctionTypeclass Foo(object):  def __init__(self):   self.name="haiyan"  def func(self):   print(self.name)obj = Foo()print(isinstance(obj.func,FunctionType)) #Falseprint(isinstance(obj.func,MethodType)) #True #说明这是一个方法 print(isinstance(Foo.func,FunctionType)) #True #说明这是一个函数。print(isinstance(Foo.func,MethodType)) #False

是的!例子中很明确,类对象调用func是方法,类调用func是函数,并且是自己传递参数123!

注意,这只是在 python3 中才有的区分,python2 中全部称为方法。

最大的区别是参数的传递参数,方法是自动传参self,函数是主动传参

那么以后我们就可以直接看参数是如何传递的来判断,

如果还不确定可以打印类型看看

from types import FunctionType,MethodTypeprint(isinstance(obj.func,MethodType)) ---># Trueprint(isinstance(Foo.func,FunctionType)) ---># True

表面区别:

区别一所处的位置:函数是直接写文件中而不是class中,方法是只能写在class中。

区别二定义的方式:

函数定义的方式 def关键字 然后接函数名 再是括号 括号里面写形参也可以省略不写形参

def functionName(): """这里是函数的注释""" print("这一块写函数的内容"

方法定义的方式 首先方法是定义在类中的其他他大体和函数定义差不多,这里需要注意的一点就是方法必须带一个默认参数(相当于this),静态方法除外

class className(super):  def methodName(self):  """这里是方法的注释  self相当于this;  """  print("这里是方法的内容")

区别三调用的方式:

函数的调用:函数的调用是直接写 函数名(函数参数1,函数参数2,......)

def functionName(): print("这是一个函数") #调用functionName()

方法的调用:方法是通过对象点方法调用的(这里是指对象方法)

class className:  def method(self):  print("这是一个方法") #调用---------------------#实例化对象c=className() c.method()

python类的实例方法、静态方法和类方法区别及其应用场景

一、先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法。

ps.python中self,cls的区别

普通实例方法,第一个参数需要是self,它表示一个具体的实例本身。

如果用了staticmethod,那么就可以无视这个self,而将这个方法当成一个普通的函数使用。

而对于claSSMethod,它的第一个参数不是self,是cls,它表示这个类本身。

coding:utf-8class Foo(object): """类三种方法语法形式"""  def instance_method(self):  print("是类{}的实例方法,只能被实例对象调用".fORMat(Foo))  @staticmethod def static_method():  print("是静态方法")  @classmethod def class_method(cls):  print("是类方法") foo = Foo()foo.instance_method()foo.static_method()foo.class_method()print('----------------')Foo.static_method()Foo.class_method()

运行结果如下

是类<class '__main__.Foo'>的实例方法,只能被实例对象调用

是静态方法

是类方法

----------------

是静态方法

是类方法

说明:

实例方法只能被实例对象调用,静态方法(由@staticmethod装饰的方法)、类方法(由@classmethod装饰的方法),可以被类或类的实例对象调用。

实例方法,第一个参数必须要默认传实例对象,一般习惯用self。

静态方法,参数没有要求。

类方法,第一个参数必须要默认传类,一般习惯用cls。

补充:python方法和函数集锦

方法的使用: 变量.方法名(参数)

函数的使用: 函数名(参数)

字符串

1、删除空白

rstrip(): 返回去掉尾部的空格后的字符串。(不改变原字符串)

lstrip(): 去掉首部空格

strip(): 去掉两端的空格

2、修改字符串大小写

title(): 以首字母大写的方式显示每个单词

upper(): 将字符串转换为全部大写

lower(): 将字符串转换为全部小写

name = "ada lovelace" print(name.title())# => Ada Lovelace print(name.upper())# => ADA LOVELACE print(name.lower())# => ada lovelace

数字、浮点数

1、类型转换

str():将数字类型用作字符串

列表

1、添加元素

append(): 在列表末尾添加元素 insert(index, value): 在列表索引位置添加新元素

2、删除元素

del语句

pop(): 删除列表末尾元素

pop(index): 删除指定索引位置的元素

remove(value): 删除指定值的元素(第一次出现值)

3、排序

列举的方法只适用于所有元素都是小写字母的列表,如果是大写字母和小写字母混合的情况,因为解读大写字母的方式有多种,所以需要进一步指定准确的排列方法才行。

(1) 永久性修改

sort(): 按列表元素首字母排序。(直接修改原列表)

sort(reverse = True): 按列表元素首字母倒序排序。

使用:arr.sort()

(2) 临时排序(返回排序后的列表,不改变原列表)

sorted():按列表元素首字母排序。 sorted(arr, reverse = True): 按列表元素首字母倒序排序使用:sorted(arr)

4、倒着打印列表

reverse()

反转列表元素的顺序,但并不进行排序处理。永久性修改列表元素的排列顺序。但是可再次使用reverse()方法反转恢复

5、确定列表的长度

len(arr)

感谢各位的阅读!关于“基于Python函数和方法的区别有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 基于Python函数和方法的区别有哪些

本文链接: https://www.lsjlt.com/news/268701.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于Python函数和方法的区别有哪些
    这篇文章给大家分享的是有关基于Python函数和方法的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简单总结:与类和实例无绑定关系的function都属于函数(function);与类和实例有绑定关系的...
    99+
    2023-06-14
  • 基于Python 函数和方法的区别说明
    简单总结: 1、与类和实例无绑定关系的function都属于函数(function); 2、与类和实例有绑定关系的function都属于方法(method)。 首先摒弃错误认知:并不...
    99+
    2022-11-11
  • java 方法和函数的区别有哪些
    面向对象的语言叫方法,面向过程的语言叫函数。在java中没有函数这么一说,只有方法一说。实际上方法就是函数,函数就是方法,只是在不同的语言不同的称呼而已。一句话告诉你如何区分函数与方法:函数是大家的函数,方法是类的方法。如何区分一个ITer...
    99+
    2014-07-09
    java教程 java 方法 函数 区别
  • go语言中方法和函数的区别有哪些
    本文小编为大家详细介绍“go语言中方法和函数的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言中方法和函数的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。区别:1、函数function...
    99+
    2023-07-04
  • PHP5和PHP7之间有哪些关于获取函数的区别
    这篇文章主要讲解了“PHP5和PHP7之间有哪些关于获取函数的区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP5和PHP7之间有哪些关于获取函数的区别”吧!在 PHP5 和 PHP7...
    99+
    2023-06-25
  • Python-list中的append()和extend()方法有哪些区别
    小编给大家分享一下Python-list中的append()和extend()方法有哪些区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 一、append()和extend()方法都是...
    99+
    2022-10-19
  • 基于ScheduledExecutorService的方法有哪些
    这篇文章主要介绍基于ScheduledExecutorService的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!开发中,往往遇到另起线程执行其他代码的情况,用java定时任务接口ScheduledExe...
    99+
    2023-05-31
    scheduledexecutorservice
  • python中的 sorted()函数和sort()方法区别
    目录1.sort()2.sorted()3.sorted()操作列表4.sorted()排序字典①参数key:使用lambda定义②参数key:使用itemgetter直接生成1.s...
    99+
    2022-11-13
  • Ruby和Java的基础语法有哪些区别
    本篇内容主要讲解“Ruby和Java的基础语法有哪些区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ruby和Java的基础语法有哪些区别”吧!前言这篇文章示例代码比较多, Java 程序员可...
    99+
    2023-06-16
  • javascript对象和函数的区别有哪些
    本篇内容主要讲解“javascript对象和函数的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript对象和函数的区别有哪些”吧! ...
    99+
    2022-10-19
  • es5函数和es6箭头函数有哪些区别
    本篇内容介绍了“es5函数和es6箭头函数有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:1、写法不同,ES6箭头函数为“()...
    99+
    2023-07-04
  • PHP函数和方法有什么区别
    今天小编给大家分享一下PHP函数和方法有什么区别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。PHP函数是一段可重复使用的代...
    99+
    2023-07-05
  • GET和POST两种基本请求方法的区别有哪些
    本篇内容主要讲解“GET和POST两种基本请求方法的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GET和POST两种基本请求方法的区别有哪些”吧!G...
    99+
    2022-10-19
  • es6箭头函数和普通函数的区别有哪些
    这篇文章主要介绍“es6箭头函数和普通函数的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6箭头函数和普通函数的区别有哪些”文章能帮助大家解决问题。ES6 箭头函数的主要区别如下:&n...
    99+
    2023-06-17
  • python内置函数和内置方法有什么区别
    python中内置函数与内置方法的区别有以下几种作用域不同内置函数的作用域:从函数调用开始至函数执行完成,返回给调用者后,在执行过程中开辟的空间会自动释放,也就是说函数执行完成后,函数体内部通过赋值等方式修改变量的值不会保留,会随着返回给调...
    99+
    2022-10-18
  • php中intval和floor函数的区别有哪些
    本篇内容主要讲解“php中intval和floor函数的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php中intval和floor函数的区别有哪些”吧!区别:1、intval()函...
    99+
    2023-06-29
  • pycharm和python的区别有哪些
    PyCharm 是一个 Python 集成开发环境(IDE),而 Python 是一种编程语言。它们之间的区别如下:1. 功能:Py...
    99+
    2023-09-21
    python pycharm
  • C++中成员函数和友元函数的区别有哪些
    C++中成员函数和友元函数之间有以下几点区别:1. 访问权限:成员函数可以直接访问类的私有成员和保护成员,而友元函数可以在类的外部访...
    99+
    2023-08-16
    C++
  • es6中箭头函数和普通函数的区别有哪些
    这篇文章主要介绍es6中箭头函数和普通函数的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 区别:1、箭头函数的定义要比普通函数定义简洁、清晰得...
    99+
    2022-10-19
  • Python中range函数的基本用法有哪些
    本篇内容主要讲解“Python中range函数的基本用法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中range函数的基本用法有哪些”吧!1、range() 是什么?它的语法...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作