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

    2018-07-06 10:13:42
    定义一个类,格式如下:class 类名: 方法列表 demo:定义一个Hero类# class Hero: # 经典类(旧式类)定义形式 # class Hero(): class Hero(object): #...说明:定义类时有2种形式:新式类和经典类,上面代码中的H...

    定义一个类,格式如下:

    class 类名:
        方法列表
    

    demo:定义一个Hero类

    # class Hero:  # 经典类(旧式类)定义形式
    # class Hero():
    
    class Hero(object):  # 新式类定义形式
        def info(self):
            print("英雄各有见,何必问出处。")
    

    说明:

    • 定义类时有2种形式:新式类和经典类,上面代码中的Hero为新式类,前两行注释部分则为经典类;

    • object 是Python 里所有类的最顶级父类;

    • 类名 的命名规则按照"大驼峰命名法";

    • info 是一个实例方法,第一个参数一般是self,表示实例对象本身,当然了可以将self换为其它的名字,其作用是一个变量 这个变量指向了实例对象
    展开全文
  • Python定义类

    2017-05-06 10:01:32
    使用class定义类: 每个定义的类都有一个特殊的方法,名为__init__(),可以通过这个方法控制如何初始化对象。 创建对象实例 注意:Python中没有定义构造函数“new”的概念,Python会为你完成对象创建。然后你可以...

    使用class定义类:

    每个定义的类都有一个特殊的方法,名为__init__(),可以通过这个方法控制如何初始化对象。

    创建对象实例


    注意:Python中没有定义构造函数“new”的概念,Python会为你完成对象创建。然后你可以使用__init__()定制对象的初始状态。



    class Athlete:
            def __init__(self,a_name,a_dob=None,a_times=[]):
                    self.name=a_name
                    self.dob=a_dob
                    self.times=a_times
            def top3(self):
                    return sorted(set([nester.sanitize(t) for t in self.times]))[0:3]


    def get_coach_data_new2(filename):
        try:
            with open(filename) as f:
                data = f.readline().strip().split(',')
            return Athlete(data.pop(0),data.pop(0),data)
        except IOError as ioerr:
            print('File error:'+str(ioerr))
            return(None)


    运行:
    sarah = get_coach_data_new2("sarah2.txt")
    print(sarah.name+"'s fastest times are "+str(sarah.top3()))


    运行结果:
    Sarah Sweeney's fasters times are ['2.18', '2.21', '2.22']

    
    
    
    
    
    
    展开全文
  • 在面向对象的程序设计过程中有两个重要概念:类(class)和对象...Python 定义类的简单语法如下:class 类名:执行语句…零个到多个类变量…零个到多个方法…类名只要是一个合法的标识符即可,但这仅仅满足的是 ...

    在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。从这个意义上看,日常所说的人,其实都是人的对象,而不是人类。

    Python 定义类的简单语法如下:

    class 类名:

    执行语句…

    零个到多个类变量…

    零个到多个方法…

    类名只要是一个合法的标识符即可,但这仅仅满足的是 Python 的语法要求:如果从程序的可读性方面来看,Python 的类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。

    从上面定义来看,Python 的类定义有点像函数定义,都是以冒号(:)作为类体的开始,以统一缩进的部分作为类体的。区别只是函数定义使用 def 关键字,而类定义则使用 class 关键字。

    Python 的类定义由类头(指 class 关键字和类名部分)和统一缩进的类体构成,在类体中最主要的两个成员就是类变量和方法。如果不为类定义任何类变量和方法,那么这个类就相当于一个空类,如果空类不需要其他可执行语句,则可使用 pass 语句作为占位符。例如,如下类定义是允许的:

    class Empty: pass

    通常来说,空类没有太大的实际意义。

    类中各成员之间的定义顺序没有任何影响,各成员之间可以相互调用。

    Python 类所包含的最重要的两个成员就是变量和方法,其中类变量属于类本身,用于定义该类本身所包含的状态数据:而实例变量则属于该类的对象,用于定义对象所包含的状态数据:方法则用于定义该类的对象的行为或功能实现。

    Python 是一门动态语言,因此它的类所包含的类变量可以动态增加或删除(程序在类体中为新变量赋值就是增加类变量),程序也可在任何地方为已有的类增加变量;程序可通过 del 语句删除己有类的类变量。

    类似的是,Python 对象的实例变量也可以动态增加或删除(只要对新实例变量赋值就是增加实例变量),因此程序可以在任何地方为己有的对象增加实例变量;程序可通过 del 语句删除已有对象的实例变量。

    在类中定义的方法默认是实例方法,定义实例方法的方法与定义函数的方法基本相同,只是实例方法的第一个参数会被绑定到方法的调用者(该类的实例),因此实例方法至少应该定义一个参数,该参数通常会被命名为 self。

    注意:实例方法的第一个参数并不一定要叫 self,其实完全可以叫任意参数名,只是约定俗成地把该参数命名为 self,这样具有最好的可读性。

    在实例方法中有一个特别的方法:__init__,这个方法被称为构造方法。构造方法用于构造该类的对象,Python 通过调用构造方法返回该类的对象(无须使用 new)。

    Python 中很多这种以双下划线开头、双下划线结尾的方法,都具有特殊的意义,本教程后面还会详细介绍这些特殊的方法。

    构造方法是一个类创建对象的根本途径,因此 Python 还提供了一个功能:如果开发者没有为该类定义任何构造方法,那么 Python 会自动为该类定义一个只包含一个 self 参数的默认的构造方法。

    下面程序将定义一个 Person 类:

    class Person : '这是一个学习Python定义的一个Person类' # 下面定义了一个类变量 hair = 'black' def __init__(self, name = 'Charlie', age=8): # 下面为Person对象增加2个实例变量 self.name = name self.age = age # 下面定义了一个say方法 def say(self, content): print(content)

    上面的 Person 类代码定义了一个构造方法,该构造方法只是方法名比较特殊:__init__,该方法的第一个参数同样是 self,被绑定到构造方法初始化的对象。

    与函数类似的是,Python 也允许为类定义说明文档,该文档同样被放在类声明之后、类体之前,如上面程序中第二行的字符串所示。

    在定义类之后,接下来即可使用该类了。Python 的类大致有如下作用:

    定义变量;

    创建对象;

    派生子类;

    下面章节开始介绍如何使用类来定义变量和创建对象。

    展开全文
  • 这篇文章主要介绍了python定义类self用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下在定义类的过程中,无论是显式的创建类的构造方法,还是向类中...

    这篇文章主要介绍了python定义类self用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    在定义类的过程中,无论是显式的创建类的构造方法,还是向类中添加实例方法,都要将self参数作为方法的第一个参数。

    class Person:

    def __init__(self):

    print("正在执行构造方法")

    def study(self, name):

    print(name, "正在学python")

    python类方法中的self参数就相当于C++中的this指针。

    同一个类可以产生多个对象,当某个对象调用类方法时,该对象会把自身的引用作为第一个参数自动传给该方法,换句话说,python会自动绑定类方法的第一个参数指向调用该方法的对象。

    如此,python解释器就能知道到底要操作哪个对象的方法了。

    程序在调用实例方法和构造方法时,不需要手动为第一个参数传值。

    class Person:

    def __init__(self):

    print("正在执行构造方法")

    def study(self):

    print(self, "正在学python")

    xiaobai = Person()

    xiaobai.study()

    mary = Person()

    mary.study()

    #执行结果

    #study()中的self代表该方法的调用者,即谁调用该方法,那么self就代表谁。

    正在执行构造方法

    <__main__.person object at> 正在学python

    正在执行构造方法

    <__main__.person object at> 正在学python

    对于构造函数中的self参数,其代表的是当前正在初始化的类对象。

    class Person:

    name = "xiaobai"

    def __init__(self, name):

    self.name = name

    mary = Person("mary")

    print(mary.name)

    lisa = Person("lisa")

    print(lisa.name)

    #执行结果

    mary

    lisa

    总之,无论是类中的构造函数还是普通的类方法,实际调用它们的是谁,则self就代表谁。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: python定义类self用法实例解析

    本文地址: http://www.cppcns.com/jiaoben/python/299034.html

    展开全文
  • 更多python教程请到: 菜鸟教程www.piaodoo.com人人影视www.sfkyty.com这篇文章主要介绍了Python类如何定义私有...如果你要定义一个私有变量,可以用修饰词 private,那么在Python中呢,Python中没public priv...
  • Python 定义类和属性

    2020-07-25 20:13:06
    类定义动物是自然界一个庞大的群体,下面演示使用OOP建模动物。使用Python语言创建动物的基本语法如下,使用class关键字定义一个动物:classAnimal(): ...
  • python定义类()中写object和不写的区别 这里需要说明一下: python3中,类定义默认继承object,所以写不写没有区别 但在python2中,并不是这样 所以此内容是针对python2的,当然python3默认继承,不代表我们就...
  • 在面向对象编程中,变量和函数聚合到一个通用的对象中,可以在任何...二:定义类的属性和方法 三:如何在python脚本中使用类 四:如何在python脚本中使用类模块 一:创建对象类 首先在python中定义一个类与定义...
  • Python定义类方法

    千次阅读 2015-06-25 22:00:40
    和属性类似,方法也分实例方法和类方法。 在class中定义的全部是实例...要在class中定义类方法,需要这么写: class Person(object): count = 0 @classmethod def how_many(cls): return cls.count def __i
  • Python定义类中方法

    2020-03-07 14:27:23
    中三种方法,如下代码所示: class A(): def foo(self, x): print("executing foo(%s,%s)" % (self, x)) print('self:', self) @classmethod def class_foo(cls, x): print("executing c...
  • Python定义类与创建对象

    千次阅读 2019-08-06 18:12:40
    1. 定义类 2. 创建与使用对象(对象也称为实例) 1)增加或删除实例变量 2)增加实例方法 面向对象编程的三大特征:封装、继承、多态; 1. 定义类 语法格式: # 语法格式: class 类名: 执行语句... 类...
  • 现在从外部不能访问 __inaccessible ,但在中(如 accessible 中)依然可以使用它 如果你不希望名称被修改,又想发出不要从外部修改属性或方法的信号,可用一个下划线打 头。这虽然只是一种约定,但也有些作用...
  • 继承 object 的是新式,不继承 object 的是经典,在 Python 2.7 里面新式和经典在多继承方面会有差异: #新式 class A(object): def foo(self): print 'called A.foo()' class B(A): ...
  • Python定义类出错——takes no arguments

    千次阅读 2019-07-29 19:10:41
    定义类的时候显示错误 这是源码 这是提示出错的地方,take no arguments 网上查找后发现,是定义init这个方法的时候编辑错误,init前后的下划线应该是双份的,不该是单下划线。修改后,结果如下: ...
  • # 方式1class MyClass:pass# 方式2class MyClass(object):pass有些好奇宝宝看到上述两种class的定义...python2.x在python2(准确的说是从python2.2 开始)中存在两种风格的,一个是经典,另一个是新式,他们的主...
  • 定义类型class Fish:def __init__(self,x):self.num = xclass Turtle:def __init__(self,y):self.num = yclass Pool:def __init__(self,x,y):self.fish = Fish(x)self.turtle = Turtle(y)def print_num(self):print...
  • Python定义类的简单语法如下:class类名:执行语句...零个到多个类变量...零个到多个方法...类名只要是一个合法的标识符即可,但这仅仅满足的是 Python 的语法要求:如果从程序的可读性方面来看,Python 的类名必须...
  • Python 定义类中的方法

    2014-02-18 10:54:19
    class MyClass: def method(self): print("定义了对象方法"); @staticmethod def method(self): print("定义了静态方法"); @classmethod def method(cls): print("定义方法");
  • python3中定义类,默认继承object基类中的高级属性 对于不太了解python类的同学来说,这些高级特性基本上没用处,但是对于那些要着手写框架或者写大型项目的高手来说,这些特性就比较有用了,比如说tornado里面的...
  • python定义类(class)的语法,

    千次阅读 2017-10-10 22:33:00
    定义类(class)的语法 class Iplaypython: #类的名字,首字母,有一个不可文的规定,最好是大写,这样需要在代码中识别区分每个类。 >>> def fname(self, name): #第二行开始是类的方法,大家看到了,和函数非常...
  • python2中,class(object)定义时,class继承了object()的属性; 在python3中,class()默认继承了object(); 为什么要继承object呢?目的是便于统一操作。继承object是为了让自己定义拥有更多的属性。 ...
  • 1.self只有在的方法中才会有,其他函数或方法是不必带self的。 2.在调用时不必传入相应的参数。 3.在的方法中(如__init__),第一参数永远是self,表示创建的实例本身,而不是本身。 4.可以把对象的各种属性...
  • 每次调用内部的方法时,方法前面加 self. 举例: 例子参考百度知道里面的回答 class MyClass: def __init__(self): pass def func1(self): # do something print('a') #for example self.co
  • 本文实例讲述了Python面向对象程序设计变量与成员变量、方法与成员方法用法。分享给大家供大家参考,具体如下:变量与成员变量在中声明的变量我们称之为变量[静态成员变量],在init()函数中声明的变量并且...
  • 内部的问题,嵌套的.
  • 问 题程序如下:import tkinter as tkwindow = tk.Tk()window.title("我的程序")window.geometry('400x300')var = tk.StringVar()lable = tk.Label(window,textvariable = var,font = (('微软雅黑'),12))lable.pack...
  • Python class定义类Python类的定义(入门必读)

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

空空如也

空空如也

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

python定义类

python 订阅