Python之构造函数的练习(定义一“圆”(Circle)类,圆心为“点”Point类,构造一圆,求圆的周长和面积,并判断某点与圆的关系)

需求1:定义一“圆”(Circle)类,圆心为“点”Point类,构造一圆,求圆的周长和面积,并判断某点与圆的关系

分析:

Circle:

    特征:圆心,半径

    行为:圆的周长和面积

Point:

    特性:x y

 实现1:首先创建一个文件夹,文件夹下新建circle.py、point.py和test.py文件,分别定义,并保存运行test.py文件实现功能

circle.py文件:

'''
    特征:圆心,半径

    行为:圆的周长和面积
'''

class Circle():        #1.类名
    #2.构造函数
    def __init__(self,radius,circlePoint):
        self.radius = radius                 #半径
        self.circlePoint = circlePoint       #圆心

    #3.成员函数
    #求面积
    def area(self):
        return 3.14 * self.radius ** 2
        
    #求周长
    def zhouCahng(self):
        return 2 * 3.14 * self.radius

point.py文件: 

'''
    特性:x y
'''
class Point():     #1.类名
    #2.构造函数
    def __init__(self,x,y):
        self.x = x
        self.y = y

test.py文件: 

'''
定义一“圆”(Circle)类,圆心为“点”Point类,构造一圆,求圆的周长和面积,并判断某点与圆的关系
'''
from circle import Circle
from point import Point
import math

#1.创建一个圆心对象
circlePoint = Point(10,20)

#2.创建一个圆的对象
cir = Circle(8,circlePoint)

print(cir.radius,cir.circlePoint.x,cir.circlePoint.y)

#3.求圆的面积和周长【调用成员函数】
print(cir.area())
print(cir.zhouCahng())

#4.判断某点和圆之间的关系
#创建某一个点的对象
myPoint = Point(33,55)
res = (cir.circlePoint.x - myPoint.x) ** 2 + (cir.circlePoint.y - myPoint.y) ** 2
distance = math.sqrt(res)
if distance > cir.radius:
    print("圆外")
elif distance < cir.radius:
    print("圆内")
else:
    print("圆上")

说明:整个过程是先定义一个类,在类中书写构造函数和成员函数,并在类外面创建对象,调用成员函数

你可能感兴趣的:(Python学习)