当前位置: 首页 > 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 --略
 

相关文章:

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分类…...

Spring:面试八股

文章目录 参考Spring模块CoreContainerAOP 参考 JavaGuide Spring模块 CoreContainer Spring框架的核心模块&#xff0c;主要提供IoC依赖注入功能的支持。内含四个子模块&#xff1a; Core&#xff1a;基本的核心工具类。Beans&#xff1a;提供对bean的创建、配置、管理功能…...

Flask Python:请求上下文和应用上下文

请求上下文和应用上下文详解 一、背景二、什么是上下文2.1、请求上下文2.2、应用上下文2.3、两种上下文的底层逻辑 三、写在最后 一、背景 在如何实现异步发送邮件的时候&#xff0c;遇到过这样一个报错 RuntimeError: Working outside of request context.This typically me…...

哔哩哔哩直播姬有线投屏教程

1 打开哔哩哔哩直播姬客户端并登录(按下图进行操作) 2 手机用usb数据线连接电脑(若跳出安装驱动的弹窗点击确定或允许),usb的连接方式为仅充电(手机差异要求为仅充电),不同品牌手机要求可能不一样,根据实际的来 3 在投屏过程中不要更改usb的连接方式(不然电脑会死机需要重启) …...

您现在可以在家训练 70b 语言模型

原文&#xff1a;Answer.AI - You can now train a 70b language model at home 我们正在发布一个基于 FSDP 和 QLoRA 的开源系统&#xff0c;可以在两个 24GB GPU 上训练 70b 模型。 已发表 2024 年 3 月 6 日 概括 今天&#xff0c;我们发布了 Answer.AI 的第一个项目&#…...

算法题剪格子使我重视起了编程命名习惯

剪格子是一道dfs入门题。 我先写了个dfs寻找路径的模板&#xff0c;没有按题上要求输出。当我确定我的思路没错时&#xff0c;一直运行不出正确结果。然后我挨个和以前写的代码对比&#xff0c;查了两个小时才发现&#xff0c;是命名风格的问题。 我今天写的代码如下&#xff…...

P19:注释

注释是什么&#xff1f; 在java的源程序中&#xff0c;对java代码的解释说明注释内容不会被编译到.class字节码文件中一个的开发习惯应该多写注释&#xff0c;增加程序的可读性 java中注释的方式&#xff1a; 单行注释&#xff1a;注释内容只占一行 // 注释内容多行注释&…...

python习题小练习(挑战全对)

1. (单选题)Python 3.0版本正式发布的时间&#xff1f; A. 1991B. 2000C. 2008D. 1989 2. (单选题)以下关于Python语言中“缩进”说法正确的是&#xff1a; A. 缩进在程序中长度统一且强制使用B. 缩进是非强制的&#xff0c;仅为了提高代码可读性C. 缩进可以用在任何语句之后…...

大数据学习-2024/3/30-MySQL基本语法使用介绍实例

学生信息表 create table studend(stu_id int primary key auto_increment comment 学生学号,stu_name varchar(20) not null comment 学生名字,mobile char(11) unique comment 手机号码,stu_sex char(3) default 男 comment 学生性别,birth date comment 出生日期,stu_time …...

C#_事件_多线程(基础)

文章目录 事件通过事件使用委托 多线程(基础)进程:线程: 多线程线程生命周期主线程Thread 类中的属性和方法创建线程管理线程销毁线程 事件 事件&#xff08;Event&#xff09;本质上来讲是一种特殊的多播委托&#xff0c;只能从声明它的类中进行调用,基本上说是一个用户操作&…...

vue 通过插槽来分配内容

通过插槽来分配内容 一些情况下我们会希望能和 HTML 元素一样向组件中传递内容&#xff1a; <AlertBox>Something bad happened. </AlertBox> 这可以通过 Vue 的自定义 <slot> 元素来实现&#xff1a; <template><div class"alert-box&quo…...

YOLO图像前处理及格式转换

import cv2 import numpy as np import os import glob# 数据增强函数 def augment_data(img):rows,cols,_ img.shape# 水平翻转图像if np.random.random() > 0.5:img cv2.flip(img, 1)img_name os.path.splitext(save_path)[0] "_flip.png"cv2.imwrite(img_n…...

ES6 学习(二)-- 字符串/数组/对象/函数扩展

文章目录 1. 模板字符串1.1 ${} 使用1.2 字符串扩展(1) ! includes() / startsWith() / endsWith()(2) repeat() 2. 数值扩展2.1 二进制 八进制写法2.2 ! Number.isFinite() / Number.isNaN()2.3 inInteger()2.4 ! 极小常量值Number.EPSILON2.5 Math.trunc()2.6 Math.sign() 3.…...

《VMamba》论文笔记

原文链接&#xff1a; [2401.10166] VMamba: Visual State Space Model (arxiv.org) 原文笔记&#xff1a; What&#xff1a; VMamba: Visual State Space Model Why&#xff1a; 多年以来CNN和VIT作为视觉特征提取的主流框架 CNN具有模型简单&#xff0c;共享权重&…...

手机真机连接USB调试adb不识别不显示和TCPIP连接问题

手机真机连接USB调试adb devices不显示设备和TCPIP连接 本文手机型号为NOVA 7 &#xff0c;其他型号手机在开发人员模式打开等方式可能略有不同&#xff0c;需根据自己的手机型号修改。 文章目录 1. 打开和关闭开发者模式2. 真机USB连接调试adb不显示设备问题的若干解决方法3…...

MySQL分表后,如何做分页查询?

参考: https://blog.csdn.net/qq_44732146/article/details/127616258 user.sql 完整的执行一遍&#xff0c;可以做到分表和分页 数据是实时的&#xff0c;往一张子表里插入之后&#xff0c;all表就能立刻查询到 在这里实现分页查询的是MyIsam引擎&#xff0c;这个引擎不支持…...

【Deep Learning 11】Graph Neural Network

&#x1f31e;欢迎来到图神经网络的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年3月20日…...

http和https的工作原理是什么?

HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是两种用于在互联网上传输数据的主要协议&#xff0c;它们均用于在客户端&#xff08;通常是Web浏览器&#xff09;与服务器之间交换信息。尽管它们…...

STL中容器、算法、迭代器

STL标准模板库封装了常用的数据结构和算法&#xff0c;让程序员无需太关心真实的数据结构实现。 容器 容器&#xff1a;用来存放数据的。 STL容器就是将运用最广泛的的一些数据结构实现出来。 常用的数据结构有&#xff1a;数组、链表、树、栈、队列、集合、映射表。 这些…...

深入并广泛了解Redis常见的缓存使用问题

Redis 作为一门主流技术&#xff0c;缓存应用场景非常多&#xff0c;很多大中小厂的项目中都会使用redis作为缓存层使用。 但是Redis作为缓存&#xff0c;也会面临各种使用问题&#xff0c;比如数据一致性&#xff0c;缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩&#…...

为什么你的脑影像分析总出错?聊聊AC-PC线标准化背后的原理与MIPAV实现

为什么你的脑影像分析总出错&#xff1f;AC-PC线标准化原理与MIPAV实战解析 在神经影像研究的实验室里&#xff0c;最常听到的抱怨莫过于"同样的分析方法&#xff0c;这次的结果怎么完全对不上&#xff1f;"。就像用不同比例尺的地图导航会迷路一样&#xff0c;忽略A…...

LFM2.5-1.2B-Thinking-GGUF快速上手:使用Ollama本地化部署与管理

LFM2.5-1.2B-Thinking-GGUF快速上手&#xff1a;使用Ollama本地化部署与管理 1. 前言&#xff1a;为什么选择Ollama部署本地大模型 最近大语言模型越来越火&#xff0c;但很多朋友发现云端服务要么太贵&#xff0c;要么有隐私顾虑。今天给大家介绍一个超简单的本地部署方案—…...

Echarts 数据大屏实战:150套模板助力企业级可视化开发

1. 为什么企业需要Echarts数据大屏&#xff1f; 在数字化转型的浪潮中&#xff0c;数据可视化已经成为企业决策的重要工具。想象一下&#xff0c;当你的老板需要在3秒内了解公司当月销售情况、用户增长趋势和库存状态时&#xff0c;密密麻麻的Excel表格显然不是最佳选择。这时…...

Fun-ASR-MLT-Nano-2512在教育培训场景的应用:语音课件自动转写

Fun-ASR-MLT-Nano-2512在教育培训场景的应用&#xff1a;语音课件自动转写 1. 技术背景与教育痛点 1.1 教育培训行业的语音处理需求 教育培训行业每天产生大量语音内容&#xff0c;包括教师授课录音、在线课程音频、学生互动语音等。传统的人工转写方式面临三大核心痛点&…...

Janus-Pro-7B开源大模型教程:HuggingFace模型路径本地加载实操

Janus-Pro-7B开源大模型教程&#xff1a;HuggingFace模型路径本地加载实操 1. 引言 如果你正在寻找一个既能看懂图片&#xff0c;又能根据文字生成图片的AI模型&#xff0c;那么Janus-Pro-7B绝对值得你花时间了解一下。这个模型最近在开源社区里挺火的&#xff0c;因为它把“…...

OpenClaw+Qwen3-32B科研助手:文献综述自动化实践

OpenClawQwen3-32B科研助手&#xff1a;文献综述自动化实践 1. 为什么需要自动化文献综述 作为一名计算机视觉方向的博士生&#xff0c;我每周需要阅读数十篇论文。传统的工作流程是&#xff1a;手动下载PDF→逐篇阅读→摘录关键观点→整理成表格。这个过程不仅耗时&#xff…...

Qwen3-TTS-1.7B效果实测:97ms端到端延迟在WebRTC实时语音链路表现

Qwen3-TTS-1.7B效果实测&#xff1a;97ms端到端延迟在WebRTC实时语音链路表现 1. 引言&#xff1a;实时语音合成的技术突破 语音合成技术正在经历一场革命性的变革。传统的TTS系统往往需要数百毫秒甚至数秒的生成时间&#xff0c;这在实时交互场景中几乎无法使用。而Qwen3-TT…...

从游戏设计到算法实现:拆解睿抗CAIP编程赛‘游戏设计师’一题的BFS+离线查询思路

从游戏设计到算法实现&#xff1a;拆解睿抗CAIP编程赛‘游戏设计师’一题的BFS离线查询思路 在游戏开发中&#xff0c;角色移动和状态转换是最基础也最核心的机制之一。睿抗机器人开发者大赛CAIP编程技能赛的"游戏设计师"一题&#xff0c;巧妙地将这些游戏开发中的实…...

Lychee Rerank MM惊艳效果:工业图纸图像与技术文档段落的跨模态重排序

Lychee Rerank MM惊艳效果&#xff1a;工业图纸图像与技术文档段落的跨模态重排序 1. 引言&#xff1a;当图纸遇见文字的多模态匹配革命 想象一下这样的场景&#xff1a;你手头有一张复杂的工业设备图纸&#xff0c;需要从海量技术文档中找到与之最匹配的说明段落。传统的关键…...

麒麟系统openkylin性能调优实战:Unixbench跑分从100到900的完整指南

麒麟系统OpenKylin性能调优实战&#xff1a;UnixBench跑分从100到900的完整指南 在国产操作系统逐渐成熟的今天&#xff0c;OpenKylin作为麒麟家族的重要成员&#xff0c;其性能表现越来越受到开发者和系统管理员的关注。UnixBench作为经典的Unix-like系统性能测试工具&#xf…...