【发布时间】:2019-10-12 12:40:01
【问题描述】:
我是 Python 新手,我刚刚创建了一个课程,作为我正在学习的在线课程的一部分。
from math import sqrt
class Line:
def __init__(self,coor1,coor2):
self.coor1=coor1 #tuple (x1,y1)
self.coor2=coor2 #tuple (x2,y2)
def distance(self):
return sqrt((self.coor2[0]-self.coor1[0])**2+(self.coor2[1]-self.coor1[1])**2)
def slope(self):
return (self.coor2[1]-self.coor1[1])/(self.coor2[0]-self.coor1[0])
这是Line 的一个类,可以帮助我找到两个坐标之间的距离。我想知道,既然坐标需要是一个元组,那么 Python 是如何知道这一点的?为什么我不需要在def __init__ 中定义它?
【问题讨论】:
-
另一个角度:为什么 python 需要知道你的参数必须是元组?
-
Python 不在乎你是否使用元组或其他东西——即。字符串或整数。您可以使用
if isinstance(coor1, tuple):仅使用元组,但您仍然可以使用 3 个或更多数字或字符串 -Line( ("Hello", "World"), ("Anonther", "tuple", "with", "strings") )放置元组,为此您必须使用更多if。
标签: python class object dynamic-typing