精华内容
下载资源
问答
  • python 类定义

    千次阅读 2014-10-11 14:29:35
    Python笔记——类定义 一、类定义: class : 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象 类的私有属性:...
    Python笔记——类定义
     
    一、类定义:
    class <类名>:
        <语句>
     
    类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性
    如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象
     
    类的私有属性:
    __private_attrs  两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问
    在类内部的方法中使用时 self.__private_attrs
     
     类的方法
    在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
     
      
    私有的类方法
    __private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用
    在类的内部调用slef.__private_methods
    类的专有方法:
    __init__  构造函数,在生成对象时调用
    __del__   析构函数,释放对象时使用
    __repr__ 打印,转换
    __setitem__按照索引赋值
    __getitem__按照索引获取值
    __len__获得长度
    __cmp__比较运算
    __call__函数调用
     
    __add__加运算
    __sub__减运算
    __mul__乘运算
    __div__除运算
    __mod__求余运算
    __pow__称方
    示例:
    [python] view plaincopyprint?
    #类定义  
    class people:  
        #定义基本属性  
        name = ''  
        age = 0  
        #定义私有属性,私有属性在类外部无法直接进行访问  
        __weight = 0  
        #定义构造方法  
        def __init__(self,n,a,w):  
            self.name = n  
            self.age = a  
            self.__weight = w  
        def speak(self):  
            print("%s is speaking: I am %d years old" %(self.name,self.age))  
      
      
    p = people('tom',10,30)  
    p.speak()  
    
     
     
    二、继承类定义:
    1.单继承
    class <类名>(父类名)
       <语句>
    eg.
    class childbook(book)
        age = 10
    [python] view plaincopyprint?
    #单继承示例  
    class student(people):  
        grade = ''  
        def __init__(self,n,a,w,g):  
            #调用父类的构函  
            people.__init__(self,n,a,w)  
            self.grade = g  
        #覆写父类的方法  
        def speak(self):  
            print("%s is speaking: I am %d years old,and I am in grade %d"%(self.name,self.age,self.grade))  
      
      
      
    s = student('ken',20,60,3)  
    s.speak()  
    
     
    2.类的多重继承
    class 类名(父类1,父类2,....,父类n)
         <语句1>
    需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索
    即方法在子类中未找到时,从左到右查找父类中是否包含方法
     
    [python] view plaincopyprint?
    #另一个类,多重继承之前的准备  
    class speaker():  
        topic = ''  
        name = ''  
        def __init__(self,n,t):  
            self.name = n  
            self.topic = t  
        def speak(self):  
            print("I am %s,I am a speaker!My topic is %s"%(self.name,self.topic))  
      
    #多重继承  
    class sample(speaker,student):  
        a =''  
        def __init__(self,n,a,w,g,t):  
            student.__init__(self,n,a,w,g)  
            speaker.__init__(self,n,t)  
      
    test = sample("Tim",25,80,4,"Python")  
    test.speak()#方法名同,默认调用的是在括号中排前地父类的方法  
    
     
    类方法的覆写——子类覆盖掉父类的方法
    def 方法名与父类一致
    若是在方法中要使用到父类方法 父类名.方法名
     
    若是将类放到了模块中
     
    使用时
    import A
    l = A.类()
    以上三段程序的执行结果:
    

    展开全文
  • python类定义

    千次阅读 2013-07-26 20:35:05
    在我的收藏中有一篇特别详细的讲解 ...class myclass: 'this is my first class of python' # foo是属性,相当于static foo是静态成员,可以用类名直接访问 foo=100 # myfun 是方法,必须由的实例

    在我的收藏中有一篇特别详细的类讲解

     此处部分内容引自:http://blog.sina.com.cn/s/blog_59b6af690101bfem.html

    class myclass:
    'this is my first class of python'

    # foo是类属性,相当于static foo是静态成员,可以用类名直接访问
    foo=100

    # myfun 是类方法,必须由类的实例来调用
    def myfun (self):
    print myclass.foo
    C=myclass()
    C.myfun()


    类的特殊属性

    myclass 是类定义

    print myclass.__name__ output:myclass貌似只有类定义有这个属性,类实例没有这个属性
    print myclass.__doc__ output:'this is my first class of python' 类的文档字符串
    print myclass.__dict__ output:类的所有属性和方法,只有类定义有,实例这个属性输出空
    print myclass.__module__ output:__main__类定义所在的模块

    C是类的实例

    print C.__doc__ output:'this is my first class of python' 类的文档字符串,实例也有此属性
    print C.__dict__ output:{} 实例没有这个属性,输出为空
    print C.__module__ output:__main__ 类定义所在的模块
    print C.__class__ output: myclass 实例对应的类名,仅实例有此属性

    类的构造

    class myclass:
    'this is my first class of python'
    foo=100
    def myfun (self):
    print "class's func "

    def __init__(self,msg='hello'):
    self.msglist=msg //实例属性可以动态的添加,此时是在构造时候添加完成
    print 'init'

    print myclass.foo
    C=myclass()
    C.myfun()
    print C.msglist

     

    注意,python可以灵活的随时为类或是其实例添加类成员,有点变态,而且实例自身添加的成员,与类定义无关:

    //添加一个类实例的成员

    C.name='genghao'

    现在实例C有了数据成员 name

    现在加入这两句

    print C.__dict__
    print myclass.__dict__

    可以看到类定义里面并没有添加成员name,说明它仅仅属于类的实例C

     

    类继承:

    class subclass(myclass):

             member='sdkfjq'

             def  func(self):

                    print "sdfa"

    多重继承:

    class multiple_inheritance(myclass,subclass,ortherclass):

                 def funy():

                          do what you want to do
     

    测试代码:

    class ttt:
        name= 42
      
        def __init__(self,voice='hello'):
            self.voice=voice#new member for class
        def member(self):
            self.name=63
            self.strane='st' #new member for class
        def say(self):
            print self.voice

    t= ttt()
    t.say()
    print t.name

    t.member()
    t.fuc='sdfa'#new member for instance of the class ttt
    print t.name

    print ttt.__name__

    print ttt.__dict__
    print t.__dict__
    print t.fuc

     

    展开全文
  • Python 类定义

    千次阅读 2010-09-16 15:12:00
    __init__ 1....在定义时需要明确指定self,但在调用方法时,不用指定它,Python会自动加上。   2. 在创建自己的时,__init__函数中需要显示地调用父类的__init__方法。   self

    __init__

    1. 在类的实例创建后被立即调用。

    每个类方法的第一个参数,包括__init__都是指向类的当前实例的引用。按习惯这个参数总是被称为self。在__init__方法中,self指向新创建的对象;在其他方法中,指向方法被调用的类实例。在定义时需要明确指定self,但在调用方法时,不用指定它,Python会自动加上。

     

    2. 在创建自己的类时,__init__函数中需要显示地调用父类的__init__方法。

     

    self

    在定义自己的类方法时,必须明确的将self作为每个方法的第一个参数列出,包括__init__。当从类中调用一个父类的一个方法时,必须包括self参数。当从外部调用方法时不需要对self指定任何值,Python会自动添加对实例的引用。

     

    展开全文
  • python类定义方法简述

    2019-03-08 15:05:46
    python 类定义的方法详解 类定义的方法分为三种: 静态方法:由@ staticmethod修饰 类方法:由@classmethod修饰 实例方法:不需要装饰器 示例: class A(object): def m1(self,n):#实例方法:第一个参数必须...

    python 类定义的方法详解
    类定义的方法分为三种:
    静态方法:由@ staticmethod修饰
    类方法:由@classmethod修饰
    实例方法:不需要装饰器
    示例:
    class A(object):
    def m1(self,n):#实例方法:第一个参数必须为self
    print(self)
    @classmethod#类方法:第一个参数必须为cls
    def m2(cls,n):
    print(cls)
    @staticmethod#静态方法
    def m3(n):
    pass
    a=A()#创建实例对象a
    print(A.m1(a,1))#1
    a.m1(2)#调用实例对象并传递给self绑定,即self和a都指向实例对象(隐式传递)
    A.m2(1)#同理,cls和A都指向类对象
    a.m2(1)#2
    A.m3(1)#3

    #1处:A.m1()没有绑定方法,必须显示传入实例方法
    如果是A.m1(1),则报错(TypeError: m1() missing 1 required positional argument: ‘n’)缺少参数
    #2处:a.m2(1)正确的原因是可以通过实例对象绑定到类对象上面
    #3处:静态方法,调用不需要传递类和实例,但是可以通过类和实例来调用。而在静态方法引用类属性时,必须通过类对象来引用

    展开全文
  • 文章目录PYTHON 类定义,属性,初始化类定义类的私有属性类方法类的初始化和析构初始化析构 PYTHON 类定义,属性,初始化 为了代码的编写方便简洁,引入了类的定义; 一般,使用 class 语句来创建一个新类,class...
  • python类定义的讲解

    千次阅读 2017-02-04 18:23:28
    python类定义的讲解 一、类定义: 复制代码 代码如下: class :   类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。如果直接使用类名修改其属性,那么将直接影响...
  • 类基础类进阶Python的类提供了面向对象编程的所有基本功能:Object类是所有类的父类(不需要明确指定);类允许继承多个基类(使用逗号分割...类定义类通过class定义,里面有属性与方法。classClassName:deffuns(self,a...
  • Python中的是一个抽象概念,比函数更抽象. 这是Python的核心概念. 面向对象的编程方法(OOP). 对象的编程语言.将对象面对对象(oop)是非常重要的知识点. 我们可以简单地将其视为数据的集合以及访问和操作这些数据的...
  • Python类定义字类变量与实例变量

    千次阅读 2018-01-19 11:02:01
    学过JAVA或C++等语言的程序员再去学Python类设计时感觉非常不适应,因为Python是在太自由了,让人无所适从,来python定义类时的变量来说,其定义方式、作用域、操作方法都与上述两种语言有更大的可操作空间。Python...
  • Python类定义和类继承详解

    千次阅读 2017-12-04 19:45:44
    一、类定义: ? 1 2 class :   类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属性,那么将直接影响到已经...
  • python类定义内部调用对象的实例  #coding:utf-8   class Newclass:  def __init__(self,intval = 1):  self.the_int = intval  if intval % 2 == 0:  self.parity = 'even'  else
  • Python类定义解析

    2013-05-25 15:04:40
    'this is my first class of python' # foo是属性,相当于staticfoo是静态成员,可以用类名直接访问 foo=100 #myfun 是方法,必须由的实例来调用 def myfun (self): print "class's func" printmyclass....
  • python 类定义和实例化使用

    千次阅读 2017-11-13 08:09:55
    单方面的记录一下简单的python类对象创建和实例化 0x00代码 # coding=utf-8 class Student(object): #构造函数 def __init__(self, _name, _age): #self 类似this指针 # self.name 定义类属性 self.name...
  • c#中可以定义一个空,但是python定义需要加pass class EmptyClass(object): pass python的lei是多继承 python子类继承了基类,如果子类也写了__init__,默认基类的__init__就不调用了。 并不...
  • 方法()=.方法(实例) class A: def print(self): print(self) a = A() a.print() A.print(a) &lt;__main__.A object at 0x0000021E7B6AA5C0&gt; &lt;__main__.A object at 0x0000021E7B6AA5C0&...
  • Python类定义、例化与调用

    千次阅读 2017-02-19 14:46:27
    类定义 class (object) attrs1 = xxx __arrts2 = xxx; def fun1(self, para1, para2, ...) def __fun2(self, para3, ...) ...其中 object代表父类,无父类可连同括号省略,attrs1, attrs2代表成员变量, ...
  • 有一个point,其坐标为(xp, yp);...定义一个——isPointInRect,其函数cross_product用来求由3个点组成的两个向量的叉积,函数compute_para用来获取4个参数。 class isPointInRect(object): def __int__(se...
  • #!/usr/bin/env python 3.7 # -*- coding: utf-8 -*- # @Time : 2018/9/29 20:44 # @Author : wkend ...# 定义一个,object表示People所继承的,若People没有自定义要继承的,统一用object, ...
  • 定义,属性和方法概念方法中self的作用和意义初始化( __init__ ) 和 析构方法( __del__ )定义class 类名实例实例名 = 类名()一个“实例”的“特征”,就是“属性”私有属性在python中有两种私有属性,分别是...
  • 在面向对象的程序设计过程中有两个重要概念:(class)和对象...Python 定义类的简单语法如下:class 类名:执行语句…零个到多个变量…零个到多个方法…类名只要是一个合法的标识符即可,但这仅仅满足的是 ...
  • Python class定义类,Python类定义(入门必读)

    千次阅读 多人点赞 2019-07-04 11:19:52
    在面向对象的程序设计过程中有两个重要概念:(class)和对象(object,也被称为实例,instance),其中...Python 定义类的简单语法如下: class 类名: 执行语句… 零个到多个变量… 零个到多个方法… ...
  • Python 详解,Python 定义Python 创建对象,Python 对象的使用。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,742
精华内容 13,096
关键字:

python类定义

python 订阅