bmi

类的装饰器

半腔热情 提交于 2019-12-16 19:22:35
# property装饰器是用来将类内的函数属性伪装成数据属性 # class People: # 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) # # obj=People('egon',80,1.83) # obj.height=1.85 # obj.weight=75 # print(obj.bmi()) #本来应该这么使用bmi的方法,但是bmi看上去更加像一个属性,而非方法,所以在bmi方法的头顶加了一个装饰器@property,这样调用的时候只需要 类名.方法名 其实内部执行过程就是把程序执行了一遍 # print(obj.bmi) # 了解.... # class People: # def __init__(self,name): # self.__name=name # # @property # def name(self): # return '<名字:%s>' %self.__name # # @name.setter #黄色字体必须一样 setter方法可以为_

python基础1.1

痞子三分冷 提交于 2019-12-06 14:38:08
# print('%2d-%02d' % (3, 1)) # print('%.2f' % 3.1415926) # s1 = 72 # s2 = 85 # r=s1/100*(s2-s1) # print("小明的成绩提高了%.2f %%" % r) # # L = [ # # ['Apple', 'Google', 'Microsoft'], # # ['Java', 'Python', 'Ruby', 'PHP'], # # ['Adam', 'Bart', 'Lisa'] # # ] # # print(L[2][2]) # height = 1.75 # weight = 80.5 # bmi=weight/(height*height) # if bmi<18.5: # print("过轻") # elif 25>bmi>=18.5: # print("正常") # elif 28>bmi>=25: # print("过重") # elif 32>bmi>=25: # print("肥胖") # elif bmi>32: # print("严重肥胖") # else: # pass # L = ['Bart', 'Lisa', 'Adam'] # sum = 0 # for x in L: # print("HELLO"+",",x+"!") # n=1 # while

面向对象之property

蓝咒 提交于 2019-12-05 20:13:31
一、什么是property 二、为什么要用property 三、如何用 四、property中的修改属性和删除属性 TOC 一、什么是property 是一个python内置的装饰器,可以装饰在“类内部的方法”上。 可以将改方法的调用方式由 对象.方法() 转变为 对象.方法 ,也就是去掉了括号的调用方式 二、为什么要用property 在某些场景下,调用的方式只是用来获取计算后的某个值 必须通过 对象.方法 方式调用,让该方法看起来像动词 让名词的方法,调用时更为合理,目的是为了,迷惑调用者,调用的方式误以为是 属性 三、如何用 人体BMI指数计算 # 需求: 计算人体 bmi 指数 # 体重 / 身高的平方 # value = weight / (height * height) class User: def __init__(self, name, weight, height): self.__name = name self.weight = weight self.height = height @property # 放置在被装饰的方法之上 def bmi(self): value = self.weight / (self.height ** 2) return value def name(self): return self.__name user_obj =

property

流过昼夜 提交于 2019-12-05 20:09:41
property 1.什么是property?    是一个python内置的装饰器,可以装饰在“类内部的方法”上。    可以将该方法调用方式有----->对象.方法()----->对象.方法 2.为什么用property?    ps:在某些场景下,调用的方法知识用来获取计算后的某种值。    ps:必须通过 对象.方法()方式调用,让该方法看起来像动词    让名词的方法,调用时更为合理。    目的是为了迷惑调用者,调用的方法误以为是属性 3.如何用? # 需求: 计算人体 bmi 指数 # 体重 / 身高的平方 # value = weight / (height * height) class User: def __init__(self, name, weight, height): self.__name = name self.weight = weight self.height = height # 获取bmi指数方法 @property def bmi(self): # return self.weight / (self.height * self.height) return self.weight / (self.height ** 2) @property def name(self): return self.__name # 了解:

面向对象基础(四)

人盡茶涼 提交于 2019-12-04 23:29:12
# 封装中的属性 # 一个人是否健康可以通过bmi值来判断 class Person: def __init__(self,name,height,weight): self.name = name self.height = height self.weight = weight def bmi(self): return '{name}的bmi值为{date}'.format(name = self.name,date = round(self.weight / self.height ** 2,1)) p1 = Person('Tian',1.70,60) print(p1.bmi()) # 这里bmi是一个名词一个属性的概念,这样调用是非常不符合规则的 class Person: def __init__(self,name,height,weight): self.name = name self.height = height self.weight = weight # 加上装饰器之后bmi方法就成为了属性方法 @property def bmi(self): return '{name}的bmi值为{date}'.format(name = self.name,date = round(self.weight / self.height ** 2,1)) p1 =

python3练习:简单函数(BMI)

爷,独闯天下 提交于 2019-12-04 18:11:23
#简单写个函数,计算BMI def fun_bmi (name,height,weight): ''' 计算BMI :param name: 姓名 :param height: 身高 :param weight: 体重 :return: none ''' bmi = weight/2/(height*height) #BMI公式 #print (name,'身高:',height,"体重:",weight,',对应BMI为:',bmi, end=',') #bmi结果过长 print (name,'身高:',height,"体重:",weight,',对应BMI为:%.2f' %bmi, end=',') #BMI2位小数显示出来,且end=','表示不换行,以,结束 if bmi >= 29.9: print (name+"该减肥了~") elif bmi >= 24.9: print(name+"尚可,但在演艺圈的话可以瘦一些~") elif bmi >= 18.5: print(name+"在普通人中是健康的,是否要再瘦些看本人意愿~") elif bmi > 18: print(name+"在贵圈中很标准,也勉强算健康哟") elif bmi > 17.9: print(name+"太瘦啦,想说:健康最重要啊") else: print(name + ",这身体是有病呀

035 函数和代码复用小结

匿名 (未验证) 提交于 2019-12-02 23:49:02
Ŀ¼ 整数类型的无限范围及4种进制表示 浮点数类型的近似无限范围、小尾数及科学计数法 +、-、*、/、//、%、**、二元增强赋值操作符 abs()、divmod()、pow()、round()、max()、min() int()、float()、complex() # DayDayUpQ3.py dayup = 1.0 dayfactor = 0.01 for i in range(365): if i % 7 in [6, 0]: dayup = dayup * (1 - dayfactor) else: dayup = dayup * (1 + dayfactor) print("工作日的力量:{:.2f} ".format(dayup)) # 工作日的力量:4.63 工作日的力量:4.63 def dayUP(df): dayup = 1 for i in range(365): if i % 7 in [6, 0]: dayup = dayup * (1 - 0.01) else: dayup = dayup * (1 + df) return dayup dayfactor = 0.01 while dayUP(dayfactor) < 37.78: dayfactor += 0.001 print("工作日的努力参数是:{:.3f} ".format

Python计算身体质量指数BMI

匿名 (未验证) 提交于 2019-12-02 22:51:30
使用Python计算身体质量指数BMI 运行结果如下: 1 ''' 2 3. 利用函数思想,将“身体质量指数BMI”源程序封装成为一个函数并调用。 3 :param height 身高(米) 4 :param weight 体重(公斤) 5 ''' 6 def computeBMI(height, weight): 7 bmi = weight / pow(height, 2) 8 print("BMI的数值为:{:.2f}".format(bmi)) 9 10 if bmi < 18.5: # who国际标准 11 dom = "偏瘦" 12 elif bmi < 25: 13 dom = "正常" 14 elif bmi < 30: 15 dom = "偏胖" 16 else: 17 dom = "肥胖" 18 19 if bmi < 18.5: # dom中国卫生标准 20 who = "偏瘦" 21 elif bmi < 24: 22 who = "正常" 23 elif bmi < 28: 24 who = "偏胖" 25 else: 26 who = "肥胖" 27 28 print("BMI指标为:国际'{0}',国内'{1}'".format(who, dom)) 来源:博客园 作者: 孤云jh 链接:https://www.cnblogs.com/yijiahao

三年Java五年模拟―3 算数操作符(3)自增自减、计算BMI习题

匿名 (未验证) 提交于 2019-12-02 21:53:52
志向所趋,没有不能达到的地方,即使隔着重山,相距江海,也是不能限制的 常有人嘲笑Java基础,各种框架名词,新潮的框架,侃侃而谈,我想说:做好自己,默默前行,打下扎实的基础,方能无远弗届。 前缀递增或前缀递减(++i或 - -i),会先执行运算,再生成值 后缀递增和后缀递减(i++或 i- -),会先生成值,再执行运算。 以++为例 int i = 5; i++; 先取值,再运算 ++i; 先运算,再取值 package arithmeticOperators ; /** * @author :180285 * @date : 2018/6/12 20:35 */ public class IncreasedDecrement { public static void main ( String [] args ) { int i = 10 ; //先使用,后++ System . out . println ( i ++); //运算完 i=11 System . out . println ( "运算后i:" + i ); int j = 10 ; //先--,后使用 System . out . println ( -- j ); //运算完:j=9 System . out . println ( "运算后j:" + j ); } } Console result : 10

面向对象:属性

假如想象 提交于 2019-12-01 09:01:34
# 属性的初识 属性: 将方法伪装成一个属性,代码上没有什么提升,只是更合理.@property ***@属性名.setter **@属性名.deleter * # class Person:## def __init__(self,name,hight,weight):# self.name = name# self.__hight = hight# self.__weight = weight## @property# def bmi(self):# return '%s 的bmi 值%s' %(self.name,self.__weight / self.__hight ** 2)# p1 = Person('大阳哥',1.68,70)# # print(p1.bmi())# print(p1.bmi)# # 属性 : 将一个方法 伪装成一个 属性,在代码的级别上没有本质的提升,但是让其看起来跟合理.# print(p1.name)# p1.name = 'alex'# print(p1.name)# 属性的改class Person: def __init__(self,name,age): self.name = name if type(age) is int: self.__age = age else: print( '你输入的年龄的类型有误,请输入数字')