属性被分为八大类不包括_Python语言---私有属性

11ec4da8ea4017606c011721f003e149.png

属性分为实例属性与类属性

方法分为普通方法,类方法,静态方法

一:属性:

   尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例属性在每创造一个实例时都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同。从而减少内存。

  1:实例属性:

    最好在__init__(self,...)中初始化

    内部调用时都需要加上self.

    外部调用时用instancename.propertyname

  2:类属性:

    在__init__()外初始化

    在内部用classname.类属性名调用

    外部既可以用classname.类属性名又可以用instancename.类属性名来调用

  3:私有属性:

    1):单下划线_开头:只是告诉别人这是私有属性,外部依然可以访问更改

    2):双下划线__开头:外部不可通过instancename.propertyname来访问或者更改

      实际将其转化为了_classname__propertyname

二:方法

  1:普通类方法:

    def fun_name(self,...):

      pass

    外部用实例调用

  2:静态方法:@staticmethod

      不能访问实例属性!!! 参数不能传入self!!!

      与类相关但是不依赖类与实例的方法!!

  3:类方法:@classmethod

      不能访问实例属性!!! 参数必须传入cls!!!

      必须传入cls参数(即代表了此类对象-----区别------self代表实例对象),并且用此来调用类属性:cls.类属性名

  *静态方法与类方法都可以通过类或者实例来调用。其两个的特点都是不能够调用实例属性

class A:  member = "this is a test."  def __init__(self):  pass  @classmethod  def Print1(cls):  print "print 1: ", cls.member  def Print2(self):  print "print 2: ", self.member  @classmethod      def Print3(paraTest):  print "print 3: ", paraTest.member  @staticmethod  def print4():  print "hello"  

总结:类属性与类方法是类固有的方法与属性,不会因为实例不同而改变,写他们的目的是减少多实例时所创造出来的内存空间,加快运行速度。

-----尚学堂百战程序员笔记(18)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS 文本溢出时显示省略标记

如标题所示... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <meta http-equiv"Content…

Jenkins分层作业和作业状态汇总

您可能知道&#xff0c;Jenkins是高度可配置的CI服务器。 我们可以设置不同的自定义构建过程。 我将分享一些我用来设置Jenkins工作层次的方法。 这是用例&#xff1a; 我们有一个主入口作业被调用以启动整个构建过程。 这项工作可以有一个到多个子工作。 &#xff08;第2级&…

【Python Programe】WSGI (Web Server Gateway Interface)

Part1: What is a Web server? 一个位于物理服务器上的网络服务器&#xff08;服务器里的服务器&#xff09;&#xff0c;等待客户端去发送request&#xff0c;当服务器接收到request&#xff0c;就会生成一个response发送回客户端&#xff1b; 客户端与服务器使用HTTP协议进…

Redis配置文件配置

Spring和Redis整合&#xff1a; 配置applicationContext-redis.xml&#xff0c;添加Redis服务&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:context"ht…

华大单片机m4内核的滴答定时器_微处理器、单片机及其外设,处理还是控制?...

每项新应用设计都需要一个单片机或微处理器。当在两者之间选择其一时&#xff0c;需要考虑一些因素。以下是微处理器、单片机以及异构架构的概述。考虑选择微处理器(MPU)或者单片机(MCU)时&#xff0c;应用类型通常是关键因素。另一方面&#xff0c;最终选择取决于诸如操作系统…

option标签selected=selected属性失效的问题

要在select标签上面加上autocomplete"off"关闭自动完成&#xff0c;不然浏览器每次刷新后将自动选择上一次关闭时的option&#xff0c;这样默认属性selected"selected"就会失效啦 要记住每次遇到select标签时就最好要加上autocomplete"off"这一项…

Spring集成–从头开始应用程序,第2部分

这是本教程的第二部分&#xff0c;我们将使用Spring Integration创建发票处理应用程序。 如果您错过了它&#xff0c;一定要看一下第一部分 。 以前&#xff0c;我们已经定义了系统的功能要求&#xff0c;创建了网关&#xff0c;分离器&#xff0c;过滤器和路由器组件。 让我们…

H5添加禁止缩放功能

<meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, minimum-scale1.0, user-scalableno, target-densitydpidevice-dpi" />

安装提示卸载office_office2010 卸载工具

点击上方“蓝字”&#xff0c;关注我们获取更多免费资源我们为什么要用这个office2010卸载工具呢&#xff0c;很简单旧版本的office卸载不干净&#xff0c;在安装新版本的office时可能会遇到一些奇奇怪怪的问题。如果遇到无法安装office时&#xff0c;我们可以先使用office卸载…

C++primer 15.6节练习

练习15.23 1 class Base {2 public:3 virtual int fcn();4 };5 6 class D1 : public Base {7 public:8 int fcn();9 virtual void f2(); 10 }; 11 12 class D2 : public D1 { 13 public: 14 int fcn(int); 15 int fcn(); 16 void f2(); 17 }; 18 跟bp…

Java中Comparator和Comparable之间的区别

常见的面试问题之一是“比较器和可比较器之间有什么区别”。 或“您将如何通过其ID或名称对员工对象集合进行排序”。为此&#xff0c;我们可以使用两个接口&#xff0c;即Comparator和Comparable。在我们真正看到差异之前&#xff0c;让我简要介绍一下两者。 可比接口&#x…

bzoj2375 疯狂的涂色

疯狂的涂色 Time Limit: 5 Sec Memory Limit: 128 MB Description 小t非常喜爱画画&#xff0c;但是他还是一个初学者。他最近费尽千辛万苦才拜到已仙逝的达芬奇为师&#xff08;神仙&#xff1f;妖怪&#xff1f;谢谢&#xff09;。达芬奇果然是画鸡蛋长大的&#xff0c;让小t…

人工通道会取消吗_二七政策将用于ETC?高速或将取消人工收费通道

随着社会的发展&#xff0c;有车一族越来越多&#xff0c;但是在这种情况下&#xff0c;堵车的情况就随处可见了&#xff0c;并且随着车辆的增多&#xff0c;高速收费通道的成本也增加了不少&#xff0c;而且通过时间越来越长&#xff0c;面对这种情况&#xff0c;交通局就和银…

零基础的前端开发初学者应如何系统地学习?

网站开发开发大致分为前端和后端&#xff0c;前端主要负责实现视觉和交互效果&#xff0c;以及与服务器通信&#xff0c;完成业务逻辑。其核心价值在于对用户体验的追求。可以按如下思路学习系统学习&#xff1a; 基础知识&#xff1a; html css 这部分建议在 w3school 在线教…

《大道至简》第一章读后感(java伪代码形式编写)

public class DaDaoZhiJianDiYiDuan { //一.愚公移山 //问题&#xff1a;怎样把山移完 //愚公移山是一个项目 if(愚公死) { 有子存焉&#xff1b; while&#xff08;山不平&#xff09; { 子又生孙&#xff0c;孙又生子&#xff1b; 子去移山&#xff1b; } } else 愚公移山&am…

在Oracle Cloud上的Prime-UI,JAX-RS和Jersey和Gson

如今&#xff0c;Oracle云无处不在。 最初&#xff0c;拉里&#xff08;Larry&#xff09;否认在很长一段时间内都需要云&#xff0c;并且在去年的开放世界&#xff08;Open World&#xff09;之后就宣布了一些非常早期的公告&#xff0c;而且可用性很差&#xff0c;似乎没有人…

【RabbitMQ】2、心得总结,资料汇总

Spring AMQP中文文档 http://ju.outofmemory.cn/entry/320538 云栖社区 https://yq.aliyun.com/search?qrabbitmq&typeARTICLE RabbitMQ-JAVA常见报错信息 &#xff0c; https://yq.aliyun.com/articles/175024CentOS7环境下安装RabbitMQ&#xff0c; http://t.cn/RCtr…

推荐20个很有帮助的 Web 前端开发教程

在平常的搜索中&#xff0c;我碰到过很多有趣的信息&#xff0c;应用程序和文档&#xff0c;我把它们整理在下面这个列表。这是收藏的遇到的有用内容的一个伟大的方式&#xff0c;可以在你需要的时候方便查阅。相信你会在这个列表中发现对你很有用的资料。 1. CSS Vocabulary 一…

Scrapy爬虫框架解析

Scrapy框架解析Scrapy框架大致包括以下几个组件&#xff1a;Scrapy Engine、Spiders、Scheduler、Item Pipeline、Downloader&#xff1b;组件Scrapy Engine这是框架的核心&#xff0c;负责控制数据流在整个系统的各个组件间的流动过程&#xff0c;并且在特定动作发生时触发相应…

Couchbase 2.0归类视图简介

大多数应用程序必须处理“主/详细”类型的数据&#xff1a; 啤酒厂和啤酒 部门和员工 发票和项目 … 例如&#xff0c;这对于创建如下应用程序视图是必需的&#xff1a; 借助Couchbase和许多面向文档的数据库&#xff0c;您可以采用不同的方式来处理此问题&#xff0c;您…