景区网站建设公司python做网站设计

张小明 2026/1/1 14:45:00
景区网站建设公司,python做网站设计,校园网络文明建设方案,百度站长链接提交前言 在Python编程世界里#xff0c;面向对象编程#xff08;OOP#xff09;是一种至关重要的编程思想#xff0c;它能帮助我们更高效地开发复杂项目、提升代码可维护性。本文将从面向对象编程思想入手#xff0c;逐步讲解核心概念、关键操作与实战技巧#xff0c;带你轻…前言在Python编程世界里面向对象编程OOP是一种至关重要的编程思想它能帮助我们更高效地开发复杂项目、提升代码可维护性。本文将从面向对象编程思想入手逐步讲解核心概念、关键操作与实战技巧带你轻松掌握Python面向对象编程。一、理解面向对象编程思想在学习面向对象之前我们先对比传统的“面向过程”看清两者的本质差异。1. 面向过程按步骤办事面向过程的核心是“自顶向下逐步细化”把实现功能的过程拆分成一系列步骤每个步骤用函数实现最后按顺序执行函数。比如“学生入学报名”按面向过程的思路会拆成这样学生提出报名提供材料学生缴纳学费获取缴费凭证教师凭凭证分配班级班级添加学生信息这种方式适合简单任务但面对大型项目时代码会变得混乱修改一个步骤可能影响多个函数维护成本极高。2. 面向对象按“实体”协作面向对象的核心是“模拟现实世界”——现实中任何动作都有执行者实体编程时就先定义这些实体再让实体完成对应动作。还是以“学生入学报名”为例第一步找实体。整个过程涉及学生提报名、交材料、缴费、学校收费、教师分配班级、班级加信息4个实体。第二步定义实体的“属性”和“功能”。比如“学生”的属性有姓名、年龄功能是“提交报名材料”“缴纳学费”“教师”的功能是“分配班级”。第三步让实体执行功能。调用“学生”的缴费方法、“教师”的分配班级方法各实体协作完成报名。3. 面向对象 vs 面向过程谁更优两者没有绝对的好坏只有适用场景的差异对比维度面向过程面向对象代码组织按步骤拆分函数按实体封装属性与方法适用场景简单脚本、小型任务大型项目、复杂业务维护成本后期修改困难易扩展、易维护执行效率效率较高略低封装带来轻微开销关键结论面向对象不是技术而是思维方式——写代码时先想“谁来做”再想“做什么”而非直接按步骤写函数。二、面向对象核心概念类与对象类和对象是面向对象编程的“基石”理解两者的关系是入门的关键。1. 对象具体的“实体”对象是现实世界中具体的事物比如“张三学生”“李四教师”。在Python中对象由两部分组成属性存储对象的特征比如学生的姓名、年龄对应变量。方法对象的行为/功能比如学生的“缴费”“提交材料”对应函数。例如“张三”这个对象属性name“张三”age18方法pay_tuition()缴费、submit_materials()交材料2. 类对象的“模板”现实中“张三”“李四”都属于“学生”这个类别类就是对同一类对象的抽象描述——它规定了这类对象有哪些属性和方法。比如“学生类”规定属性姓名、年龄、学号规定方法缴费、提交材料类与对象的关系类是模板对象是类的“实例”。就像“饼干模具类”和“饼干对象”——一个模具能做出多个饼干一个类能创建多个对象。3. 类的定义与实例化在Python中定义类用class关键字实例化对象只需“类名括号”。1定义类Python 3中推荐使用“新式类”继承object类名遵循“大驼峰命名法”首字母大写如Student# 定义学生类classStudent(object):# 方法1说话defspeak(self):print(我是学生)# 方法2缴费defpay_tuition(self):print(缴纳学费成功)注意类中的方法第一个参数必须是self它代表“当前对象”类似其他语言的this调用方法时无需手动传self。2实例化对象通过“类名()”创建对象再用“对象.方法()”调用方法# 实例化对象创建“张三”学生zhangsanStudent()# 调用对象的方法zhangsan.speak()# 输出我是学生zhangsan.pay_tuition()# 输出缴纳学费成功3self的作用self是类方法的“默认参数”指向当前调用方法的对象。比如创建两个对象self会自动区分classStudent(object):defset_name(self,name):# 给当前对象添加name属性self.namenamedefspeak(self):print(f我是{self.name})# 实例化两个对象zhangsanStudent()lisiStudent()# 给不同对象设置姓名zhangsan.set_name(张三)lisi.set_name(李四)# 调用方法self自动指向对应对象zhangsan.speak()# 输出我是张三lisi.speak()# 输出我是李四三、对象属性添加、获取与初始化属性是对象的“特征”Python中可以灵活地在类内、类外操作属性而__init__方法能让属性初始化更高效。1. 类外添加与获取属性直接用“对象.属性名 值”添加属性用“对象.属性名”获取属性# 定义空类classStudent(object):pass# 实例化对象zhangsanStudent()# 类外添加属性zhangsan.name张三zhangsan.age18zhangsan.grade高一# 类外获取属性print(f姓名{zhangsan.name})# 输出姓名张三print(f年龄{zhangsan.age})# 输出年龄182. 类内获取外部属性通过self类内的方法可以访问类外给对象添加的属性classStudent(object):# 类内方法获取外部属性defintroduce(self):print(f我叫{self.name}今年{self.age}岁读{self.grade})zhangsanStudent()# 类外添加属性zhangsan.name张三zhangsan.age18zhangsan.grade高一# 调用方法类内自动获取属性zhangsan.introduce()# 输出我叫张三今年18岁读高一3.__init__属性初始化“神器”每次实例化对象后手动加属性太麻烦__init__方法初始化方法/构造方法能在创建对象时自动初始化属性无需手动添加。用法示例classStudent(object):# 初始化方法创建对象时自动调用def__init__(self,name,age,grade):# 给对象绑定属性self.namename self.ageage self.gradegradedefintroduce(self):print(f我叫{self.name}今年{self.age}岁读{self.grade})# 实例化对象时直接传属性值__init__自动执行zhangsanStudent(张三,18,高一)lisiStudent(李四,17,高二)# 直接调用方法属性已初始化zhangsan.introduce()# 输出我叫张三今年18岁读高一lisi.introduce()# 输出我叫李四今年17岁读高二关键特性__init__在创建对象时自动触发无需手动调用。self无需手动传参Python解释器会自动传递当前对象。除了self可自定义参数如name、age实例化时必须传对应的值。四、Python魔术方法让类更强大魔术方法是Python中以“__”开头和结尾的特殊方法具有特殊功能常用的有__init__、__str__、__del__。1.__str__美化对象打印默认情况下打印对象会显示内存地址如__main__.Student object at 0x0000023F8A78D1C0__str__可以自定义打印内容返回一个字符串即可。用法示例classStudent(object):def__init__(self,name,age):self.namename self.ageage# 自定义打印内容def__str__(self):returnf学生{self.name}年龄{self.age}# 实例化对象zhangsanStudent(张三,18)# 打印对象自动调用__str__print(zhangsan)# 输出学生张三年龄18注意__str__必须返回字符串类型否则会报错。只有用print(对象)或str(对象)时才会触发。2.__del__对象的“清理者”__del__是“析构方法”在对象被删除手动用del删除或程序结束时自动触发常用于释放资源如关闭文件、断开数据库连接。用法示例classStudent(object):def__init__(self,name):self.namenameprint(f{self.name}已创建)# 对象删除时触发def__del__(self):print(f{self.name}已删除)# 实例化对象zhangsanStudent(张三)# 输出张三已创建# 手动删除对象触发__del__delzhangsan# 输出张三已删除3. 魔术方法总结魔术方法触发时机核心作用__init__对象创建时初始化属性给对象“赋初始值”__str__打印对象时自定义对象的打印内容更易读__del__对象删除时释放资源关闭文件、断开连接等五、总结面向对象编程是Python进阶的必备技能核心要点可总结为思想转变从“按步骤写函数”到“按实体封装属性与方法”。核心概念类是模板对象是实例self指向当前对象。关键操作用__init__初始化属性用魔术方法增强类功能用封装保护数据安全。实战原则复杂项目优先用面向对象通过“高内聚、低耦合”提升代码质量。掌握面向对象后你会发现开发大型项目变得更有条理代码也更易维护。快去用面向对象重构你的代码吧
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

科技杭州网站建设js特效素材网

还在为Internet Download Manager的30天试用期烦恼吗?想要免费享受这款强大下载工具的全部功能?本教程将为你展示2025年最稳定可靠的IDM使用方案,让你彻底摆脱试用期限制! 【免费下载链接】IDM-Activation-Script IDM Activation …

张小明 2026/1/1 14:43:15 网站建设

深圳市响应式网站建设网站的转化率

惊艳!这个在线JSON对比神器让数据差异无处遁形 【免费下载链接】online-json-diff 项目地址: https://gitcode.com/gh_mirrors/on/online-json-diff 在日常开发和数据处理工作中,JSON格式的数据对比是每个技术人员都会遇到的需求。无论是API接口…

张小明 2026/1/1 14:42:38 网站建设

海南省建设执业资格管理中心网站网站建设公司 盐城市

简介 本文提出利用LLM和RAG技术自动更新知识图谱的方法。通过LLM作为"裁判"判断事实是否过时,再使用RAG从外部来源获取最新信息进行修复。实验证明,few-shot提示优于zero-shot,能显著提升查询准确率并有效处理LLM幻觉问题。该方法解…

张小明 2026/1/1 14:42:04 网站建设

做go kegg的在线网站苏州保洁公司收费价格表

3分钟掌握Browserpass:零门槛密码安全防护实战指南 【免费下载链接】browserpass-extension Browserpass web extension 项目地址: https://gitcode.com/gh_mirrors/br/browserpass-extension 手把手配置自动填充,钓鱼网站识别机制揭秘 你可能遇…

张小明 2026/1/1 14:41:29 网站建设