python方法是什么?

方法用来描述对象所具有的行为。

在类中定义的方法可以粗略分为四大类:公有方法、私有方法、静态方法、类方法。

公有方法、私有方法一般所指属于对象的实例方法,

私有方法的名字以两个下划线 __ 开始。

每个对象都有自己的公有方法和私有方法,在这两类方法中都可以访问属于类和对象的成员。

公有方法通过对象名直接调用,

私有方法不能通过对象名直接调用,只能在实例方法中通过 self 调用或者外部通过 python 支持的特殊方法来调用。

类的所有实例方法都必须至少有一个名为 self 的参数,并且必须所方法的第一个形参,self 参数代表对象自身。

在类的实例方法中访问实例属性时需要以 self 为前缀,但在外部通过对象名调用对象方法时并不需要传递这个参数,如果在外部通过类名调用属于对象的公有方法,需要显式为该方法的 self 参数传递一个对象名,用来明确指定访问哪个对象的数据成员。

静态方法和类方法都可以通过类名和对象名调用,但不能直接访问属于对象的成员,只能访问属于类的成员。一般将 cls 作为类方法的第一个参数,表示该类自身,在调用类方法时不需要为该参数传递值。

报错:

注:不同对象实例的数据成员之间互不影响,时不共享的。但同一个类的所有实例方法时在不同对象之间共享的,所有对象都执行相同的代码,通过 self 参数来判断要处理哪个对象的数据。

python 中,函数和方法时有区别的。方法一般指特定实例绑定的函数,通过对象调用方法时,对象本身将被作为第一个参数传递过去,普通函数没有此特点。

以上就是python方法是什么的详细内容.

python方法是什么?的更多相关文章

  1. C#中调用python方法

    最近因为项目设计,有部分使用Python脚本,因此代码中需要调用python方法. 1.首先,在c#中调用python必须安装IronPython,在 http://ironpython.codepl ...

  2. django中将views.py中的python方法传递给html模板文件

    常规的模板渲染 from django.db import models # Create your models here. class ArticalType(models.Model): cap ...

  3. [转载]Python方法绑定——Unbound/Bound method object的一些梳理

    本篇主要总结Python中绑定方法对象(Bound method object)和未绑定方法对象(Unboud method object)的区别和联系.主要目的是分清楚这两个极容易混淆的概念,顺便将 ...

  4. Python方法oslo_service.loopingcall.LoopingCallDone代码示例

    Python方法oslo_service.loopingcall.LoopingCallDone代码示例 demo: from oslo_service import loopingcall def ...

  5. odoo14 button 事件调用python方法如何传递参数

    1 <field name="user_ids" 2 mode="kanban" 3 nolabel="1" 4 options=&q ...

  6. python方法中的self

    前几天在写一个c作业时,突发奇想,在结构体中加入函数指针, 像这样: struct People { int _age; int (*age)(); }people; 这样调用时就可以 people. ...

  7. python 方法

    1.首先运行python交互模式 输入 python 2.定义一个有序的集合 相当于js中的数组它里面有一些增删改查的方法 1. 定义一个数组 >>> ww = ['1','2',' ...

  8. python 方法调用

    获取当前时间 today=time.strftime('%Y-%m-%d',time.localtime(time.time())) 取得时间相关的信息的话,要用到python time模块,pyth ...

  9. c#(IronPython)调用Python方法

    直接一段代码演示 public void StartTCP() { ScriptEngine engine = Python.CreateEngine(); var paths = engine.Ge ...

随机推荐

  1. zookeeper 集群相关配置实践

    一,zookeeper 集群下载及配置 1.1, 准备三台服务器node1,node2,node3. 1.2, [root@liunx local]#yum install -y java #安装ja ...

  2. charles SSL代理设置

    本文参考:charles SSL代理设置 charles SSL代理设置 SSL Proxying Srtting 这里最常用的设置就是第一个ssl proxying,这里记录了需要捕获哪些ssl的信 ...

  3. .Net Standard(.Net Core)实现获取配置信息

    一.前言 在.Net Framework框架有专门获取webconfig配置的方法供我们使用,但是在.Net Core或者.Net Standard中没有可以直接使用的方法来获取配置文件信息,下面就来 ...

  4. Oracle学习入门

    让学习成为一种习惯!

  5. 使用spring拦截器实现日志管理

    使用HandlerInterceptor拦截器,可以拦截请求,实现通用的日志管理操作 一.添加拦截器类 在"src/main/java"代码文件夹的"org.xs.dem ...

  6. (一)spring 高级装配-@Profile

    1.环境与profile 示例:数据库配置 a:通过@Bean注解,通过EmbeddedDatabaseBuilder创建数据源 @Bean(destroyMethod="shutdown& ...

  7. java中String常见问题

    java中String常见问题 1.字符串比较==和equals ==:比较的是对象,判断两个引用的是否为同一内存地址(物理对象) equals:比较的是值 2.通过空白字符拆封字符串 str.spi ...

  8. Spring 梳理-bean配置与装配

    1       bean配置与装配 1.1      bean在XML文件中进行显示配置并装配 1.2      bean在JavaConfig中显示配置并装配 1.2.1  优点:类型是安全的,编译 ...

  9. docker 运行容器时指定--sysctl参数来设置系统参数

    指定--sysctl参数来设置系统参数,通过这些参数来调整系统性能,Docker通过一个 ValidateSysctl函数来限制 sysctl参数可以传入的项,源码如下: // docker/opts ...

  10. 【SQL server基础】判断数据库、表格、视图、存储过程、函数书否存在

    库是否存在 if exists(select * from master..sysdatabases where name=N'库名') print 'exists' else print 'not ...