Python 类的定义、继承及使用对象 [转]

Python 类的定义、继承及使用对象 [转]

Python编程中类的概念可以比作是某种类型集合的描述,如“人类”可以被看作一个类,然后用人类这个类定义出每个具体的人——你、我、他等作为其对象。类还拥有属性和功能,属性即类本身的一些特性,如人类有名字、身高和体重等属性,而具体值则会根据每个人的不同;功能则是类所能实现的行为,如人类拥有吃饭、走路和睡觉等功能。具体的形式如下:

复制代码
 1 # 例:类的概念
 2 class 人类:
 3     名字 = '未命名' # 成员变量
 4     def 说话(内容): # 成员函数
 5         print 内容            # 成员变量赋初始值 
 6 
 7 某人 = 人类()        # 定义一个人类对象某人
 8 某人.名字 = "路人甲"
 9 某人.说话    ('大家好')    # 路人甲说话
10 >>> 大家好!            # 输出
复制代码

 

Python中定义和使用类的形式为:class 类名[(父类名)]:[成员函数及成员变量],类名为这个类的名称,而父类名为可选,但定义父类名后,子类则拥有父类的相应属性和方法。在用类定义成对象时,会先调用__init__构造函数,以初始化对象的各属性,类的各属性(成员变量)均可以在构造函数中定义,定义时只要加上对象指针就好了。而在对象销毁时,则会调用__del__析构函数,定义类的成员函数时,必须默认一个变量(类似于C++中的this指针)代表类定义的对象本身,这个变量的名称可自行定义,下面例子将使用self变量表示类对象变量。

复制代码
 1 # 例:类定义及使用
 2 class CAnimal:
 3     name = 'unname' # 成员变量 
 4     def __init__(self,voice='hello'):    # 重载构造函数
 5         self.voice = voice            # 创建成员变量并赋初始值
 6     def __del__(self):              # 重载析构函数
 7         pass                # 空操作
 8     def Say(self):
 9         print self.voice
10 
11 t = CAnimal()        # 定义动物对象t
12 t.Say()        # t说话
13 >> hello            # 输出
14 dog = CAnimal('wow')    # 定义动物对象dog
15 dog.Say()            # dog说话
16 >> wow            # 输出
复制代码

 

Python编程中类可以承继父类属性,形式为class 类名(父类),子类可以继承父类的所有方法和属性,也可以重载父类的成员函数及属性,须注意的是子类成员函数若重载父类(即名字相同),则会使用子类成员函数

复制代码
 1 # 例:类的继承
 2 class CAnimal:
 3     def __init__(self,voice='hello'): # voice初始化默认为hello
 4         self.voice = voice
 5     def Say(self):
 6         print self.voice
 7     def Run(self):
 8         pass    # 空操作语句(不做任何操作)
 9 
10 class CDog(CAnimal):        # 继承类CAnimal
11     def SetVoice(self,voice): # 子类增加函数SetVoice
12         self.voice = voice
13     def Run(self,voice): # 子类重载函数Run
14         print 'Running'
15 
16 bobo = CDog()
17 bobo.SetVoice('My Name is BoBo!')      # 设置child.data为hello
18 bobo.Say()
19 bobo.Run()
20 
21 >> My Name is BoBo!
22 >> Running




[转] http://www.17jo.com/program/python/base/ClassUse.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一种面向对象的编程语言,是其中的一种重要的概念。是一种自定义的数据类型,它定义对象的属性和方法。 在Python中,定义可以通过`class`关键字来实现。由属性和方法组成,属性定义对象的特征,而方法定义对象的行为。一个可以有多个属性和方法。 使用主要分为两个步骤:的实例化和调用属性和方法。实例化是指创建对象,它可以使用名后跟一对括号的形式完成。例如,若有一个名为`Person`的,我们可以通过`p = Person()`来创建一个名为`p`的对象。 创建对象后,我们可以通过对象名后跟一个点和属性或方法名的形式来访问属性和方法。访问属性时,可以通过对象名后跟一个点和属性名的形式来获取或修改属性的值。例如,若`Person`有一个属性`name`,我们可以通过`p.name`来获取它的值,通过`p.name = 'Tom'`来修改它的值。 访问方法时,需要在对象名后跟一个点和方法名的形式,然后添加一对括号来调用方法。方法可以包含多个参数,这些参数可以在方法调用时传递给方法。例如,若`Person`有一个方法`say_hello`,我们可以通过`p.say_hello()`来调用它。 在定义中,还可以定义特殊方法,这些方法以双下划线开头和结尾。这些特殊方法可以用来重载的运算符,实现似于加法、减法等操作。例如,`__add__`方法可以用来定义两个对象相加的操作。 总之,Python定义使用非常简单灵活,可以根据需求自定义属性和方法,方便地实现面向对象的编程。 ### 回答2: Python是一种面向对象的编程语言,通过定义使用来实现面向对象的编程。Python中的是一种用户自定义的数据结构,它封装了数据和函数的组合。 定义一个可以使用`class`关键字,后跟的名称。中可以包含属性和方法。 属性是的特征,用于存储数据。它可以是基本数据类型,例如整数、浮点数、字符串,也可以是自定义对象。属性定义的内部,可以通过实例对象名的方式进行访问。 方法是的行为,用于执行特定的操作。它是定义的函数,可以访问的属性,并且可以实现一些功能。方法可以分为实例方法、方法和静态方法。 - 实例方法是在的实例对象上调用的方法。它的第一个参数通常命名为`self`,指向该实例对象自身。实例方法可以访问实例对象的属性,并且可以通过该实例对象调用。 - 方法是在上调用的方法。它的第一个参数通常命名为`cls`,指向该自身。方法可以访问的属性和其他方法,并且可以通过该调用。 - 静态方法是在上调用的方法,与和实例对象无关。静态方法不能访问的属性和其他方法,并且没有默认的参数。可以通过名或实例对象调用静态方法。 使用时,需要先创建的实例对象。通过实例对象可以访问的属性和方法。可以使用点操作符来访问的属性和调用的方法。 继承可以通过在定义时指定一个父来实现。子继承了父的属性和方法,并且可以进行修改和扩展。 总结来说,Python定义使用是通过`class`关键字定义,然后通过实例对象来访问的属性和调用的方法。可以包含属性和方法,并且可以通过继承进行扩展。 ### 回答3: Python是一个对象的蓝图,它定义对象的属性和方法。是面向对象编程的基础,它让我们能够更好地组织和管理代码。 在Python中,定义一个需要使用关键字class,后面跟着的名称。的名称通常以大写字母开头,以便与变量名进行区分。 中的属性是描述对象的特征,它们定义对象的状态。属性可以是任何数据类型,包括数字、字符串、列表等。我们可以在的初始化方法__init__中定义属性,并通过self关键字来访问它们。 中的方法是对象可以执行的操作。方法定义对象的行为。我们可以通过在定义函数来创建方法。的方法通常会带有一个self参数,它指向方法所属的对象。通过self参数,方法可以访问和修改对象的属性。 使用一个创建对象的过程称为实例化。我们可以通过将名后面跟着一对括号来实例化一个对象。实例化后,我们可以使用对象来访问中的属性和方法。通过对象名后跟一个点和方法名,我们可以调用的方法。 在使用时,我们可以继承其他的属性和方法。通过继承,我们可以在已存在的的基础上创建新的,并且可以重写或添加新的属性和方法。 总结来说,Python定义使用包括两个核心部分:属性和方法。中的属性定义对象的特征,方法定义对象的行为。通过实例化,我们可以创建对象,并通过对象来访问的属性和方法。使用继承机制,我们可以创建新的,并继承已存在的的属性和方法,从而更好地组织和管理代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值