python机器学习2

1.面向对象程序设计(OOP)

(1)def 函数名称(参数),创建函数的动作,并将参数代入函数中,以下设计一个函数fun2,并且在程序中调用该函数。

(2)回传值=def函数名称(参数),创建函数的动作,将参数代入函数中,并且回传数据。以下设计一个函数fun3,并且在程序中调用该函数。请注意顺序和参数的用法。

def fun1():print("This is function1")
fun1()
def fun1():print("This is function1")
fun1()
def fun3(num1=0,num2=0):return (num1*2)+num2
print(fun3(1,2))
print(fun3(num2=1,num1=2))
print(fun3(num2=1))
a=fun3()
print(a)
def fun4():return 1,2
a,b=fun4()
print(a)
print(b)
def fun3(n1,n2):print(str(n1)+"*"+str(n2)+"="+str(n1*n2))
x=0
while x<9:x=x+1y=1while y<10:fun3(x,y)y=y+1

注意:fun3(2,1)同fun3(num1=2,num2=1))与fun3(num2=1,num1=2))传递过去的参数和结果都是一样的。

2.import导入和开发

import是非常重要的Python功能,除了可以导入其他第三方的函数库,还可以把本身的函数独立成另外一个文件。比如,把函数fun3放在另外一个文件MyFun.py中,以后使用时只要通过importMyFun,就能使用MyFun.fun3()函数。

import MyFun
a=MyFun.fun3(1,2)
print(a)

3. 类(class)

(1)初始化类“__init__”称为建构方法。在Python设置类的时候,一定要预定义“def__init__(self):”函数来处理初始化的类功能,它没有回传值。建构方法的作用是在建构对象的同时,也可以初始化一些必要的信息。

(2)如果要在初始化时带上预定义值,就需要在“__init__”初始化函数中把类的参数放入,如“__init__(self,name):”就能把name放入。

(3)类中的新增函数方法与一般函数类似,只需要在函数方法的参数中多加一个self参数。Python中所有的类成员(包含其数据成员)都是公开(public)的,成员函数的声明必须在第一个参数中使用self,以表示存在其中的对象,而此参数在调用时是不用回传的。

(4)属性是对象的静态描述,因为Python的属性默认都是公开的,所以都可以取得。在使用时需要通过self才会取得该类中的属性。

class MyClass(object):def __init__(self):print("hello")
g=MyClass()class MyClass(object):def __init__(self,name):print('hello'+str(name))
g=MyClass("Powen")class MyClass(object):def __init__(self,name):print("hello"+str(name))def fun1(self):print("fun1")def fun3(self,num1=0,num2=0):return (num1*2)+num2
g=MyClass("Powen") 
g.fun1()
print(g.fun3(1,2))
print(g.fun3(num2=1,num1=2))

(5)在类中的数据及交互方法,统称为类成员,只要多加一个self即可,而在类中调用其他的函数方法也是通过slef来完成的

class MyClass(object):mX=1mY=1def __init__(self,x,y):self.mX=xself.mY=ydef fun1(self):s=""for x in range(self.mX,10,1):for y in range(self.mY,10,1):self.fun2(x,y)def fun2(self,x,y):s=str(x)+"*"+str(y)+"="+str(x*y)print(s)
g=MyClass(8,8)
g.fun1()

(6) 设置公开、私有的类函数方法

在Python的类中,所有的函数方法和属性都是公开的。如果要设置为私有,只需命名时在类函数名称前面添加两个下画线(__)即可。

class MyClass(object):mMyPub=1__mMyPri=1def __init__(self,x,y):self.mMyPub=xself.__mMyPri=ydef funPub(self):print("fun1")def __funPri(self):print("fun2")
g=MyClass(7,7)
print(g.mMyPub)
g.funPub()

 (7)为了维护程序的便利性,会推荐把类独立成另外一个文件,以后使用时只要通过import调用该类即可。类的文件的名称推荐与类名称相同。

from MyClass import MyClass
g=MyClass(8,8)
g.fun1()

2.继承

(1)继承是指Sub Class(子类)继承Super Class(父类)后,就会自动取得父类特性。当新增class时,把要继承的父类放在object就能完成,可以通过以下程序来了解。使用5.9节的程序,更换成调用MyClass就能够继承MyClass的类。

class MyClass(object):def __init__(self,name):print("MyClass"+str(name))def fun1(self):print("MyClass->fun1")
class MyClassChild(MyClass):def __init__(self, name):print("MyClassChild"+str(name))def fun2(self):print("MyClassChild->fun2")
g=MyClassChild("powen")
g.fun1()
g.fun2()        

(2)Python也可以有多重继承,本节实例中将展示同时继承的方法:可同时拥有两个或两个以上的父类。

class MyClass(object):def fun1(self):print("MyClass->fun1")
class MyClass2(object):def fun2(self):print("MyClass2->fun2")
class MyClassChild(MyClass,MyClass2):def __init__(self,name):print("MyClassChild"+str(name))def fun3(self):print("MyClassChild->fun3")
g=MyClassChild("powen")
g.fun1()
g.fun2()
g.fun3()

(3)Python提供调用父类函数super,但是在Python2和Python 3中的用法就不一样,方法如下:

super().fun2()                 #针对Python 3的调用父类函数方法

super(MyClassChild,self).fun2()                 #针对Python 2的调用父类函数方法

在一个程序中,Python2和Python 3如何同时运行呢?可以通过以下技巧来达到目的。try

class MyClass(object):def fun1(self):print("MyClass->fun1")def fun2(self):print("MyClass2->fun2")
class MyClassChild(MyClass):def __init__(self,name):print("MyClassChild"+str(name))def fun2(self):try:super().fun2()except:super(MyClassChild,self).fun2()print("MyClassChild->fun2")
g=MyClassChild("powen")
g.fun1()
g.fun2()

 本节实例将展示如何处理和调用父类的属性(Property),同样也可以调用父类函数super,如print(super(MyClassChild,self).value3)。

class MyClass(object):value3=3def fun1(self):print("MyClass->fun1")def fun2(self):print("MyClass->fun2")
class MyClassChild(MyClass):value3=13def __init__(self,name):print("MyClassChild"+str(name))def fun2(self):try:super().fun2()except:super(MyClassChild,self).fun2()print("MyClassChild->fun3")print(self.value1)print(self.value2)print(self.value3)
#print(super(MyClassChild,self).value3)
g=MyClassChild("powen")
g.fun1()
g.fun2()

这段代码一直报错不知道怎么回事 ,有没有大神能解答一下呢

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

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

相关文章

【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)

目录 一、前言 二、什么是C模板&#xff1f; &#x1f4a6;泛型编程的思想 &#x1f4a6;C模板的分类 三、非类型模板参数 ⚡问题引入⚡ ⚡非类型模板参数的使用⚡ &#x1f525;非类型模板参数的定义 &#x1f525;非类型模板参数的两种类型 &#x1f52…

大数据处理系统面临挑战

当今&#xff0c;大数据的到来&#xff0c;已经成为现实生活中无法逃避的挑战。每当我们要做出决策的时候&#xff0c;大数据就无处不在。大数据术语广泛地出现也使得人们渐渐明白了它的重要性。大数据渐渐向人们展现了它为学术、工业和政府带来的巨大机遇。与此同时&#xff0…

linux下高级IO模型

高级IO 1.高级IO模型基本概念1.1 阻塞IO1.2 非阻塞IO1.3 信号驱动IO1.4 IO多路转接1.5 异步IO 2. 模型代码实现2.1 非阻塞IO2.2 多路转接-selectselect函数介绍什么才叫就绪呢&#xff1f;demoselect特点 2.3 多路转接-pollpoll函数介绍poll优缺点demo 2.4 多路转接-epoll&…

Oracle数据库服务器CPU占用率巨高的问题排查思路

1、通过TOP 命令查看PID: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND 1560 oracle 20 0 38.978g 0.038t 16296 R 100.0 15.3 1069:13 python3 Main_Mem.py ProcessLog1 con…

为什么人一旦开窍了就变的特别厉害?

点击上方△腾阳 关注 《让子弹飞》这部电影非常经典&#xff0c;其中一个名场面就是“六子吃粉”。 电影里&#xff0c;胡万对着老六就是一顿狂轰滥炸&#xff1a;“吃了两碗粉&#xff0c;就给一碗的钱&#xff0c;你当咱这是慈善堂呢&#xff1f;” 老六一听&#xff0c;那…

自定义控件之绘图篇(二)路径及文字

在Android中&#xff0c;自定义控件的绘图功能非常强大&#xff0c;允许你创建复杂且美观的用户界面元素。除了基本的几何图形&#xff0c;你还可以使用路径&#xff08;Path&#xff09;和文字&#xff08;Text&#xff09;来丰富你的控件设计。下面是如何在自定义控件中使用这…

SpringBoot+ELK 收集日志的两种方式

方式一、FileBeatlogstash 7.5.1(docker)ES(docker)springboot 日志文件 应用方式 我们采用ELFK 架构采集日志&#xff0c;直接读取日志生成的文件&#xff0c;不对Springboot的日志任何的修改。也就是FileBeat 通过读取日志文件位置获取日志内容&#xff0c;然后发送至logsta…

This Person Does Not Exist:AI绘画工具创造的虚构人物

引言 随着人工智能技术的飞速发展&#xff0c;AI绘画工具已经能够生成逼真的虚构人物图像。这些工具利用生成对抗网络&#xff08;GAN&#xff09;等深度学习技术&#xff0c;能够生成从未存在过的高质量人脸图像。“This Person Does Not Exist” 是其中最著名的一个网站&…

移动应用开发课设——原神小助手文档(1)

2023年末&#xff0c;做的移动应用开发课设&#xff0c;分还算高&#xff0c;项目地址&#xff1a;有帮助的话&#xff0c;点个赞和星呗~ GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设 本文按照毕业论文要求来写&#xff0c;希望对大家有所帮助。 xxxx大学课程设计报…

C++--partition库函数

介绍 在C中&#xff0c;partition函数通常是指STL&#xff08;Standard Template Library&#xff09;中的std::partition算法&#xff0c;它用于对一个序列进行分区操作。具体来说&#xff0c;std::partition接受一个范围和一个谓词&#xff08;predicate&#xff09;作为参数…

安徽医科大学学报

《安徽医科大学学报》是安徽医科大学主办的医学综合类学术期刊。主要刊登医学科研、医疗成果和进展的学术性期刊&#xff0c;国内外公开发行。主办单位为安徽医科大学&#xff0c;主管单位为安徽省教育厅。现任主编是著名妇产科学和生殖医学专家曹云霞教授。 《东南医刊》和《新…

win10使用小技巧一

1. 查看电脑IP地址 步骤&#xff1a;按WinR打开运行框 → 输入cmd点确定 → 输入ipconfig回车 → 查看IP地址。 2. 解决网页文字不能复制 步骤&#xff1a;按F12 → 调试框里点击设置 → 向下滑找到 禁用 JavaScript → 勾选 → 复制文字。 3. 解决电脑不能上网 方法一&…

im即时通讯哪家好?WorkPlus im即时通讯集成底座为企业保驾护航

在当今数字化时代&#xff0c;即时通讯是企业内部沟通和协作的重要工具&#xff0c;提高工作效率和团队协作效果。在众多IM即时通讯提供商中&#xff0c;WorkPlus作为一家具有独特优势的企业IM即时通讯集成底座&#xff0c;为企业提供了全面的功能和安全保障&#xff0c;为企业…

Linux权限概述

一、权限概述 1.权限的基本概念 2.为什么要设置权限 3.linux用户的身份类别 4.user文件的拥有者 5.group文件所属组内用户 6.other其他用户 7.特殊用户root 二、普通权限管理 1.ls -l查看文件权限 2.文件类型以及权限解析 3.文件或文件夹的权限设置 4.通过数字给文件…

吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.3-2.4

目录 第三门课 结构化机器学习项目&#xff08;Structuring Machine Learning Projects&#xff09;第二周&#xff1a;机器学习策略&#xff08;2&#xff09;(ML Strategy (2))2.3 快速搭建你的第一个系统&#xff0c;并进行迭代&#xff08;Build your first system quickly…

Python 学习中什么是元组,如何使用元组?

什么是元组 元组&#xff08;Tuple&#xff09;是Python内置的一种数据结构&#xff0c;用于存储多个数据项。与列表类似&#xff0c;元组也可以存储不同类型的数据&#xff0c;但它们之间存在一个重要区别&#xff1a;元组是不可变的&#xff0c;也就是说&#xff0c;一旦创建…

智慧校园综合解决方案PPT(41页)

1. 方案背景 智慧校园综合解决方案响应《教育信息化2.0行动计划》等政策&#xff0c;旨在加快智慧校园建设&#xff0c;推动信息化与学习生活的深度融合。目前教育信息化配套设施建设存在“孤岛架构”&#xff0c;学生安全问题频发&#xff0c;技术发展迅速&#xff0c;家长对…

Python项目写一个dockerfile 怎么写一个deploy.sh文件来自动化部署

当为Python项目编写Dockerfile和xx.sh&#xff08;我们通常会使用如deploy.sh这样的名字&#xff09;脚本以进行自动化部署时&#xff0c;你可以遵循以下步骤和示例。 ### Dockerfile 示例 首先&#xff0c;让我们编写一个Dockerfile&#xff0c;用于构建一个包含Python项目的D…

专题三:Spring源码中新建module

前面我们构建好了Spring源码&#xff0c;接下来肯定迫不及待来调试啦&#xff0c;来一起看看大名鼎鼎ApplicationContext 新建模块 1、基础步骤 1.1 自定义模块名称如&#xff1a;spring-self 1.2 选择构建工具因为spring使用的是gradle&#xff0c;所以这边需要我们切换默认…

Android 如何通过代码实时设置EditTextView光标

背景&#xff1a;换肤框架下&#xff0c;QA进行深色浅色切换说输入框光标颜色没有改变&#xff0c;转UI结果UI说需要修改&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 本来有方法可以设置&#xff0c;但是 设置后未生效。重新进入该页面才生效&#xff01;&a…