python面向对象的成员、属性等

#类成员:    #字段   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 下的 p1print(r)obj.p1=100   # 给他赋值(实际不会赋值),  会执行@p1.setter 下面的p1  (里面具体想做什么,你可以自己写)  #  就是一个语法对应关系 和 赋值没关系del obj.p1   # 删除它 (实际不会删除它), 会执行 @p1.deleter 下面的p1                              # 就是一个语法对应关系   del 只是语法   不会删除的
时间: 2024-10-20 07:50:08

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

python面向对象之类成员

一.概述 上篇<python面向对象OOP>介绍了python面向对象的基础初级入门部分,提到了类的定义,使用,类的三大特性;经典类,新式类在查找时的区别等,有了前面的基础,本文接着描述面向对象中类成员;先整体描述下,类中的成员分以下几部分: #类成员  #字段(属性):      普通字段  属于对象,保存在对象中,只能通过对象访问      静态字段  属于类,保存(一份)在类中(所有对象共享的字段属性),执行时可以是类访问也可以是对象访问  #方法:      普通方法  保存在类中,又

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

前  言 上一篇博客(https://www.cnblogs.com/qdjianghao/p/10177360.html )中,我们介绍了JS中的面向对象,并详细的解释了this的指向问题.本篇博客,我们继续来学习JS的面向对象.来深入理解一下JavaScript OOP中的成员属性/方法.静态属性/方法.原型属性/方法,并且一起来探讨一下JS中的原型与原型链. 一 成员属性与成员方法 在构造函数中,通过this.属性声明.或者实例化出对象后,通过"对象.属性"追加的.都属于成员属性

Python面向对象-类成员

类的成员可以分为三大类:字段.方法和属性: 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. (一)字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同 1 class Province: 2 # 静态字段 3 country = "China" 4 5 def __init__(self, name): 6 #

Python 面向对象和实例属性

一.三大编程范式 编程范式即编程的方法论,标识一种编程风格. 我们学习完Python语法后,就可以写python代码了,然后每个人写代码的风格不同,这些不同的风格就代表了不同的流派. 如果把python的基本语法比作无数的基本功,那么不同的编程风格就好比不同的武林门派. 虽然大家风格不同,但是都可以完成你的编程需求,Python是一门面向对象编程语言,但是到目前为止,你从未接触面向对象编程,然而你已经可以解决很多问题了,在Python中并没有人强制你使用哪一种固定的风格. 根本就没有什么门派是天

Python面向对象特殊成员

类的特殊成员之call #!/usr/bin/env python # _*_coding:utf-8 _*_ class SpecialMembers:    # 类的构造方法    def __init__(self):        print("My Blog is Url: http://yw666.blog.51cto.com")    # 对象的构造方法    def __call__(self):        print("My Name is: Yangw

Python面向对象类成员特性

特性的存在就是将方法伪装成字段. property 把类方法当做普通字段去调用,即用对象调用的时候后面不用加括号 #!/usr/bin/env python # _*_coding:utf-8 _*_ class Foo:    @property    def Characteristic(self):        print("类方法的特性") # 创建一个对象 obj = Foo() # 调用类方法的时候方法后面不用加括号 obj.Characteristic 输出 /usr/

python 面向对象六 类属性和实例属性

一.实例属性 Python是动态语言,根据类创建的实例可以任意绑定属性. 1 >>> class Student(object): 2 ... def __init__(self, name): 3 ... self.name = name # 每个实例必须的属性 4 ... 5 >>> s = Student('Jack') 6 >>> s.score = 90 # 任意绑定属性 7 >>> s.name 8 'Jack' 9 &g

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

#!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self.Name = name self.Addr = addr self.Type = type def details(self): print("学样的详细信息, 名称:%s 地址:%s 类型:%s" %(self.Name,self.Addr,self.Type) ) c1 = Campus("南

python面向对象之成员

成员在类中写的所有内容都是类的成员 变量实例变量: 由对象去访问的变量 class Person: def __init__(self,name,birth): self.name = name # 实例变量,对象里的变量(对象.属性) self.birth = birth p = Person('bob','1900') print(p.name) print(p.birth) p.birth = 1937 print(p.birth) 结果 bob 1900 1937 类变量: 变量属于类,