热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python3中类Class和对象object的理解(code)

后端开发|Python教程Python3中类Class和对象obje,__init__:后端开发-Python教程免费导航栏源码下载,u2010ubuntu,tomcat64位绿色

后端开发|Python教程Python3中类Class和对象object的理解(code)
Python3中类Class和对象obje,__init__:
后端开发-Python教程
免费导航栏源码下载,u2010 ubuntu,tomcat64位绿色版,京东评论网络爬虫,php中级程序员学习笔记交流,hyein seo购买lzw
易语言界面源码大全,ubuntu维护期几年,cmd命令做爬虫,php ==符号,宜春seo建站lzw
本篇文章给大家带来的内容是关于Python3中类Class和对象object的理解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
c asp.net源码,什么叫编译vscode,ubuntu注册账号,tomcat频繁关闭,sqlite3 查询机制,简述学习网络爬虫的想法,html 嵌入php代码,重庆seo价格信息,id97网站源码,可爱风格网页,网页版面设计模板下载lzw
类 是什么
类是一个抽象的概念,泛指很多相似的个体组成的,具有共同特征的事物。 比如类是一个车
,这车就包括各种车型
什么是对象
类里面的具体的一个事物。 比如 五菱神车S(过弯秒掉GTR的梗还记忆犹新) ,他是车这个类的具体化,
先有类,才有对象

理解类和对象

def eating(): print("吃草") def walking(): print("走路")eating()walking()#(输出) 吃饭 走路 #这样的话,别人也可以调用你写的函数,但是调用eating() 并不能清除的了解到到底是谁 “吃饭”,#所以我们输入一个name来明确是谁在吃草。def eating(name): print(name,"吃饭")eating("zhuozi") #调用函数#(输出)zhuozi 吃草

#但是你会发现 zhuozi用来吃饭,从逻辑上来说是否有点不妥,虽然他语法上没问题,
#所以我们将进行一个归类,将“吃饭”的一类 分为一类,也就是类别,所以我们将它进行标记,class Person:
#为什么P大写是用来和Python内置函数的类作区别,内置的类名都是小写字母(可以ctrl + 鼠标左键点击内置函数查看)

class Person: #这样我们就将eating封装到了Person这个类里面 #只要是Person这一类别的都可以进行下面的行为(eating) def eating(name): print(name,"吃饭") zhangsan = Person() #这里就不能像以前一样用eating去调用了,因为只有Person这一类的才能就行eating这个行为 #所以我们就要先将zhansan定义为Person这一类 zhangsan.eating() #然后才能让张三进行吃草这种行为#(输出) 吃饭lisi = Person() #lisi也要吃饭,那继续定义lisi 是person 类 他可以吃饭lisi.eating() #lisi就可以吃饭了#(输出) 吃饭#打印的一个地址,一个类的地址 object(翻译就是对象)就表示 lisi是这个类的对象#lisi 就是 Person这个类 实例化的对象。

之前我们 def eating(name):的name 就是可以看做谁进行 eating ,而这里语法的硬性要求就是用self 来代表到底是谁来调用 eating。所以如下:

class Person: def eating(self): print(self,"吃饭")

class Person: pass========list 这里我们ctrl + 鼠标左键点击pycharm 里面书写的list,如图:

Python3中类Class和对象object的理解(code)
可以看出内置的函数的类名都是小写的,而以前我们用的类 (列表名).append() 也就是我们现在讲的类下面的函数的调用,括号里面的就是对象名self 而列表名就是实例化的对象。

语法

class 类名(父类列表): #类名和变量名称的命名是一样的,类名首字母要大写, #用来区别是否是内置函数自带的类 类体 数据属性 #类的共同属性,名字,性别,干什么的,等等方法属性 #这个类共同都有的功能,跑,跳,计算,记录等等

class Person: passzhangsan = Person()#张三是Person实例化的对象,所以要开辟一个内存来存储,#即将zhangsan变量名指向这个内存地址print(zhangsan)#(输出)既然实例化对象后开辟了内存,我们就要在里面进行一个存储

class Person: passzhangsan = Person()zhangsan.name = "zhangsan"#给这个实例化的对象附一个名字print(zhangsan)#(输出)print(zhangsan.name) #打印出这个对象的名字#(输出)zhangsanzhangsan对象名 指向 内存,内存里面有一个属性name,而name指向zhangsan这个名字 两个zhngsan 不一样啊zhangsan(类的对象名字) -- 》内存 (name)----》zhangsan(对象的属性)lisi = Person() #再实例化一个对象lisi.name = "xiaolong"print(lisi.name) print(id(lisi.name)) lisi = Person()lisi.name = "xiaolong"print(id(zhangsan))#(输出)2070146453856print(lisi.name)#(输出)xiaolongprint(id(lisi.name))#(输出)2070146521264

可以看出两个实例化的对象的id是不同的

这里就引出了命名空间规则:
每实例化出来一个对象,如果没进行特别的处理的话都会占用系统单独的内存存储。

class Person: passzhangsan = Person() zhangsan.name = "zhangsan"zhangsan.sex = "男"zhangsan.age = 19zhangsan.hight = 175lisi = Person()lisi .name = "xiaolong"lisi .sex = "女"lisi .age = 29lisi .hight = 170#两个内容的创建方式相同啊,只是内容不同,那么我们写一个函数来进行这种重复性的操作,

class Person: def __init__(self, name, sex, age, hight): self.name = name zhangsan.name = name self.sex = sex zhangsan.name = sex self.age = age zhangsan.name = age self.hight = hight zhangsan.name = hight#self 是为了规范明确是谁调用了,所以相当于将zhangsan这个对象传给了self。#而后面self之后的name, sex, age, hight 就是所要传入的"zhangsan" "男"19 175 信息#zhangsan = Person()#zhangsan.name = "zhangsan"#zhangsan.sex = "男"#zhangsan.age = 19#zhangsan.hight = 175这样我们就不用再像上面一样传入了zhangsan = Person("zhangsan","男","19",175)print(zhangsan.name)#(输出)zhangsan

init:是系统所存在的特殊函数,当我们实例化对象的时候(zhangsan = Person(“zhangsan”,“男”,“19”,175)),默认实例化对象进行调用这个函数。 def init(self, name, sex, age, hight):
self对象名为 等号 前面的zhangsan,
而name, sex, age, hight 对应”zhangsan”,“男”,“19”,175


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Oracle 和 mysql的9点区别【MySQL】
    数据库|mysql教程oracle,Oracle,money,mysql,coun数据库-mysql教程1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在o ... [详细]
  • ORACLE空间管理实验5:块管理之ASSM下高水位的影响
    数据库|mysql教程ORACLE,空间,管理,实验,ASSM,下高,水位,影响,数据库-mysql教程易语言黑客软件源码,vscode左侧搜索,ubuntu怎么看上一页,ecs搭 ... [详细]
  • PHP输出缓冲控制Output Control系列函数详解【PHP】
    后端开发|php教程PHP,输出缓冲,Output,Control后端开发-php教程概述全景网页源码,vscode如何打开c,ubuntu强制解锁,sts启动tomcat慢,sq ... [详细]
  • 【爬虫训练场】:分页爬虫案例设计Demo,Python Flask与MySQL的完美连接
    网站类应用,一定离不开MySQL,所以本案例将带着大家学习一下,通过Flask调用MySQL数据,并实现分页呈现。类被称作蓝图,它是一个存储操作方法的容器,Flask可以通过Blu ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 用PHP连接MySQL代码的参数说明【PHP】
    后端开发|php教程PHP,连接,MySQL,参数后端开发-php教程代码是这样的:大图标网站源码,怎么在vscode中调试css,ubuntu退出命令行,系统默认开tomcat, ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
author-avatar
w3cbj.cn
w3c笔记,程序员专属笔记云平台,24种代码高亮!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有