python学习笔记(五)—— 类

别再死记硬背了!用51单片机的AD/DA和PWM,亲手做个简易示波器信号发生器 本文详细介绍了如何利用51单片机的PWM和AD/DA功能制作简易示波器信号发生器。通过PWM模拟DAC输出波形,结合XPT2046 ADC进行信号测量,实现方波、三角波和正弦波的生成与显示。项目不仅成本低廉,还能帮助电子爱好者深入理解51单片机的核心功能,是理论与实践结合的绝佳案例。 阅读详情

Python中根据约定,首字母大写的名称指的是类。参数self必不可少且必须位于其他形参的前面。因为python调用__init__()方法创建Dog实例时,将自动传入实参self。它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

例1

#创建dog类,
class Dog():
    def __init__(self,name,age):   #__init__()下划线是双份的......
        """初始化属性name和age"""
        self.name = name  #以self为前缀的变量都可供类中的所有方法使用
        self.age = age
    def sit(self):
        """模拟被命令时蹲下"""
        print(self.name.title() + " is now sitting.")
    def roll_over(self):
        print(self.name.title() + " rolled over!")
#根据类创建实例
my_dog = Dog('willie',6)
print("My dog's name is " + my_dog.name.title() +".")
print("My dog is " + str(my_dog.age) + " yesrs old.")
my_dog.sit()
my_dog.roll_over()

 

例2

#使用类和实例
#car类
class Car():
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0 #给属性一个默认的值
    def get_descriptive_name(self):
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()
    def read_odometer(self):
        print("This car has " + str(self.odometer_reading) + " miles on it")
    #增加修改odometer的方法
    def update_odometer(self,mileage):
        if mileage > self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("You can't roll back an odometer")        
my_new_car = Car('audi','a4','2020')
print(my_new_car.get_descriptive_name())
my_new_car.read_odometer()
#直接修改属性的值
my_new_car.odometer_reading = 60
my_new_car.read_odometer()
#通过方法修改属性的值
my_new_car.update_odometer(80)
my_new_car.read_odometer()

 

 

继承

一个类继承另一个类的时候,它将自动获取另一个类的所有属性和方法,原有类称为父类,新的类称为子类。

例1

#电动汽车类,ElectricCar类继承Car类
class ElectricCar(Car):  #定义子类时,括号内必须包含父类的名称
    def __init__(self,make,model,year):
        super(). __init__(make,model,year)  #super()是一个特殊的函数,将父类和子类关联起来
        self.battery_size = 70
    def describe_battery(self):
        print("This car has a " + str(self.battery_size) + "-kWh battery.")
my_tesla = ElectricCar('tesla','model s','2020')
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()

#将实例用作属性
class Battery():
    def __init__(self,battery_size=70):
        self.battery_size = battery_size
    def describe_battery(self):
        print("This car has a " + str(self.battery_size) + "-kWh battery.")
class ElectircCar2(Car):
    def __init__(self,make,model,year):
        super().__init__(make,model,year)
        self.battery = Battery()
my_tesla2 = ElectircCar2('tesla','model s','2020')
print(my_tesla2.get_descriptive_name())
my_tesla2.battery.describe_battery()

 

DID实战指南:从平行趋势检验到PSM-DID的Stata全流程解析 本文详细解析了双重差分法(DID)在政策评估中的应用,从平行趋势检验到PSM-DID的Stata全流程操作。通过实例演示和代码示例,帮助研究者掌握DID方法的核心逻辑、前提条件验证及稳健性检验技巧,提升因果推断研究的准确性。 阅读详情

相关推荐

Grafana图像渲染插件安装全攻略:解决依赖缺失问题(附完整命令清单)

本文详细介绍了在CentOS/RHEL环境下安装Grafana图像渲染插件`grafana-image-renderer`的全过程,包括解决常见的依赖缺失问题。通过提供完整的命令清单和疑难问题排查指南,帮助用户高效部署和优化插件性能,确保图像渲染功能稳定运行。

weixin_30399821的博客 86

python从入门到实践笔记(七)

时间:2018/5/3主要内容:    类    面向对象编程时最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。 编写类时,你定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后根据需要赋予每个对象独特的个性。根据类来创建对象被称为实例化。创建和使用类    使用类几乎可以模拟各种东西。创建Dog类    根...

oldniuniuslover的博客 429

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整论文+代码+结果

2024国赛A题参考论文。2024国赛D题参考论文。2024国赛E题参考论文。2024国赛B题参考论文。2024国赛C题参考论文。

qq_52590045的博客 5358

Python学习笔记(13)- 类

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。类 创建类 class Dog(): def __init__(self,name,age): """初始化对象属性"""

也许我太傻 451

基于ESP32-WROOM的智能蓝牙电压电流监测与远程控制系统设计

本文介绍了基于ESP32-WROOM的智能蓝牙电压电流监测与远程控制系统设计。该系统集成了INA219传感器和OLED显示屏,通过蓝牙实现无线数据传输和远程控制,适用于智能家居能耗监控和工业设备管理,具有成本低、精度高、功耗优化等优点。

qsc901234的博客 203

Android System Slice应用加载分析,及启用Slice后,锁屏日期第一次开机正常显示,但后面锁屏不显示问题分析

最近发现Android P上锁屏界面,日期不显示,发现从P开始后,出现了Slice来允许应用以模块化,可交互的方式,插入多个使用场景。Android P的system UI 也使用到了这一特性,表现为锁屏时间,日期,勿扰图标,闹钟等。 如何使用Slice 以System UI中KeyguardSliceView.java来说明它的使用方法 首先,我们打开System UI 的mk 文件,可以看到以...

qq_33595823的博客 3035

Python类

metaclass_ = type #Python2请包含这行代码 class Person : def set_name(self , name) : self . name = name def get_name(self) : return self . name def greet(self) : print('你好,我是(),很高兴认识你' . format(self . name))示例包含了三个方法定义,类似于函数定义,但位于class语句内。class语句创建独立的命名空间。...

m0_73076093的博客 556

论文阅读:2024 ACM CCS “Do Anything Now”: Characterizing and Evaluating In-The-Wild Jailbreak Prompts on

大语言模型(LLMs)的滥用问题引起了公众和大语言模型供应商的高度关注。有一种特殊的对抗性提示,叫做越狱提示,它已成为绕过防护措施、让大语言模型生成有害内容的主要攻击手段。在这篇论文中,作者使用新框架JailbreakHub,对2022年12月至2023年12月期间的1405个越狱提示进行了全面分析。作者识别出131个越狱提示社区,发现了越狱提示的独特特征以及主要攻击策略,比如提示注入和权限提升。

CSPhD-winston的博客 1412

Python -- 8. 类

1. 创建和使用类 根据约定,在Python中,首字母大写的名称指的是类。 (1). 创建 类class Dog(): """一次模拟小狗的简单尝试""" def __init__(self, name, age): """初始化属性name和age""" self.name = name self.age = age def

脚踏实地,仰望星空 2652

MIKE水动力笔记7_实测数据与模型输出结果的拟合对比

上一博文【MIKE水动力笔记6】主要讲解如何自己制作实测数据的时间序列文件dfs0,而本博文讲解如何进行实测数据与模型输出结果的拟合对比。

晏长街的博客 1万+

lammps后处理:堆垛层错和孪晶的数量统计

python调用ovito包可以免费实现ovito pro版本的功能,不需要安装ovito pro软件,如统计位错线长度、CNA结构、键角分布等,如需深入学习,可考虑报名python ovito后处理课程,或lammps一对一课程。lammps金属变形模拟中,可能会产生堆垛层错或者孪晶等结构,但是ovito免费版本无法统计这些结构的数量。使用python和ovito软件包,则可以方便的统计出这些结构的数量。大家好,我是小马老师。

lammps_jiayou的博客 466

记录Python学习之路-----------------------------------------------------类

最近因为双十一和工作的事很忙,一直没有时间忙Python,想着现在有空赶紧更新我的博客。最近也一直在搜集Python的习题,有空的时候就练一练。好了上一章复习了函数,这一章就讲述类的用法。 类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的...

shinhwa96的博客 256

【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换

1 坐标系定义及转换   首先介绍一下世界坐标系和相机坐标系之间的转换,它们之间是存在一个转换关系的。现假设空间中一点X,它在相机坐标系下的坐标是Xcamera,在世界坐标系下的坐标是Xworld。假设它通过R和t实现从相机坐标系到世界坐标系之间的转换: Xworld = RXcamera + t   那么,由上式,我们可以推得从世界坐标系向相机坐标系的转换关系(RT=R-1,所以通常直接使用RT即可): Xcamera = RTXworld - RTt   所以,两个坐标系之间的转换,需要看其具体

zeeq的博客 2万+

Python学习笔记五——文件、os、类和对象

目录学习笔记五——文件、os、类和对象file打开文件方式文件对象的操作方法学习对excel及csv文件进行操作os模块导入os模块:import os相关方法:datetime模块类和对象正则表达式re模块http请求 学习笔记五——文件、os、类和对象 file 打开文件方式 open() 将会返回一个 file 对象,基本语法格式为:open(file, mode='r', bufferi...

m0_38010011的博客 503

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python 学习笔记(五)—— 包、类、方法

继承(Inheritance):继承指的是一种对象间的关系,一个子类可以继承父类的属性和方法,并可以添加自己的属性和方法。多态(Polymorphism):多态指的是同一种方法对不同的对象可以产生不同的结果,即一个接口,多种实现。

歆歆~黯了 1587

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python学习笔记(五)————类和实例

1、创建和简单使用 类可以反映现实的事物 代码: class Dog(): # 类名首字母大写 """模拟小狗的简单测试""" def __init__(self, name, age): # 该方法在类创建的时候会自动运行,类似java的构造函数,注意方法名开头和末尾各有两个下划线 """初始化属性name和age""" self.name = name self.age = age def sit(self): #

冰与火的青春的博客 372

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python学习笔记(五) 类与对象

这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面地掌握 Python

半虹小站 870

python创建person类用printinfo方法_Python学习笔记(五) 类与对象

这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧1、内置方法(1)issubclass(class, classinfo)检查 class 是否为 classinfo 的子类,classinfo 可以是一个类也可以是由多个类组成元组注意 class 被认为是 class 的子类,也被认为是 object 的子类,若传入的类型与期望不符...

weixin_32048757的博客 1397

嵌入式SDK深度评测:Muse Gadget架构与低功耗OTA实战解析

在物联网设备开发中,嵌入式系统面临资源受限、功耗敏感和固件升级复杂等挑战,而一套设计良好的嵌入式SDK往往能显著缩短研发周期。优秀的SDK不仅提供基础驱动封装,更需在硬件抽象、任务调度、数据采集、低功耗管理和安全通信等层面给出系统性解决方案。Muse Gadget SDK正是这样一款面向智能硬件的全链路开发工具包,其分层架构实现了“小型芯片可运行、功能模块可裁剪”的平衡,通过设备抽象层屏蔽MCU差异,内置的功耗状态机与唤醒源管理让电池供电产品更耐用,而双备份OTA升级机制则保障了远程固件更新的可靠性与安全性

weixin_34006965的博客 338

Python学习笔记之五:类定义

这里,我定义了一个类,初始化函数,Show函数,并且定义了文档字符串,使用了help函数和__doc__来调用文档字符串 >>> class FooClass(object): "This is my first class !" def __init__(self, name="NoName"): "This is a kinda c...

weixin_33757609的博客 76

python学习笔记(五)---函数与类

函数 形参与实参 形参即定义函数时函数括号里面的参数,实参即实际使用过程中传进去的参数 位置实参与关键字实参 类 导入类 继承 子类的属性

lonmar的博客 258

python的函数与类_python学习笔记(五)---函数与类

函数def为定义函数的一个标志demo1:def greet_user(username):print("Hello, " + username.title() + "!")greet_user('jesse')> Hello Jesse!形参与实参形参即定义函数时函数括号里面的参数,实参即实际使用过程中传进去的参数位置实参与关键字实参demo:def describe_pet(animal...

weixin_39907762的博客 109

python基础学习笔记(五)——类和继承class

类class 面向对象的程序设计中的一种数据结构,内部包括数据(属性)和函数(对属性进行操作)。 面向对象的程序设计三个特性:封装、继承和多态,是基于类和对象的操作。 注意类的定义格式,每个类都包括一个初始化函数(构造函数)来初始化数据。 注意:类中定义的每一个函数都有一个默认参数self(用于封装),且必须为第一个参数. class Person: def __init__(s...

AndesStay的博客 624

python学习笔记五——自定义一个实现序列接口的类

5.自定义一个实现序列接口的类 自定义的类实现了以下功能: 基本的序列协议——__len__和__getitem__ 正确表述拥有很多元素的实例 适当的切片支持,用于生成新的vector实例 综合各个元素的值计算散列值 自定义的格式语言扩展 #实现鸭子模型 from array import array import math ​ cla...

Little Garden 509

Python学习笔记五(面向对象-类-方法-属性)

这里所列的都是从C#的角度来看的,可能觉得不是很恰当。但是对于抽象的概念,更方便理解。 函数的定义 class Python中的类没有什么public、private、protect 构造函数、析构函数 __init__(self) __del__(self) 类的静态变量 class Student   name="abc" 这东西其实就是相当于C#中的静态变量,但这里要注意是,初始化类的静...

我的鱼塘 207

《Python 3 面向对象编程》学习笔记(五)-类重写与super函数

以上:class Friend(Contact):重写了初始化函数:按照OOP框架,继承类里重写方法(函数),重写方法会OverRide父类同名方法(函数参数可以不同),但上述做法会导致继承类重复父类已声明过的self属性,所以在python中引入了supper函数.(2)super函数的功能: 获取父类对象的实例,然后调用对应的__init__方法,传入预期的参数。关系很适合向已存在的类中添加新的行为(函数),适合修改某些行为(函数)。

www_djh的博客 119
上一篇: python学习笔记(四)—— 函数
下一篇: python学习笔记(六)—— 错误处理
fighting_jun
博客等级 码龄11年 2粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值