类里面使用input获得的值怎么传递给这个类下的方法去使用?

前提,我想写一个通过输入半径,求算圆的面积跟周长的类。但是发现在1个类下好像实现不了,(我是用2个类来实现的)求指点。。。

class r:
r = float(input('请输入圆的半径:'))

class yuan(r):

def __init__(self):
    self.pi = 3.14

def s(self):
    s = self.pi * r.r * r.r 
    print('圆的面积为{}'.format(s))
def l(self):
    l = 2 * self.pi * r.r 
    print('圆的周长为{}'.format(l))

a=yuan()
a.s()
a.l()

class yuan:
    def __init__(self,r):
        self.pi = 3.14
        self.r = r
    def s(self):
        s = self.pi * self.r * self.r 
        print('圆的面积为{}'.format(s))
    def l(self):
        l = 2 * self.pi * self.r 
        print('圆的周长为{}'.format(l))
a=yuan(float(input('请输入圆的半径:')))
a.s()
a.l()

class yuan:
def init(self,r):
self.r=float(input('请输入圆的半径:'))#省去self.r=r的赋值过程,全程用self.r,前缀不能丢
self.pi = 3.14
def s(self):
s = self.pi * self.r * self.r
print('圆的面积为{}'.format(s))
def l(self):
l = 2 * self.pi * self.r
print('圆的周长为{}'.format(l))
a.s()
a.l()