新手学习Python第九天-新手笔记 速学中

现在是北京时间06:55,早上06:44到达实验室,开始学习。对,昨天陪室友考教师资格证了,溜溜达达一天很舒服,两周一次的放松感。这几天和未来几天的压力真的很大,有很多要去学习的,比如Carsim、simulink、ROS2、Python、算法的文章,要尽快啃完,加油!

一、继承

先复习一下前天的学习内容。

class Car:               定义一个Car的类def __init__(self,brand):    参数为brandself.brand=brand         固定操作赋值def start(self):            定义类方法print('汽车已启动')      显示car=Car('梅赛德斯')       将Car类赋给car,可以任意调用
car.start()               调用类方法
print(car.brand)           调用参数brand

class Person(object):        #定义一个类引用父类object 不写里面的也可以def __init__(self,name,age):       定义参数self.name=name               self.age=age                  基础操作赋值def info(self):                   类方法print(self.name,self.age)      打印输出 
class Student(Person):            定义子类引用上面的父类 def __init__(self,name,age,stu_no):    定义里面的参数 super().__init__(name,age)        引用父类中的name与age self.stu_no=stu_no                 基础操作赋值 
class Teacher(Person):                与上面相同操作 定义子类 def __init__(self,name,age,techofyear):       设置相应参数 super().__init__(name,age)           引用父类进行初始化self.techofyear=techofyear          基础操作赋值stu=Student('张三',20,2023204027)         给student设置参数 
tea=Teacher('李四',40,10)                 给Teacher设置参数
stu.info()                               student的引用父类
tea.info()                               teacger的引用父类

这是属于单继承关系,还有多继承关系。

1.2多继承关系

class A(object):pass
class B(object):   A与B同时继承objectpass
class C(A,B):     此处C先继承A,再继承Bpass

1.3方法重写

子类重写后的方法中可以通过 super().xxx()调用父类中被重写的方法

xxx为父类中类方法的名字

但这样只有学号,我还想要其他信息没有怎么办?利用上述的办法重写结构

super().info()就可以调用父类中的类方法啦

class Person(object):def __init__(self,name,age):self.name=nameself.age=agedef info(self):print(self.name,self.age)class Student(Person):def __init__(self,name,age,stu_no):super().__init__(name,age)self.stu_no=stu_no
    def info(self):super().info()print(self.stu_no)
class Teacher(Person):def __init__(self,name,age,techofyear):super().__init__(name,age)self.techofyear=techofyear
    def info(self):super().info()print(self.techofyear)stu=Student('张三',20,2023204027)
tea=Teacher('李四',40,10)
stu.info()
tea.info()

1.4 object类

1.4.1 是所有类里的父类

1.4.2 内置函数dir()可以查看指定对象所有属性

1.4.3 object有一个_str_()方法 

class Student:passstu=Student()
print(dir(stu))

举一个例子:

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
   def __str__(self):
        return ('我的名字是{0},年龄{1}岁'.format(self.name,self.age))  熟练掌握

stu=Student('张三',20)
print(dir(stu)) 
print(stu)    默认调用__str__()这样的方法 用于返回对象的描述

2.多态

class Animal:def eat(self):print('动物会吃啥腻') 
class Cat(Animal):def eat(self):print('猫咪吃鱼')
class Dog(Animal):def eat(self):print('狗吃骨头')def fun(obj):    obj.eat()   这是一门动态语言学——python,不管你是什么类型,只要你存在这个行为,我就可以把你归为一类,去叫你。

3.特殊属性:

3.1 dir()

首先之前学的dir()可以查看该函数的特殊属性和方法

——————18:59——————

              下午打了羽毛球,打得很舒服,这次没有感觉累,学会了用羽毛球拍捡球,真的好玩,有好几次球速度那么快我都能接到,真的运动可以锻炼反应能力,刚洗完澡来到实验室,今天的月亮好圆,祝大家中秋节小长假快乐呀——

3.2  __dict__ 可以查看对象的属性和方法

在 Python 中,__dict__ 属性用于获取对象的字典,这个字典包含了对象的所有属性和方法。对于一个类的实例__dict__ 包含了实例的所有属性

class A:pass
class B:pass
class C:def __init__(self,name):self.name=namex=C('Jack')
print(x.__dict__)

x是C的实例对象, 其中只有一个参数name,用__dict__查看到属性为name,对应的值为Jack

这样可能看不明白,那么我再写一个就清楚了。

class A:pass
class B:pass
class C:def __init__(self,name,age):self.name=nameself.age=agex=C('Jack',20)
print(x.__dict__)

这里的属性为键(key).

class A:pass
class B:pass
class C:def __init__(self,name,age):self.name=nameself.age=agex=C('Jack',20)   #x是C类型的一个实例对象
print(x.__dict__)   #实例对象的属性字典
print(x.__dict__)   #实例对象的属性字典
print(C.__dict__)
print(x.__class__)  #输出了对象所属的类
print(C.__bases__)  #C类的所有父亲类型的元素
print(C.__base__)   #输出C类最近的父类 (即基类)
print(C.__mro__)    #该类C类的层次结构
print(A.__subclasses__())  #该类A下的子类有哪些 (子类的列表)

还是刚才的显示该类下,子类的程序演示

总结创建子类,class 类别 (父类):

特殊属性:__dict__ :获得类对象或实例对象

                                 ——21:49回寝室——

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

html实现好看的多种风格手风琴折叠菜单效果合集(附源码)

文章目录 1.设计来源1.1 风格1 -图文结合手风琴1.2 风格2 - 纯图片手风琴1.3 风格3 - 导航手风琴1.4 风格4 - 双图手风琴1.5 风格5 - 综合手风琴1.6 风格6 - 简描手风琴1.7 风格7 - 功能手风琴1.8 风格8 - 全屏手风琴1.9 风格9 - 全屏灵活手风琴 2.效果和源码2.1 动态效果2.2 源…

【系统方案】智慧园区数字园区整体解决全套方案(PPT,Word原件等)

智慧园区建设要点可归纳为以下几点: 基础设施建设:构建高速、稳定的网络基础设施,部署物联网设备,实现园区内设备的互联互通,为智慧化应用提供基础支撑。 数据平台建设:建立统一的数据中心,整合…

基于51单片机的红外测速系统(简单项目)

基于51单片机的红外测速系统使用STC89C52RC作为系统,利用L298N作为电机驱动器件,使用TM1638驱动数码管继续显示,程序运行,电机转动,对射式红外测量编码盘产生的下降沿,一般而言,在指定时间内获得…

【pytorch学习笔记,利用Anaconda安装pytorch和paddle深度学习环境+pycharm安装---免额外安装CUDA和cudnn】

作者链接: link 一、安装pytorch环境 1.打开打开anaconda的终端后 conda env list然后创建一个名字叫pytorch,python是3.8版本的环境 conda create -n pytorch python3.8再次看环境 conda env list# conda environments: #显示如下环境 base …

基于springboot的慕课学习平台设计与实现

博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…

【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件

【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件 一、STM32 ST-LINK UtilitySTM32 ST-LINK Utility简介功能概述: STM32 ST-LINK Utility作用使用场景: 二、KEIL生成HEX和BIN文件1. 生成HEX文件2. 生成BIN文件 三、STM32 ST-LINK Utility烧录1…

pywebview 中错误使用async

错误代码 正确示例 完整代码 前端代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>pywebview …

分布式事务学习笔记(四)微服务实现Stata AT模式、Stata Saga模式介绍

文章目录 前言4 Seata AT 模式4.1 实现原理4.2 脏写问题4.3 微服务实现AT模式4.3.1 新建数据库表4.3.2 修改配置文件4.3.3 重启服务并测试 5 Seata Saga 模式 前言 分布式事务学习笔记(一)分布式事务问题、CAP定理、BASE理论、Seata 分布式事务学习笔记(二)Seata架构、TC服务器…

小间距LED显示屏的技术原理分析

在现代显示技术领域&#xff0c;小间距LED显示屏以其卓越的显示效果和灵活的应用场景&#xff0c;逐渐成为市场的新宠。本文将深入探讨小间距LED显示屏的技术原理&#xff0c;分析其在显示领域的应用优势。 A、小间距LED显示屏的基本概念 小间距LED显示屏是指LED灯珠之间的间距…

大模型微调基本概念指北,零基础入门到精通,收藏这一篇就够了

本文主要分享一下大模型微调相关的基本概念&#xff0c;包括大模型(GPT)训练流程、微调(SFT)方法&分类&框架&最佳实践、强化学习(RLHF)&#xff0c;最后则是分享了如何训练垂直领域大模型。 本文是参考网上博客、文章后进行总结而成&#xff0c;旨在让刚接触大模型…

03-Mac系统PyCharm主题设置

目录 1. 打开PyCharm窗口 2. Mac左上角点击PyCharm&#xff0c;点击Settings 3. 点击第一项Appearance& Behavior 4. 点击Appearance 5. 找到Theme进行设置 1. 打开PyCharm窗口 2. Mac左上角点击PyCharm&#xff0c;点击Settings 3. 点击第一项Appearance& Behavi…

软考高级:嵌入式系统:片级初始化、板级初始化、系统级初始化 AI 解读

生活化例子 想象一下你要启动一辆车&#xff0c;这个过程就可以类比成嵌入式系统的初始化过程。 片级初始化&#xff1a;相当于启动汽车引擎&#xff0c;确保发动机、变速箱这些核心部件能够正常工作。板级初始化&#xff1a;就像检查车子的电子系统、灯光、车窗是否正常&am…

整流电路的有源逆变工作状态

目录 1. 逆变的概念 2. 有源逆变的条件 3. 电流电路的概念 4. 产生逆变的条件 5. 三相桥式全控整流电路的有源逆变工作状态 6. 逆变角的概念 7. 逆变失败的原因 8. 最小逆变角的限制 整流电路的有源逆变状态是指通过控制整流器&#xff0c;使其将直流电源的能量反向送回…

如何写出军工级的代码?

编写军工级代码意味着要达到极高的可靠性、安全性、可维护性和效率&#xff0c;这通常涉及到严格的标准和流程。以下是一些关键点&#xff0c;帮助你编写军工级的代码&#xff1a; 1. 遵循严格的开发流程 军工项目通常需要遵循特定的软件开发标准&#xff0c;例如&#xff1a;…

农产品自主供销小程序--论文源码调试讲解

第二章 开发技术介绍 此次管理系统的关键技术和架构由B/S结构、java和mysql数据库&#xff0c;是本系统的关键开发技术&#xff0c;对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。 2.1 系统开发平台 在该在线农产品自主供销小程序中&a…

WebMagic:强大的Java网络爬虫框架

上班苦上班累&#xff0c;上班就想打瞌睡。 在当今信息爆炸的时代&#xff0c;数据的获取和处理变得越来越重要。网络爬虫作为获取网络数据的重要工具&#xff0c;已经成为许多开发者和数据科学家的必备技能。今天&#xff0c;我们将介绍一个广受欢迎的Java网络爬虫框架——We…

为什么Python有了列表list、元组tuple、字典dict这样的容器后,还要弄个集合set?

因为set是数学意义上的集合&#xff0c;拥有唯一和无序的特性&#xff0c;即用来存放没有顺序且无重复的数据&#xff0c;并且元素是不可变的。 这和list、tuple完全不同&#xff0c;这两个能存放相同的元素&#xff0c;且支持索引&#xff0c;有顺序。 set可以很方便的进行并…

激光模组多少钱一套?具体费用的决定因素

激光模组作为现代科技领域的重要组件&#xff0c;然而&#xff0c;对于许多潜在买家而言&#xff0c;激光模组的价格往往是一个令人困惑的问题。本文将跟大家一起探讨激光模组的价格范围及其具体费用的决定因素。 激光模组的价格范围 激光模组的价格因多种因素而异&#xff0c;…

【2025深圳春季全球高端食品展览会展位开始预订】

2025深圳春季全球高端食品展览会 时间&#xff1a;2025年2月23-25日 地点&#xff1a;深圳国际会展中心&#xff08;宝安&#xff09; 随着全球食品行业的蓬勃发展&#xff0c;中国作为世界第二大经济体&#xff0c;其食品市场规模持续扩大&#xff0c;展现出巨大的发展潜力…

.NET 一款免杀的白名单工具可执行系统命令

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…