当前位置: 首页 > news >正文

宝应123网站建设网腾讯云服务器安装宝塔教程

宝应123网站建设网,腾讯云服务器安装宝塔教程,上海个体工商户如何注册,北京好的网站建设目录 前言#xff1a; 面向过程和面向对象 类和对象 Python中类的定义 #xff08;1#xff09;类的定义形式 #xff08;2#xff09;深层剖析类对象 前言#xff1a; 感谢各位的一路陪伴#xff0c;我学习Python也有一个月了#xff0c;在这一个月里我收获满满… 目录 前言 面向过程和面向对象 类和对象 Python中类的定义 1类的定义形式 2深层剖析类对象 前言 感谢各位的一路陪伴我学习Python也有一个月了在这一个月里我收获满满学到了很多知识每当我学会了一个新的知识点我会发表一篇博客来表达自己想法和见解我也写了一篇Python基础学习的专栏https://blog.csdn.net/m0_73633088/category_12186491.html  这一阶段的学习也基本告一段落了而今天我将会开始学习Python中的高级语法开启Python进阶的新征程路途漫漫道路艰险而我一往无前。 面向过程和面向对象 编程语言一般分为两种编程范式一种是面向过程另一种是面向对象这两种范式是不相同的语言方法侧重点是完全不相同的。 面向过程在前面我们学习的Python基础语法以及C语言这些都是面向过程的语法其核心在于过程二字过程指的是解决问题的步骤编程的时候先把解决问题的步骤分析出来然后用函数把这些步骤实现在一步一步的具体步骤中再按照顺序调用函数适合简单任务不需要过多协作。 面向对象核心就是对象二字, 对象是有属性和方法组成的编程的时候首先思考的怎么设计这个事物比如思考造车我们会思考车怎么设计而不是“怎么按照步骤造车的问题”找轮胎厂制造轮胎发动机厂制造发动机发现同时造车的步骤组成在一起就完成造车大大提高了效率。而面向对象即是Python语言的精髓所在。 那这里就有人会问了这两种编程范式肯定有高低之分的吧应该是面向对象比面向过程更加高级。注意力编程范式是没有高低之分的就好比如文化这一方面为什么总是有些人崇洋媚外呢难道中华文化就低人一等了中国汉服不好看吗为什么非要去穿和服呢拜托中华文化可是有5000年的历史啊源远流长博大精深足以傲视全世界这里是就是想说明一下编程范式跟文化是一样的实际上没有什么高低之分只是在不同情况下的适应性不同千万不要有什么偏见。 类和对象 类这里就说到类了好那什么是类其实很简单理解比如说一个物种或者说某一类人顾名思义‘类’是表示某一种事物具有某一共同特征这就能被分为一类 对象对象是表示这个类的例子是具体的实例具体存在的 给个例子吧比如说狗这一类可以分为好多个品种就以哈士奇和金毛为对象哈士奇具有什么属性呢这都不用我说了二哈名字都摆在那呢金毛又有什么属性呢亲人嘛性格温顺体贴他人这些都是这两个对象特有的属性而它们共有的属性就是会狗叫、会做坏事、会摇尾巴……等等。很好理解吧 Python中类的定义 前面我们学过字符串的类别是str整形的类是int、浮点型的类是float……等等这些都是Python中定义好了的类我们可以通过这些类去调用类里面的属性和方法那这里我来教你们怎么去定义类以及怎么去理解类 1类的定义形式 前面我们学过了函数的定义就是def  函数名字: 下面就是函数体了其实类也是相似的用关键字class来定义 #函数的定义 def 函数名(形参):函数体函数名(实参)#类的定义 class 类名:类代码(属性方法) 类的相关规则 类名的定义使用大驼峰命名所有单词首字母大写 定义类之后没有实例对象执行代码类中代码执行 定义在类中的变量称为属性函数称为方 示例1定义和修改类属性  class Dog:namedog #在类中的变量是属性attributeage5 erhaDog() #建立实例化对象 print(type(erha)) #输出结果dog 5 # class __main__.Dog 说明这里是创建了一个Dog类型其中有两个属性name和age这两个类属性是实例化对象共同拥有的属性下面我们建立了一个实质化对象erhaDog() 然后我们就可以输出这个实质化对象的属性其类型就是Dog 类型这里还是很好理解的 class Dog:namedog #在类中的变量是属性attributeage5 erhaDog() print(erha.name,erha.age) erha.age3 erha.namegou print(erha.name,erha.age) #输出结果 # dog 5 # gou 3 实例化对象的类属性是可以去修改的直接赋值修改就OK了  示例2定义实例方法 1.写法1 class Dog:namedogage5def fun(self):print(这是一直可爱的小狗) erhaDog() print(erha.fun()) #输出结果这是一直可爱的小狗 2.写法2:通过类名.方法(实例对象) ---表达 #写法 class Dog:namedogage5def fun(self):print(这只小狗真可爱) erhaDog() print(Dog.fun(erha)) #我们可以直接把实例参数传入到self #输出结果这只小狗真可爱 3. 添加位置参数 class Dog:namedogage5def fun(self,name): #定义参数nameprint(f这是一直可爱的小狗{name}) erhaDog() print(Dog.fun(erha,happy)) #输出结果这是一直可爱的小狗happy 注意 这里定义了一个实例方法为fun那这里有人就会问这个不就是函数吗不是的在Python中定义在类里面的不叫做函数而是叫做方法而定义在类以外的才叫做函数这里要区分开来。 说明 这是一个实例方法在创建的过程中会自动创建一个self参数这个参数是表示实例对象的本身当我们创建好了一个对象之后可以去调用这个方法以上就是这个方法调用的三种写法 示例3init初始化方法 init初始化方法又叫做实例化方法魔法方法构造方法 该方法在初始化实例对象时会自动调用通常情况用于初始化对象的属性 该方式在实例化对象时会自动调用不需要手动调用 class Dog:animaldogdef __init__(self,name,age): #name和age是表示实例对象的初始化属性也是特定属性self.namename #这里的self.name是自己定义的而后面的name是参数self.ageagedef fun(self):print(这只小狗真可爱) if __name____main__:erhaDog(Timi,5) #里面的参数必填否则会报错print(erha.animal,erha.name,erha.age)print(erha.__dict__) #查看实例对象erha 的特定属性 #输出结果dog Timi 5 # {name: Timi, age: 5} init 初始化方法是定义并且初始化实例对象的特点属性我们可以去通过__dict__去查看然后返回实例对象属性的键值对。 2深层剖析类对象 class Dog:namedogage5 print(Dog) erhaDog() print(id(erha))#输出获取地址 #输出结果class __main__.Dog # 2931955054960 这里我们可以看出当我们去调用的时候就要加上() 这个跟函数是一样的如果不去调用就会跟第一个输出结果一样输出这个类的类型例如print(int) 这个的输出结果就是class int当我们去调用了这个类之后其实就是已经创建了一个实质化对象这时候计算机会开辟一段内存空间从id() 函数获取的地址就可以看出 再看一个例子  class Dog:namedogage5 erhaDog() print(id(int)) print(id(Dog)) print(id(erha)) #输出结果140735865654544 # 2504339459136 # 2505947003248 这里我们可以看出其实类本身就是有一个空间地址的而我们去创建一个实例化对象实际上是创建了一个类指针这个对象erha的类指针指向了Dog 类型我们可以去通过这个类指针来访问Dog 类型的属性和方法这也说明了如果我去定义多个实例对象的话那么这些实例对象的类指针都会指向定义的类Dog所以一个类是具有公用功能的。 class Dog:animaldogdef __init__(self,name,age):self.namenameself.ageagedef fun(self,name):print(f这只{name}真可爱)def recurrence(self,age):i1sum1while iage:sum*ii1return sum if __name____main__:erhaDog(哈士奇,5)Dog.fun(erha,erha.name)print(Dog.recurrence(erha,erha.age))jinmaoDog(金毛,4)Dog.fun(jinmao,jinmao.name)print(Dog.recurrence(jinmao,jinmao.age)) #输出结果这只哈士奇真可爱 # 120 # 这只金毛真可爱 # 24 这里可以看出我建立了两个实例对象其中的方法都是共享的也就说明类指针的强大所在。 好了这一期就到这里了谢谢各位~~~ 日常分享壁纸~
http://www.hkea.cn/news/14314599/

相关文章:

  • 上海艺佳建设发展有限公司网站信誉好的盐城网站开发
  • html5 微信网站中国造价工程建设管理协会网站
  • 得实网站建设上海的招聘网站有哪些
  • 做网站什么需要好养老院网站开发背景
  • 网站推广必做工作总结怎么写
  • 中文软件开发工具搜索引擎优化的主要工作有
  • 博学云网站建设软文广告经典案例短的
  • 网站备案个人可以做吗建设银行网站机构特点业务发展
  • 做国际网站的上海高端网站公司饲料 东莞网站建设
  • 自己做网站如何挣钱免费自助建站
  • 镇江房地产网站建设wordpress培训机构主题
  • 杭州萧山区专业做网站的公司工商网上注册营业执照
  • 大学专业宣传网站开发课题意义杭州旅游团购网站建设
  • 单位门户网站怎么制作小程序
  • 仓库管理系统网站建设网站开发项目实例
  • WordPress中文名字叫什么seo基础培训
  • wordpress 3.9网站栏目页 优化
  • 如何介绍自己做的网站wordpress使用hexo主题
  • 中建西部建设广通讯网站网站建站网站网站维护
  • dw建设网站视频河南建设建设监理协会网站
  • 做网站申请多少类商标搜索引擎优化的定义
  • 怎么打开域名网站全国定制网站服务器云主机
  • 德州市建设局质监站网站河南郑州新闻
  • 河北建设信息平台网站新洲建设局网站
  • flash网站源码上海网站建设工作室
  • 网站建设 解决方案1688是什么平台
  • 重庆怎样建设网站上海地产网站建设
  • 地板网站源码wordpress支付
  • wordpress 编辑器 插件seo人才招聘
  • 做摄影网站的目的wordpress亚马逊