美文网首页
【第23天】python全栈从入门到放弃

【第23天】python全栈从入门到放弃

作者: 36140820cbfd | 来源:发表于2019-08-17 07:01 被阅读0次

    利用@prorerty把方法伪装为一个属性

    代码块
    class Student:
    
        def __init__(self,name,weight,height):
            self.name=name
            self.__weight=weight
            self.__height=height
    
        @property
        def bmi(self):
             return self.__weight / self.__height**2
    
    name=(input('请输入您的姓名'))
    weight=int(input('请输入您的体重'))    #阻塞
    height=int(input('请输入您的身高'))
    s=Student(name,weight,height)
    res=s.bmi
    
    if res<18.5:
        print('你有点偏瘦,要多吃肉')
    elif res >=18.5 and res <=22.9:
        print('您是正常标准的')
    else:
        print('你好胖')
    

    2 通过实例化对象修改类中的属性

    代码块
    
    class Student:
    
        def __init__(self,name,weight,height):
            self.name=name
            self.__weight=weight
            self.__height=height
    
        @property
        def bmi(self):
             return self.__weight / self.__height**2
    
    
    s=Student('wangsiyu',55,1.68)
    print(s.name)   #wangsiyu
    s.name='alex'
    print(s.name)   #walex
    

    3 利用property 求圆的面积

    代码块
    from math import pi
    
    class Circle:
        def __init__(self,r):
            self.r=r
    
        @property
        def area(self):
            print('圆的面积是%d'%round(pi*self.r*self.r))
    
    c=Circle(5.76)
    c.area
    

    4类方法

    代码块
    class Student:
    
        def __init__(self,name,weight,height):
            self.name=name
            self.__weight=weight
            self.__height=height
    
        @classmethod
        def test(cls):
            print('我正在调用类方法,测试下实例化对象能不能调用这份方法')
    
    
    s=Student('wangsiyu',55,1.68)
    s.test()#我正在调用类方法,测试下实例化对象能不能调用这份方法
    Student.test()   #我正在调用类方法,测试下实例化对象能不能调用这份方法
    # 看来可以调用
    
    
    别跑,点个赞再走

    相关文章

      网友评论

          本文标题:【第23天】python全栈从入门到放弃

          本文链接:https://www.haomeiwen.com/subject/ijxhsctx.html