首页 / PYTHON / Python类 – 需要解释
Python类 – 需要解释
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python类 – 需要解释,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1588字,纯文字阅读大概需要3分钟。
内容图文
我对类的定义及其用法有一个普遍的问题.下面的一本书的代码工作正常,但我有一般性的问题.
这里我们定义了一个Point类并创建了2个实例Point1&点2.在计算point2的距离时,我们如何通过point1对象?
point1不是point对象,而other_point被重新定义为变量.
我很困惑.
码:
import math
class Point:
def move(self, x, y):
self.x = x
self.y = y
def reset(self):
self.move(0, 0)
def calculate_distance(self, other_point):
print("Inside calculating distance")
return math.sqrt(
(self.x - other_point.x)**2 +
(self.y - other_point.y)**2)
point1 = Point()
point2 = Point()
point1.reset()
point2.move(5,0)
print(point2.calculate_distance(point1))
解决方法:
这就是自变量的作用.因此,当您进入类的定义时,可以使用self来标识您尝试操作其数据的对象.
例如,假设您有一个名为human的类(其中有一个名为age的成员变量),并且每年都希望通过调用increment_age函数来增加该人的年龄.然后,您可以编写以下代码:
class Human:
def __init__(self):
self.age = 0
def increment_age(self):
self.age += 1
>>> h = Human()
>>> print h.age
0
>>> h.increment_age()
>>> print h.age
1
所以你看,通过调用self,你指的是对象本身.在您的示例中,这将转换为自我引用point1.
现在,假设在Human类中,我们想要添加一个允许两个人战斗的函数.在这种情况下,一个人将不得不与另一个人战斗(假设与另一个人战斗会使你的生命增加一个并且将另一个人的生命减少一个).在这种情况下,您可以在Human类中编写以下函数:
def fight(self, other_human):
self.age += 1
other_human.age -= 1
现在:
>>> h1 = Human()
>>> h2 = Human()
>>> h1.age = 5
>>> h2.age = 3
>>> print h1.age
5
>>> print h2.age
3
>>> h1.fight(h2)
>>> print h1.age
6
>>> print h2.age
2
因此,您可以在此示例中看到h2是斗争函数中的other_human.
希望有所帮助
内容总结
以上是互联网集市为您收集整理的Python类 – 需要解释全部内容,希望文章能够帮你解决Python类 – 需要解释所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。