python—类的属性和方法总结

一、类的属性总结(类的属性定义在方法外,对象的属性定义在方法内)

理解:

类的(静态)属性:(人类的五官,理解为变量)

类的(动态)方法:(人类吃穿住行,理解为一个函数,至少带一个参数self,指向类本身)

对象:类的实例化,之后才能有属性和方法

1)类的属性,也是公有属性;类的私有属性

2)对象的公有属性;对象的私有属性

3)函数局部变量;全局变量

4)内置属性

#!/usr/bin/env python
#encoding:utf-8

var6 = "全局变量var6"
class Myclass(object):
    var1 = "类的公有属性var1"
    __var2 = "类的私有属性_var2"
    
    def fun1(self):
        self.var3 = "方法的公有属性var3"
        self.__var4 = "方法的私有属性_var4"
        var5 = "函数的局部变量var5"
        print var5
        print var6
        
    def fun2(self):
        print self.var1
        print self.__var2
        
    def fun3(self):
        print self.var3
        print self.__var4
        
mc = Myclass()
print mc.var1  # 外部调用类的公有属性
print mc._Myclass__var2  # 外部调用类的私有属性,一般测试用

print Myclass.var1    # 通过类名调用类的公有属性
#print Myclass.__var2 # 不能通过类名调用类的私有属性
#print Myclass.var3   # 不能通过类名调用内部函数的公有属性和私有属性
#print Myclass.__var4

mc.fun1()
print mc.var3  # 外部调用方法(可以看成是带self的内部函数)的公有属性,前提是先实例化类并执行该方法
#print mc.__var4  # 外部不能调用方法的私有属性

mc = Myclass()
mc.fun2()  # 内部调用类的公有、私有属性

mc = Myclass()
mc.fun1()

mc.fun3()  # 内部函数可调用其他内部函数的公有、私有属性,前提是先实例化类并执行该方法

mc = Myclass()
print Myclass.__dict__  # 内置属性调用
时间: 2024-08-16 17:04:23

python—类的属性和方法总结的相关文章

小猿圈之Python 类的属性再解

python中万物皆对象,可见面向对象在python开发过程中是重中之重,小猿圈老师从基础详解面向对象,今天一起看一下python类的属性. 首先要知道python类的属性分为数据属性和实例属性,下面以具体实例来学习类的属性. #类的属性 class A(): #定义一个类的属性(数据属性),类似于c++中的静态变量 num=0 def __init__(self): #实例对象属性定义赋值 self.name = "hha" def add(self): #类属性的调用 A.num

python类的三种方法

一.先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法. ps.python中self,cls的区别 普通实例方法,第一个参数需要是self,它表示一个具体的实例本身.如果用了staticmethod,那么就可以无视这个self,而将这个方法当成一个普通的函数使用.而对于classmethod,它的第一个参数不是self,是cls,它表示这个类本身. # coding:utf-8 class Foo(object): """类三种方法语法形式"&

<九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性

设计类 --->设计类是系统实施中一个或多个对象的抽象.        --->设计类已经直接映射到实现代码了,因此设计类依赖于实施语言.另一方面,设计类来源于前期的系统分析,在统一过程中,类不是品空想像出来的.他们可以一一映射到前期系统分析的成果上.从这个观点出发,分析类的重要性就能够体现出来.分析类为设计类中多需要的界面,逻辑和数据提供了非常好的抽象基础,设计类可以非常容易和自然地从分析类中演化出来. 类        --->类对对象进行定义,而对象又实现(或成为实施)用例.类的来

关于对象、类、属性和方法的理解

文章开头申明:半路出家的野路子,可能个人理解有所欠缺,希望不吝赐教. 在初步学习java的过程中,往往都是绕不开面向对象的思想,说到对象或许挺多初学者和我一样只是听说过一个"万物皆对象"的说法,简单的记下对象包含属性和方法,然而实际使用的过程中往往有忽略这些东西,也就是犯浑了.个人的理解是希望将对象.类.属性和方法用一个例子来简单说明. 打个比方说我到商场买手机这个例子吧.我到了商场买手机,第一步自然就是向售货员提出我的要求:如手机大小.CPU.内存等等(属性),要求能拍照打电话首发短

波哥学JAVA,定义类 创建对象 实例化对象 属性 类调用属性或者方法

定义类 声明对象  创建对象 实例化对象 属性 对象调用属性或者方法 举例,下面定义类了一个类并声明属性,写了一个方法: 创建对象 实例化对象 属性 类调用属性或者方法

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找 //查找是否存在 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';   reg.RegEx  := '\d';   if reg.Match then     ShowMessage('找到了')   else     ShowMessage('

Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式

Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式 // MatchedExpression 与 SubExpressions[0] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007';   reg.RegEx  := 'Delphi';   while reg.MatchAgain do   begin    

Delphi 正则表达式之TPerlRegEx 类的属性与方法(4): Replace

Delphi 正则表达式之TPerlRegEx 类的属性与方法(4): Replace // Replace var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.RegEx  := 'ab';   reg.Replacement := '◆';   reg.Subject := 'ababab';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆◆◆  

Delphi 正则表达式之TPerlRegEx 类的属性与方法(5): Compile、Study

Delphi 正则表达式之TPerlRegEx 类的属性与方法(5): Compile.Study // Compile.Study var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.RegEx  := 'ab';   reg.Options := [preCaseLess];   reg.Compile; {编译表达式}   reg.Study; {Study 方法会检查是否编译, 如果没有编译则执行 Com