#类成员:
#字段 self.xy =qq 。 xy=qq
#普通字段 (保存在对象里面)
#直接通过点(.)+ 字段 进行调用
#静态字段 (保存在类里面)
#静态字段属于类,在内存只保留一份 。 把公共的字段 放到类中 ,节省内存等好处
#代码从上到下解释到类就创建了
#可以通过 类.静态字段 进行访问
#方法 def xx()
# (保存在类里面)
#通过点(.) + 方法名 + 括号 进行调研
#通过 类 点(.) 方法名也可以调用 。 还是要在前面先实例化一个对象 #静态字段
class human:
address = "earth" #静态字段
def __init__(self,age):
self.age = age # 普通字段 h1 = human('20')
print(human.address) #通过类访问 静态字段
print(h1.address) #通过对象访问 静态字段 : 对象--> 类 --> 静态字段
print(h1.age) #通过对象访问 普通字段 #静态方法
class Foo:
def bar(self):
print('普通方法')
@staticmethod # 添加此装饰器后变成静态方法
def bar1(a): # 此处已经不需要self 了
print('静态方法:%s' %a) #f=Foo() # 不需要创建对象,也可以直接调用静态方法 (相当于一个函数了)
Foo.bar1(100) #通过类直接调用 #类方法
class Foo:
@classmethod
def classmd(cls): # cls 和 self意义差不多 ,此处写成 cls 。 cls 是当前类
print(cls) # cls 是类名,自动会传入
print('类方法') Foo.classmd() #属性
class Foo:
@property # 加了这个装饰器,p1 这个方法 调用起来就也可以和字段一样调用了。
def p1(self):
return 123
@p1.setter
def p1(self,var):
print(var)
@p1.deleter
def p1(self):
print('xx')
obj = Foo()
r=obj.p1 # 直接调用不需要括号 , 会直接调用 @property 下的 p1
print(r)
obj.p1=100 # 给他赋值(实际不会赋值), 会执行@p1.setter 下面的p1 (里面具体想做什么,你可以自己写) # 就是一个语法对应关系 和 赋值没关系
del obj.p1 # 删除它 (实际不会删除它), 会执行 @p1.deleter 下面的p1 # 就是一个语法对应关系 del 只是语法 不会删除的

python面向对象的成员、属性等的更多相关文章

  1. JavaScript面向对象(二)——成员属性、静态属性、原型属性与JS原型链

      前  言 JRedu 上一篇博客中,我们介绍了JS中的面向对象,并详细的解释了this的指向问题.本篇博客,我们继续来学习JS的面向对象.来深入理解一下JavaScript OOP中的成员属性/方 ...

  2. python 面向对象类成员(字段 方法 属性)

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...

  3. Python面向对象之成员修饰符

    对于这些类成员有修饰符 之前定义字段country任何对象都可以访问,是公有的 可以定义为私用属性,只有类内部的方法可以调用,外部不能直接调用,但是可以间接调用 vim day7-10.py #!/u ...

  4. python面向对象之类成员

    面向对象编程: OOP编程是利用类和对象来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得简单,并可以大大提高程序开发效率.另外,基于面向对象的程序可 ...

  5. python面向对象之类成员修饰符

      类的所有成员分为: 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能访问 私有成员和公有成员的定义不同:私有成员命名时,前两个字符是下划线.(特殊成员除外,例如:__init__.__c ...

  6. Python面向对象-类成员

    类的成员可以分为三大类:字段.方法和属性: 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在 ...

  7. Python面向对象之私有属性和私有方法

    01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象  ...

  8. python面向对象之静态属性/静态方法/类方法/组合

    继续学习,不要松懈 #!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self ...

  9. python 面向对象(二)成员

    ##################################总结########################### 类的成员: 变量: 实例变量      对象.属性=xxx 类变量    ...

随机推荐

  1. C# 3.0的新特性

    自动属性. 之前定义属性的步骤: private filed + public property. 现在的形式:int id{get;set;}. 可以分别设置get/set的保护级别(protect ...

  2. sql:String格式转换为时间进行比较

    字符串的格式为 yyyy-MM-dd HH:mm:ss str_to_date(a.time, '%Y-%m-%d %k:%i') < str_to_date(b.time, '%Y-%m-%d ...

  3. java 读写分离

    源码地址:http://git.oschina.net/xiaochangwei 先回答下 1.为啥要读写分离? 大家都知道最初开始,一个项目对应一个数据库,基本是一对一的,但是由于后来用户及数据还有 ...

  4. pgpool中定义的数据库节点及pgpool支持的复制模式

    /* * The first DB node id appears in pgpool.conf or the first "live" DB * node otherwise.  ...

  5. Smalltalk

    Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was o ...

  6. getattibute 与 getparameter区别

    1.getAttribute是取得jsp中 用setAttribute设定的attribute 2.parameter得到的是string:attribute得到的是object  3.request ...

  7. mybatis中if及concat函数的使用

  8. Spark 代码走读之 Cache

    Spark是基于内存的计算模型,但是当compute chain非常长或者某个计算代价非常大时,能将某些计算的结果进行缓存就显得很方便了.Spark提供了两种缓存的方法 Cache 和 checkPo ...

  9. 字典树Trie Tree

    又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串的公共前缀 ...

  10. django-2-路由配置及渲染方式

    <<<视图>>> (1)首先要注册创建好的app (2)配置路由 在app目录下新建一个urls.py模块 模块里面复制myproject目录下urls.py里面的 ...