神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(Python面向对象的编程)

面向对象的程序设计(OOP)

对象(object): 将属性和方 法封装在一起。

类(class):

具有相同的属性和方法的对象集合。

对象是类的实例

子类继承了父类的全部属性和方法, 并且也有自己特有的属性和方法。

继承描述了类之间的层次关系

声明类

class 类名:

    类属性=初值

    方法(参数列表)

访问类属性

类名. 类属性

对象名.类属性

#类
class Person():#成员变量 类属性money=100000#成员函数 类方法def say_hello(self):#方法中必须有一个参数self,而且它是参数列表中的第一个参数#由同一个类可以生成很多个对象,每一个对象,都有一个专属的self,代表这个对象自身print("hello")
#创建对象
zhangsan = Person()
#访问对象类属性成员变量
print(zhangsan.money)
#这是一个动态添加的实例属性,它只属于zhangsan自己,如果重新创建其他的Person()对象,是没有这个属性的
zhangsan.major="computer"
print(zhangsan.major)
#访问类属性成员函数
zhangsan.say_hello()
Person.money=12#修改类属性,所有实例的值都会发生变化。
#删除对象
del zhangsan

构造函数:

(可以省略)

__init__(self, 参数2, 参数3, ....)

在创建对象时,用来完成初始化操作。

当创建对象时,系统会自动调用构造函数。

可以把对成员变量赋初值的语句写在构造函数中,从而保证每个变量 都有合适的初始值

析构函数:

(可以省略)

__del__( )

在清除对象时,回收和释放对象所占用的资源。

class Person:#在Python中,构造函数和析构函数也可以省略。#构造函数:在创建对象时,用来完成初始化操作。#当创建对象时,系统会自动调用构造函数。#gender="男"默认初值def __init__(self,name,age,gender="男"):self.name=nameself.age=ageself.gender=gender#析构函数:在清除对象时,回收和释放对象所占用的资源def __del__(self):print("Bye bye from",self.name)def printInfo(self):print("姓名:",self.name,"年龄:",self.age,"性别:",self.gender)zhangsan = Person("张三",18)
lisi = Person("李四",19,"女")
zhangsan.printInfo()
lisi.printInfo
del zhangsan
del lisi

静态方法和类方法

类方法

可以通过类名或者对象调用。

不能访问实例属性,但可以访问类属性(类声明时就有的)

class 类名:

    @classmethod

    def 类方法名(cls,):

        方法体

静态方法

可以通过类名或者对象名调用,

不能访问实力属性,也不能直接访问类属性,但是可以通过类名引用类属性

class 类名:

    @staticmethod

    def 类方法名():

        方法体

公有变量和私有变量

公有变量:可以在类的外部访问

保护变量:值允许其本身和子类进行访问

私有变量:不允许在类的外部访问

__XXX:私有变量

_XXX:保护变量

__XXX__:专有变量,方法

继承:

子类能够继承父类中所有非私有的成员变量和成员函数

class 子类名(父类名)

    类属性=初值

    方法(参数列表)

class Person1():money=10000def syahello(self):print("hello1234567")
class Teacher(Person1):pass
amy = Teacher()
print(amy.money)
amy.syahello()

面向过程的程序设计(POP)

个人公众号

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3.8怎么打开创建_Python 3.8 新功能大揭秘【新手必学】

最新版本的Python发布了!今年夏天,Python 3.8发布beta版本,在2019年10月14日,第一个正式版本已准备就绪。现在,我们都可以开始使用新功能并从最新改进中受益。 Python 3.8是Python语言的最新版本,它适合用于…

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python文件)

路径 绝对路径:从盘符开始的路径 相对路径:从当前目录(工作目录)的路径 获取当前路径 #获取当前工作目录 import os print(os.getcwd())访问模式 文件对象open(文件名,访问模式) f open…

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python异常处理)

异常: 程序运行时的错误,对应一个Python对象。 try: 语句块 except 异常1 as 错误原因: 出现异常1后的处理代码 except 异常2 as 错误原因: 出现异常2后的处理代码 #在程序运行时,解释器尝试执行try语句块中的所有代码。 try:alist [0,…

linux串口编程实例_Linux 网络编程——原始套接字实例:发送 UDP 数据包

以太网报文格式:IP 报文格式:UDP 报文格式:校验和函数:/*******************************************************功能:校验和函数参数:buf: 需要校验数据的首地址nword: 需要校验数据长度的一半返回值&am…

python2安装_如何安装python2

目前市面上python的主流版本有两个,一是python2.X的版本,另有一种是python3.X的版本。python2预计在2020年将停止维护,未来python3将是主流。 下面讲一下python2.x的安装详细讲解。Python安装: 本文以python 2.7.8(64位)为例说明&…

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python上下文管理器)

with语句 使用with语句替代try-finally 语句,代码更加的简洁清晰 对于需要对资源进行访问的任务,无论在代码运行过程中,是否发 生异常,都会执行必要的清理操作,释放资源。 1. with open(r"D:\code1\pythontes…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<1>python)

多维数组 形状(Shape): 是一个元组,描述数组的维度,以及各个维度的长度。 长度(Length): 某个维度中的元素个数。 数字单门课程成绩1*课程成绩一维数组多门课程成绩n*课程成绩二…

web扫描

随着网站越来越多元化,内容或资讯都会不定期更新,而每个新增的页面或连结,都有可能带来新的漏洞,因此,网站的安全性 检测不论在上线前或是每次更新时,都是务必检查的工作。 但是手动的网站检测,…

2.2基本算法之递归和自调用函数_数据结构与算法之5——队列和栈

栈和队列比较简单,而且实用性非常广泛,这里主要介绍一下他们的概念和实现,在很多算法中,栈和队列的运用很重要,因此,虽然简单确是最重要的数据结构之一,必须重视。栈是保证元素后进先出(后存入者…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<2>python)

数组元素的切片 一维数组 #一维数组 #切片方法和Python序列数据结构的切片一样 anp.array([0,1,2,3,4],dtypenp.int64)#占用新的内存 #不包括结束位置 print(a[0:3]) print(a[:3]) print(a[0:]) 二维数组 #二维数组 anp.array([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]],d…

c语言二进制数怎么表示_搞懂这些公式和原理,二级C语言对你来说肯定会简单很多!...

基本概念:机器数:在计算机中,一个数有二进制表示的数原码:第一位是符号位,其他位表示数值:0:正数,1:负数反码:正数-->原码,负数-->符号位不…

详细js读取execl内容并展示

作者execl内容展示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"> <!-- <script type"text/java…

python棋盘最短路径_Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例...

本文实例讲述了Python数据结构与算法之图的最短路径(Dijkstra算法)。分享给大家供大家参考&#xff0c;具体如下&#xff1a; # coding:utf-8 # Dijkstra算法——通过边实现松弛 # 指定一个点到其他各顶点的路径——单源最短路径 # 初始化图参数 G {1:{1:0, 2:1, 3:12}, 2:{2:…

js将百度坐标转为wgs84

作者execl示例 读取并转换结果如下 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- <scrip…

Jetty 服务器架构分析(中)

接上一篇&#xff0c;说到XmlConfiguration ,XmlConfiguration 利用自己实现的 IOC 组装 Server 的全过程如下图所示&#xff1a; 这里可以看到 3 个关键的配置文件&#xff0c; jetty.xml 、 jetty-deploy.xml 、以及 contexts/xxx.xml l Jetty.xml 文件中定义了…

VxWorks嵌入式操作系统的TrueFFS文件系统驱动开发

嵌入式系统对执行速度和系统可靠性的要求&#xff0c;决定了嵌入式系统需要一种安全、快速的存储设备&#xff0c;这种设备备同时还需要体积小、容量大、掉电数据不丢失等特点。而Flash存储器恰恰能够满足上述要求。这也使得Flash存储器成为嵌入式系统中的主要存储设备。 现…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<矩阵和随机数>python)

矩阵和随机数 矩阵 创建矩阵 #创建矩阵 astring np.mat("1 2 3; 4 5 6") alist [[1,2,3],[4,5,6]] anplist np.array(alist) print(np.matrix(astring))#字符串、列表、元组、数组 print(np.mat(astring))#字符串、列表、元组、数组 print(np.mat(alist)) prin…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(Matplotlib绘图基础<1>python)

数据可视化 数据分析阶段&#xff1a;理解和洞察数据之间的关系 算法调试阶段&#xff1a;发现问题&#xff0c;优化算法 项目总结阶段&#xff1a;展示项目成果 Matplotlib&#xff1a; 第三方库&#xff0c;可以快速方便地生成高质量的图表 安装Matplotlib库 Figure 对…

idea lombok不生效_Spring Boot 集成 Lombok 让代码更简洁!

点击上方“Java之间”&#xff0c;选择“置顶或者星标”你关注的就是我关心的&#xff01;作者&#xff1a;Anoyi lombok的威力简化代码IntelliJ IDEA安装lombok插件1、菜单栏 File > Settings > Plugins > Browse repositories…安装插件2、搜索 Lombok Plugin 安装后…

arcgis按属性设置符号大小

一般都在高级设置里&#xff0c;以下是两个示例 1.相同颜色&#xff0c;不同大小 2不同颜色&#xff0c;不同大小