成员/方法/属性/私有
1.成员
类里面定义的变量和方法都被称为成员(字段)
创建对象:
找类---->开辟空间(__new__)------>__init__()
变量:
1.成员变量
2.类变量
类名.变量 记住一定要用类名去操作
可以绑定也可以修改
1 class StarkConfig(object): 2 list_display = [] 3 print("类变量的地址:", id(list_display)) 4 5 def __init__(self): 6 self.list_display = [] 7 print(id(self.list_display)) 8 9 def get_list_display(self): 10 self.list_display.insert(0, 33) 11 return self.list_display 12 13 14 s1 = StarkConfig() 15 s2 = StarkConfig() 16 r1 = s1.get_list_display() 17 print(r1) 18 r2 = s2.get_list_display() 19 print(r2) 20 """ 21 类变量的地址: 1885633733192 22 1885633733256 23 1885637388936 24 [33] 25 [33] 26 """ 27 28 class StarkConfig(object): 29 list_display = [] 30 print("类变量的地址:", id(list_display)) 31 32 # def __init__(self): 33 # self.list_display = [] 34 # print(id(self.list_display)) 35 36 def get_list_display(self): 37 self.list_display.insert(0, 33) 38 return self.list_display 39 40 41 s1 = StarkConfig() 42 s2 = StarkConfig() 43 r1 = s1.get_list_display() 44 print(r1) 45 r2 = s2.get_list_display() 46 print(r2) 47 """ 48 类变量的地址: 2554676732488 49 [33] 50 [33, 33] 51 """
View Code
2.方法:
1.成员实例方法 加了self的,调用必须用对象去访问
2.类方法
当方法需要传递类名的时候.需要类方法。在上方加@classmethod
3.静态方法 当你的方法不需要传递当前类的对象的时候
语法规则:在方法上面加@staticmethod
面试题:静态方法/类方法/实例方法的区别
3.属性:用方法来描述我们的属性信息
1.@property #表示当前方法是一个属性。方法的返回值就是这个属性的值
2.这个方法只能有一个参数self
3.必须有一个返回值
4.私有
只能在自己类里面访问的
__方法
__变量
__类变量
都是私有变量,别人访问不到 包括儿子
1 # 方法属性实例 2 class Person(object): 3 4 def __init__(self, name, gender, hobby, money): 5 self.name = name 6 self.gender = gender 7 self.hobby = hobby 8 self.__money = money 9 10 def show(self): 11 print("我有" + str(self.__money) + "元钱") 12 # 私有变量在外面不可直接访问 13 14 @staticmethod 15 def calc(a, b): 16 # 就是一个函数 用不到对象而已 17 return a + b 18 19 @classmethod 20 def classMethod(cls): 21 # 这里面cls是一个类 22 p = cls("小张", "xx", "chifan", 100) 23 print(type(p), id(p)) 24 25 @property # 直接当做一个属性来访问 不需要括号 26 def age(self): 27 return 10 28 29 30 # 关于调用 既然是类方法和静态方法 那么你当然要用类去调用啊 31 # 实例化一个类:1.找类名 2.__new__ 3.__init__() 32 p = Person("test", "不详", "睡觉", 1000000000) 33 p.show() 34 print(p.age) 35 print(Person.calc(2, 3)) 36 Person.classMethod() 37 """ 38 我有1000000000元钱 39 10 40 5 41 <class '__main__.Person'> 2363753049504 42 """
View Code
转载于:https://www.cnblogs.com/gaofeng-d/p/10593010.html
成员/方法/属性/私有相关推荐
- Python笔记 · 私有方法、私有属性 单下划线、双下划线
首先,不同于其他编程语言,Python中不存在真正意义上的"私有方法/属性",Python中所胃的"私有方法"要么基于约定,要么基于编译期的改写(Name Ma ...
- python 类 公有属性、私有属性、公有方法、私有方法
python 类 公有属性.私有属性.公有方法.私有方法 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Int ...
- python私有方法应用场景_Python私有属性私有方法应用实例解析
01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 ...
- Python学习10 内置属性 对象属性 类属性 私有属性 私有方法 对象方法 类方法 静态方法
内置属性 创建类时系统自动创建的属性 # 内置属性:dir(对象),列出所有的内置属性 class Person(object):'''Person类1'''# Person类2__slots__ = ...
- java mock私有方法_JMockit Mock 私有方法和私有属性
前面说过 JMockit 因身处前线,所以简直无不可,本节例子演示 JMockit 怎么 Mock 私有方法和私有属性,示例虽然是静态方法和属性,但因采用的是反射手法,所以这种 Deencapsula ...
- 一文搞懂 Python 私有属性 私有方法
1. 场景定义 私有属性 是指在 Python 的面向对象开发过程中,对象的某些属性只想在对象的内部被使用,但不想在外部被访问到这些属性. 即:私有属性是对象不愿意公开的属性. 私有方法 是指在 Py ...
- JMockit Mock 私有方法和私有属性
JMockit Mock 私有方法和私有属性 时间 2014-02-03 15:02:39 隔叶黄莺Unmi Blog 原文 http://unmi.cc/jmockit-mock-privat ...
- Python进阶-----面向对象2.0(特有属性和方法与私有属性和方法)
目录 前言: 1.添加特有属性/方法 示例1:添加特有属性 示例2:添加特有方法 2.私有属性/方法 (1)私有化示例 (2) 私有化属性/方法可以在类的内部使用 (3)强制访问私有化属性/方法 (4 ...
- 类的实例方法静态方法类方法属性方法属性
目录: 分类 实例方法 静态方法 类方法 属性方法 属性 分类: 按照调用方式可以分为3种,实例方法.静态方法.和类方法 实例方法 实例方法只能通过实例对象调用,不能通过类进行调用.实例方法再定义时候 ...
最新文章
- class viewController has no initializers解决办法
- MySQL 数据类型学习笔记
- python 笛卡尔积,排列,组合
- 从中间件到分布式数据库生态,ShardingSphere 5.x革新变旧
- cat命令读取一部分_脚本攻略2 --命令之花
- 模版:线段树合并+线段树分裂
- 怎么根据输入的n来输入n组数组_【题解一维数组】1106:年龄与疾病
- 阿里巴巴四十大盗教你零知识证明
- C++中打印可变参数函数输出到控制台
- 墨菲定律-感悟甚多,出于程序员用xmind做的
- 怎么批量查询银行卡号是哪个银行?
- N-Tiers设计系列(二):三层式应用系统架构
- 【重识云原生】第四章云网络4.8.4节——OpenStack与SDN的集成
- SpannableString字体大小自适应
- python中exec是什么意思_Python中的exec()
- 物联网技术部培训---贪心算法
- 解决 Android N 7.0 上 报错:android.os.FileUriExposedException
- SAP PP生产计划体系
- 基于Java毕业设计畜牧场信息管理系统源码+系统+mysql+lw文档+部署软件
- 域名的外属性价值千金!
热门文章
- TextTopicNet:CMU开源无标注高精度自监督模型
- 教你些技巧,用 Python 自动化办公做一些有趣的事情 太方便了
- 墨子科技成果是计算机,祖国强起来!为2017年这些重大科技成果打call
- 重磅更新!YoloV4最新论文!解读yolov4框架
- UML顺序图/序列图/时序图
- 译文 | 与TensorFlow的第一次接触 第四章:单层神经网络
- 上海东海学院计算机,上海东海职业技术学院
- java 的进程_windows 启动停止 java进程
- java date 转换sql date_java.util.Date和java.sql.Date之间的转换
- CentOS 7如何配置yum源