当前位置: 首页 > news >正文

python-函数引入模块面向对象编程创建类继承

远离复读机行为

def calculate_BMI(weight,height):BMI = weight / height**2if BMI <= 18.5:category = "偏瘦"elif BMI <= 25:category = "正常"elif BMI <= 30:category = "偏胖"else:category = "肥胖"print(f"您的BMI分类为:{category}")return BMI
result = calculate_BMI(68,1.70)
print(result)

不要重复造轮子,可以使用别人制作好的函数(python官方里有内置函数)

或者引入别人的模块(里面存有很多函数)
import 模块名
from 模块名 import 函数/变量
from 模块名 import * 全部引入 (不建议)

引入函数怎么写?control + 点击函数名

既可以引入官方模块,或者 其他程序员 写的模块

首先要 安装该模块,后使用的时候在import

https://pypi.org/  可以对第三库进行搜索

安装模块:去到终端 pip install 模块名

面向对象编程 OOP
面向对象编程 VS 面向过程编程(完成某个具体任务的代码,基本可以理解为函数)
面向过程编程核心:把要实现的事情拆分成一个个步骤,依次完成

面向对象编程:不会聚焦与第一步,模拟真实世界,先考虑各个对象有什么性质能做什么事情,类-对象(属性+方法)

面向过程编程:说明书  面向对象编程:把事务分解成到对象身上,描述各个对象的作用,再去解决他们之间的交互

在逻辑信息复杂的时候,面向对象编程,可以让逻辑更清晰,信息更集中

面向对象:封装  继承  多态

封装:只需要知道怎么使用

继承:可以继承类

多态:同样的接口,因为具体的类不同,有不同的表现

类是创建对象的模板 对象是类的实例

#定义一个学生类
# 要求:
# 1.属性包括学生姓名、学号,以及语数英三科的成绩
# 2.能够设置学生某科目的成绩
# 3.能够打印出该学生的所有科目成绩
class Student:def __init__(self,name,student_id):#self. 绑定到对象身上self.name = nameself.student_id = student_idself.grades = {"语文":0,"数学":0,"英语":0}def set_grade(self,cource,grade):if cource in self.grades:self.grades[cource] = gradedef print_grades(self):print(f"学生{self.name} (学号:{self.student_id})的成绩为:")for course in self.grades:print(f"{course}:{self.grades[course]}分")chen = Student("小陈","100618")
chen.set_grade("语文",92)
chen.set_grade("数学",94)
chen.print_grades()
# zeng = Student("小曾","100622")
# print(chen.name)
# zeng.set_grade("数学",95)
# print(zeng.grades)

继承  dry原则 don't repeat yourself 不要重复你自己

创建有层次的类 子类 父类(子类会继承父类)

P29 --略
 

http://www.lryc.cn/news/328495.html

相关文章:

  • Spring:面试八股
  • Flask Python:请求上下文和应用上下文
  • 哔哩哔哩直播姬有线投屏教程
  • 您现在可以在家训练 70b 语言模型
  • 算法题剪格子使我重视起了编程命名习惯
  • P19:注释
  • python习题小练习(挑战全对)
  • 大数据学习-2024/3/30-MySQL基本语法使用介绍实例
  • C#_事件_多线程(基础)
  • vue 通过插槽来分配内容
  • YOLO图像前处理及格式转换
  • ES6 学习(二)-- 字符串/数组/对象/函数扩展
  • 《VMamba》论文笔记
  • 手机真机连接USB调试adb不识别不显示和TCPIP连接问题
  • MySQL分表后,如何做分页查询?
  • 【Deep Learning 11】Graph Neural Network
  • http和https的工作原理是什么?
  • STL中容器、算法、迭代器
  • 深入并广泛了解Redis常见的缓存使用问题
  • nginx界面管理工具之nginxWebUI 搭建与使用
  • linux下 罗技鼠标睡眠唤醒问题的解决
  • 架构师之路--Docker的技术学习路径
  • 【动手学深度学习-pytorch】 9.4 双向循环神经网络
  • 网际协议 - IP
  • DC-9靶场
  • 自定义类型(二)结构体位段,联合体,枚举
  • MySQL5.7源码分析--解析
  • windows10搭建reactnative,运行android全过程
  • 小迪学习笔记(内网安全)(常见概念和信息收集)
  • Python自动连接SSH