import math

"""
Object Oriented Programming - 面向对象编程
面向对象是一种对现实世界理解和抽象的方法。
万事万物都可以当作一个相对独立的对象来看待,如人、鸟、车、云等;抽象的事情,如战争、交通规划、出行计划等。

通过对现实世界的事物进行抽象,出现了一种新的可高效利用的数据类型——类(Class)。
类的定义:把具有相同特性(数据)和行为(函数)的对象抽象为类。
    数据可通过类内的局部变量来实现对数据的读写操作。
    函数可以实现对类的相关行为的操作。

把一个对象抽象成类的过程可归纳为如下几步:
(1)归类。把具有相同特性和行为的对象归到一类。
(2)提取这些对象的特性。注意:特性是静态的,相对不变的。
(3)确定这些对象相关的操作行为。

举例:抽象圆
(1)归类。所有的圆归为圆类。
(2)圆类的特性(属性):半径、直径、周长、面积等。
(3)可对圆类进行的操作行为:求周长,求面积等。
"""


class Circle:
    """求圆周长、面积的类"""
    def __init__(self, radius):
        self.radius = radius  # 圆的半径

    def circle_girth(self):  # 求圆周长的函数 circle_girth
        return 2*self.radius*math.pi  # 通过 math 库获取 pi 的值

    def circle_area(self):  # 求圆面积的函数 circle_area
        return self.radius*self.radius*math.pi


r = int(input('请输入圆的半径:'))
c1 = Circle(r)  # 通过 Circle 类赋值建立对应的一个实例圆 c1
print('圆c1的周长为:%.3f' % c1.circle_girth())  # 通过实例调用 circle_girth() 方法求圆 c1 的周长
print('圆c1的面积为:%.3f' % c1.circle_area())  # 通过实例调用 circle_area() 方法求圆 c1 的面积