python极速入门笔记(三)

1. 函数

#定义函数

"""
def 函数名(参数):
   ...
   return **
"""
def calc_BMI(weight,height):
    BMI=weight/(height**2)
    if BMI<=18.5:
        category="偏瘦"
    elif BMI<=25:
        category="正常"
    elif BMI<=30:
        category="偏胖"
    else:
        category="肥胖"
    print(f"您的BMI分类为:{category}")
    return BMI

result=calc_BMI(46,1.55) #height单位是米
print(result)

2、引入模块

引入官方的模块:

#引入模块

#法一:
import statistics
#引入整个模块,引用函数时需要加上模块名
print(statistics.median([1,2,3]))

#法二:
from statistics import median #从哪里引进什么
#引入模块的部分函数,引用时不需要加上函数名
print(median([1.0,2.0,3.0]))

#法三:
from statistics import *
#引入整个模块(*),引用时不需要加上函数名
#不推荐使用,因为这样可能和别的模块的同名函数产生冲突混淆
print(median([1,2.0,3.0]))


引入第三方库的模块:

#引入第三方库的模块

"""
第一步:下载安装(相当于把家具从家具店拖到自家仓库)
     而引入,则是把家具从自家仓库里拿出使用
     (常用的函数被说明为内置函数,已在家中,则不需要引入,可以直接使用)
"""

"""
pypi.org可以对第三方库进行搜索(python package index软件包索引)
"""

"""
在终端输入pip install akshare(pip install **为安装指令)
"""

"""
第二步:引入
"""

import akshare
print(akshare.get_cffex_daily("20220222"))

tips:

再长按ctrl,点击函数名或模块名,可以查看它的解释 

3、类与对象

面向对象编程(oop,object oriented programming)

class CuteCat: #类名用驼峰命名法
    #构造函数,def __init__(self,参数):
    def __init__(self,cat_name,cat_age,cat_color):
        self.name=cat_name   #要加self,防止和全局变量混淆
        self.age=cat_age
        self.color=cat_color
    #就是在构造函数中声明定义了类的数据成员(属性)

    def speak(self):
        print("喵"*self.age) #print("hello"*10),可以在括号内直接乘以打印次数

    def think(self,content):
        print(f"小猫{self.name}在思考{content}...")

cat1=CuteCat("Jojo",2,"橙色")

print(f"小猫{cat1.name}的年龄是{cat1.age}岁,花色是{cat1.color}")

cat1.speak()
cat1.think("今晚吃什么")

#定义学生类
class Student:
    def __init__(self,name,student_id):
        self.name=name    #self.name说明是绑定到对象身上的属性
        self.student_id=student_id
        self.grades={"语文":0,"数学":0,"英语":0} #成绩可以用字典来存储,均初始化为0

    def set_grade(self,course,grade): #设置科目成绩->传两个参数:科目和成绩
        if course in self.grades.keys(): #.keys()返回所有键
            self.grades[course]=grade

    def print_grades(self): #打印所有成绩
        print(f"学生{self.name}(学号:{self.student_id})的成绩为: ")
        for course in self.grades.keys():  #for course in self.grades: 则默认是遍历字典的键
            print(f"{course}: {self.grades[course]}分")

zeng=Student("小曾","202330452242")
zeng.set_grade("语文",100)
zeng.set_grade("数学",100)
zeng.set_grade("英语",100)
zeng.print_grades()

继承: 

#人力系统

class Employee:  #基类
    def __init__(self,name,id): #构造函数
        self.name=name
        self.id=id
        self.salary=0

    def print_info(self): #打印信息
        print(f"员工名字:{self.name},工号:{self.id},工资{self.salary}")

class FullTimeEmployee(Employee): #(基类名字)表示继承基类
    def __init__(self,name,id,monthly_salary):
        super().__init__(name,id)  # super().__init__(参数) 表示调用基类的构造函数
        self.monthly_salary=monthly_salary
        self.salary=self.monthly_salary

class PartTimeEmployee(Employee):
    def __init__(self,name,id,daily_salary,work_days):
        super().__init__(name, id)
        self.daily_salary=daily_salary
        self.work_days=work_days
        self.salary=self.daily_salary*self.work_days


zhangsan=FullTimeEmployee("张三","1001",6000)
lisi=PartTimeEmployee("李四","1002",230,15)
zhangsan.print_info()
lisi.print_info()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/785133.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

红外光气体检测:1.分子振动与红外吸收、检测系统的基本模型和红外敏感元件

分子振动与红外吸收 分子偶极矩的变化频率与分子内原子振动状态有关&#xff1a;μqd&#xff0c;其中μ是偶极矩&#xff0c;q是电荷&#xff0c;d是正负电荷中心距离。 分子在…

怎样优化 PostgreSQL 中对布尔类型数据的查询?

文章目录 一、索引的合理使用1. 常规 B-tree 索引2. 部分索引 二、查询编写技巧1. 避免不必要的类型转换2. 逻辑表达式的优化 三、表结构设计1. 避免过度细分的布尔列2. 规范化与反规范化 四、数据分布与分区1. 数据分布的考虑2. 表分区 五、数据库参数调整1. 相关配置参数2. 定…

深度学习-梯度下降算法-NLP(五)

梯度下降算法 深度学习中梯度下降算法简介找极小值问题数学上求最小值梯度梯度下降算法 找极小值问题在深度学习流程中深度学习整体流程图求解损失函数的目标权重的更新 深度学习中梯度下降算法简介 找极小值问题 引子&#xff1a; 我们训练一个人工智能模型&#xff0c;简单…

记录一次Nginx的使用过程

一、Docker安装配置nginx 1.拉取镜像 docker pull nginx2.创建挂载目录 启动前需要先创建Nginx外部挂载目录文件夹 主要有三个目录 conf&#xff1a;配置文件目录log&#xff1a;日志文件目录html&#xff1a;项目文件目录&#xff08;这里可以存放web文件&#xff09; 创建挂…

【沐风老师】3DMAX建筑体块生成插件BuildingBlocks使用方法详解

BuildingBlocks建筑体块生成插件使用方法详解 听说你还在手动建配景楼&#xff1f;有了BuildingBlocks这个插件&#xff0c;一分钟搞定喔&#xff01; 3DMAX建筑体块生成插件BuildingBlocks&#xff0c;用于快速自定义街道及生成配景楼区块。 【适用版本】 3dMax2019及更高版…

鸿蒙语言基础类库:【@ohos.process (获取进程相关的信息)】

获取进程相关的信息 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。…

【专项刷题】— 位运算

常见类型介绍&#xff1a; & &#xff1a;有 0 就是 0 | &#xff1a;有 1 就是 1 ^ &#xff1a;相同为 0 &#xff0c;相异为 1 或者 无进位相加给定一个数确定它的二进制位的第x个数是0还是1&#xff1a;将一个数的二进制的第x位改成1&#xff1a;将一个数的二进制的第x…

无人机在交通管理方面的应用与潜力

随着智能化和数字化技术的发展&#xff0c;无人机已经成为智慧交通管理体系中的重要一环。无人机能够搭载各种专业设备&#xff0c;如超清摄像头、红外热成像摄像头、目标跟踪器等&#xff0c;从而完成多任务的数据采集和快速机动的任务执行。这些数据通过无线传输实时回传&…

RxJava学习记录

文章目录 1. 总览1.1 基本原理1.2 导入包和依赖 2. 操作符2.1 创建操作符2.2 转换操作符2.3 组合操作符2.4 功能操作符 1. 总览 1.1 基本原理 参考文献 构建流&#xff1a;每一步操作都会生成一个新的Observable节点(没错&#xff0c;包括ObserveOn和SubscribeOn线程变换操作…

YOLOv10改进 | 主干篇 | 低照度增强网络PE-YOLO改进主干(改进暗光条件下的物体检测模型)

一、本文介绍 本文给大家带来的改进机制是低照度图像增强网络PE-YOLO中的PENet&#xff0c;PENet通过拉普拉斯金字塔将图像分解成多个分辨率的组件&#xff0c;增强图像细节和低频信息。它包括一个细节处理模块&#xff08;DPM&#xff09;&#xff0c;用于通过上下文分支和边…

【安全设备】日志审计

一、什么是日志审计 日志审计是一站式的日志数据管理平台&#xff0c;主要致力于提供事前预警、事后审计的安全能力&#xff0c; 通过对日志数据的全面采集、解析和深度的关联分析&#xff0c;及时发现各种安全威胁和异常行为事件。日志审计是指通过集中采集信息系统中的各类信…

Chain-of-Verification Reduces Hallucination in Lagrge Language Models阅读笔记

来来来&#xff0c;继续读文章了&#xff0c;今天这个是meta的研究员们做的一个关于如何减少LLM得出幻觉信息的工作&#xff0c;23年底发表。文章链接&#xff1a;https://arxiv.org/abs/2309.11495 首先&#xff0c;这个工作所面向的LLM的问答任务&#xff0c;是list-based q…

怎样优化 PostgreSQL 中对日期时间范围的模糊查询?

文章目录 一、问题分析&#xff08;一&#xff09;索引未有效利用&#xff08;二&#xff09;日期时间格式不统一&#xff08;三&#xff09;复杂的查询条件 二、优化策略&#xff08;一&#xff09;使用合适的索引&#xff08;二&#xff09;规范日期时间格式&#xff08;三&a…

前沿重器[53] | 聊聊搜索系统6:精排

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享&#xff0c;从中抽取关键精华的部分和大家分享&#xff0c;和大家一起把握前沿技术。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。&#xff08;算起来&#xff0c;专项启动已经…

IDEA启动tomcat之后控制台出现中文乱码问题

方法1&#xff1a; 第一步&#xff1a;file--setting--Editor--File Encodings 注意页面中全部改为UTF-8&#xff0c;然后apply再ok 第二步&#xff1a;Run--Edit Configuration&#xff0c;将VM options输入以下值&#xff1a; -Dfile.encodingUTF-8 还是一样先apply再ok …

视频图文理解关联技术与创业团队(二)

上一篇&#xff1a;google gemini1.5 flash视频图文理解能力初探&#xff08;一&#xff09;提到了gemini 1.5 flash 可以对视频进行理解以及分析&#xff0c;但是整体在检索任务上效果不佳。 这几天参加了人工智能大会 网上收集&#xff0c;看一看有相似能力的一些技术点、创…

生物素化果胶粒子包裹药物阿霉素;DOX/Bio-PEC

生物素化果胶粒子包裹药物阿霉素&#xff08;DOX/Bio-PEC&#xff09;是一种新型的药物载体系统&#xff0c;结合了生物素和果胶多糖的优势&#xff0c;旨在提高药物的靶向性和控释性能。以下是对该系统的详细解析&#xff1a; 一、生物素化果胶粒子的制备 原理与步骤&#xff…

独立开发者系列(22)——API调试工具apifox的使用

接口的逻辑已经实现&#xff0c;需要对外发布接口&#xff0c;而发布接口的时候&#xff0c;我们需要能自己简单调试接口。当然&#xff0c;其实自己也可以写简单的代码调试自己的接口&#xff0c;因为其实就是简单的request请求或者curl库读取&#xff0c;调整请求方式get或者…

甄选范文“论区块链技术及应用”,软考高级论文,系统架构设计师论文

论文真题 区块链作为一种分布式记账技术,目前已经被应用到了资产管理、物联网、医疗管理、政务监管等多个领域。从网络层面来讲,区块链是一个对等网络(Peer to Peer, P2P),网络中的节点地位对等,每个节点都保存完整的账本数据,系统的运行不依赖中心化节点,因此避免了中…

MATLAB基础应用精讲-【数模应用】分层聚类(附python代码实现)

目录 前言 知识储备 层次聚类 1. 算法解读: 2. 步骤和细节: 3. 举例: 4. 算法评价: 5. 算法的变体: 算法原理 基本思想 分层聚类网络的原理 分层聚类网络的优势 分层聚类网络的应用领域 SPSSAU 分层聚类案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果…