【python入门】day13:面向对象之创建对象、动态绑定方法和属性

【笔记14】python动态创建对象(类实例)、动态赋值、动态生成变量 这里写自定义目录标题本次链接全集初衷实现基础动手补充:生成对象的方法、eval()、exec()及其相关函数新的问题 本次链接全集 为了方便查阅,在此先放个链接全家桶。 【转载】 Python动态生成变量1 Python动态变量名定义与调用2 Python3 exec 函数3 Python format 格式化函数4 Python进阶-自定义类基础5 python 深入理解 赋值、引用、拷贝、... 阅读详情

什么是面向对象

面向过程:简单的,可用线性思维去解决
面向对象:复杂的,用简单线性思维无法解决
类:相似群体的统称,便于快速理解和分辨事物。在python中就是数据类型,int float str tuple dict list等
对象:具体的个例就是对象,在python中一切皆对象。

定义类

类的名称由一个或者多个单词组成,每个首字母大写,其余小写
直接写在类里边的变量成为类属性
在类里定义的方法叫实例方法:

def info(self):
	print('')

类方法:

@classmethod
def cm(cls):
	print('')

静态方法:

@staticmethod
def sm():
	print('')

在类外定义的称为为函数
在这里插入图片描述

创建对象

对象名=类名(实例属性1,属性2)
对象名.方法名()与类名.方法名(类的对象名)作用相同。
在这里插入图片描述
在这里插入图片描述

类属性、类方法、静态方法的使用

类属性:类中方法外的变量称为类属性,被该类的所有对象共享
#print(类名.类属性)或者print(对象名.类属性)
类方法:使用类名直接访问的方法#类名.类方法
静态方法:使用类名直接访问的方法#类名.类方法

定义学生的类

class Student:  # 要求首字母大写
    native_pace = '吉林'  # 写在类里的变量,称为类属性
    def __init__(self, name, age):
        self.name = name  # 实例属性,将局部变量name赋值给实体属性
        self.age = age

    # 实例方法
    def eat(self):
        print('学生在吃饭...')

    # 静态方法
    @staticmethod
    def methmod():
        print('我使用了staticmethmod修饰,是静态方法')

   #类方法
    @classmethod
    def cm(cls):
       print('使用了classmethod修饰,是类方法')
print('------------------')
stu1=Student('张三',20)
stu2=Student('李四',30)
print(stu1.native_pace)
print(stu2.native_pace)
Student.native_pace='天津'
print(stu1.native_pace)
print(stu2.native_pace)
print('--类方法的使用方式--------')
Student.cm()
print('--静态方法的使用方式--------')
Student.methmod()

在这里插入图片描述
在这里插入图片描述

动态绑定属性和方法

对象名.属性名=值 #为某对象动态绑定属性
def 方法名():
对象名.方法名=方法名#动态绑定方法

'''
python 是动态语言,在创建对象之后,可以动态地绑定实现和方法,
一个student类可以创建N多个实例对象,每个实例对象的属性值可以形态也可以不同
'''
class Student:
    #类对象
    def __init__(self,name,age):
        self.name=name
        self.age=age
    #实例方法
    def eat(self):
        print(self.name+'在吃饭')
#类的实例对象
stu1=Student('zhangsan',18)
stu2=Student('lili',20)
print(id(stu1))
print(id(stu2))
print('-----为stu2绑定性别动态属性-------')
stu2.gender='女'
print(stu1.name,stu1.age,stu2.name,stu2.age,stu2.gender)
print('-----为stu1绑定show动态方法-------')
def show():      
    print('定义在类之外的,称为函数')
stu1.show=show #当绑定在对象上之后就称为方法
stu1.show()

stu2.show()会报错,应为stu2没有绑定show方法
在这里插入图片描述

总结

‘’’
编程思想:面向过程 面向对象
类对象class:类属性、类方法、静态方法是使用类名取吊用的,实例方法是使用对象打点调用的
类属性:定义类里的变量
类方法 :使用@classmethod修饰的,小括号默认代cls参数
实例方法:def ***(默认代self–>也可以自己去列的名字)
静态方法:使用@staticmethod进行修饰,没有默认参数
实例对象:类名()括号里可以传参数 创建实例对象C
动态绑定属性 动态绑定方法(只对当前对象起作用)
‘’’

python通过类名创建对象_动态生成类实例的方法根据类名(python实现) python作为脚本语言根据类名字符生成类实例非常简单,类似java的Class.forNamepython是一个脚本语言,它不象java一样有一个专门的包来处理反射。以&nbsp下是我们来看看python是怎么做到类似java一样的反射功能的。我在网上搜了一下,因为在网上没有很明确的文章说要怎么做,所以,我写了这篇,希望&nbsp新手不要向我一样走弯路,因为是新手,所以,我在这里... 阅读详情

相关推荐

python基础篇-类和对象&属性和方法&类和继承

类和对象&属性和方法&类和继承

清微的博客 3294

chatgpt赋能python:Python动态生成对象

在Python中,动态生成对象是指在运行时创建对象和属性。与静态语言不同,Python不需要在代码中明确指定每个属性,而是可以根据需要在程序运行时添加属性。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲。

tutan123321的博客 490

day13_上 Class类的封装 继承 重写 及多态

一、封装【private】 1.概念 广义的封装:函数和类的定义本身,就是封装的体现 狭义的封装:一个类的某些属性,在使用的过程 中,不希望被外界直接访问,而是把这个属性给作为私有的【只有当前类持有】,然后暴露给外界一个访问的方法即可【间接访问属性】 封装的本质:就是属性私有化的过程 封装的好处:提高了数据的安全性,提高了数据的复用性 2.属性私有化 如果想让成员变量不被外界直接访问,则可以在属性名称的前面添加两个下划线__,成员变量则被称为私有成员变量 私有属性的特点:只能在类的内部直接被访问,在外

优快云_Hy007的博客 628

第六章 Python面向对象 04-属性方法的动态绑定

跟我一起学习Python吧

shawn 630

【100天精通python】Day13:面向对象编程_多态和封装,实战模拟电影院的自动售票机选票页面

本节通过代码实例介绍多态性和封装。多态和封装是面向对象编程中的两个重要概念。多态使得相同的方法能够处理不同类型的对象,增加了代码的灵活性和可重用性。封装将数据和方法封装在对象中,对外部隐藏内部实现细节,确保了数据的安全性和完整性,并提供了良好的抽象。在 Python 中,我们可以通过继承和访问修饰符来实现多态和封装的特性。

qq_35831906的博客 1038

13、Python面向对象编程深入解析

本文深入解析了Python面向对象编程的核心概念与高级特性,包括多重继承与Mixin类的使用、多态与动态绑定的实现机制、静态方法和类方法的定义与用途、属性和描述符的访问控制、私有属性的数据封装策略以及对象内存管理的关键细节。通过理论讲解与代码示例相结合的方式,帮助开发者更好地理解Python面向对象编程的设计思想和最佳实践,同时提供了图形库的实践案例,展示了如何综合运用这些特性编写高质量、可维护的代码。

leaf8的博客 45

Python学习DAY8

1.2.3.passpassprint('二胡在弹奏')print('钢琴在弹奏')print('小提琴在弹奏')er=erhu()pi=pinao()main(pi)main(vi)main(er)print(f'我是{self.company}公司,车牌{self.no}')print(f'我是{self.name}')print('下车')

weixin_51721783的博客 2372

MCU工程迁移实战:从STM32到MSPM0L1306的完整指南

在嵌入式系统开发中,MCU工程迁移是开发者常面临的核心挑战,涉及从旧平台向新芯片的完整适配。其原理在于不同MCU在硬件架构、外设寄存器映射、时钟树及开发工具链上存在差异,迁移的本质是将应用逻辑与底层硬件实现解耦。这一过程的技术价值在于提升代码复用性、降低硬件切换成本,并确保产品能快速响应供应链或技术栈变化。典型应用场景包括产品升级换代、芯片缺货替代以及技术生态统一。本文以TI MSPM0L1306为例,详解如何通过对比清单分析、DriverLib API替换及分步调试,高效完成从STM32等平台到Arm C

weixin_27625589的博客 329

零基础学python:第13节 继承

面向对象三大特征:封装、继承、多态。

2402_83194310的博客 999

OpenMythos深度解析

本文深入解析了kyegomez/OpenMythos项目如何从第一性原理重建Claude Mythos的核心架构。该项目并非直接复制Claude,而是基于公开论文和实验结果推测其可能的设计理念,构建了包含多模态注意力、深度推理引擎、知识检索模块等六大核心组件的模块化架构。重点剖析了分组查询注意力(GQA)的实现细节,展示了KV头扩展等关键技术。该项目已成为大模型开源社区最受关注的研究之一,为理解Claude的架构思想提供了有价值的参考。

Crown_22的博客 518

Python 列表(list)所有方法超全汇总

以上就是 Pythonlist 列表全部 11 个内置方法的完整汇总,全覆盖、无遗漏。掌握所有列表方法,基本可以应对 99% 的列表操作场景,无论是日常开发、数据分析还是算法刷题都能高效编码。

jdksjw的博客 232

Python基础学习day5-类和对象

编程分为面向过程和面向对象,这两者是相辅相成的,python作为一门面向对象语言,类和对象的概念十分重要。

L_uca_s的博客 444

别再踩坑了!CAPL脚本里局部变量和全局变量的那些“怪事”(附CANoe实测代码)

本文深度解析CAPL脚本中局部变量和全局变量的特殊机制,揭示其与通用编程语言的差异。通过实测代码展示静态局部变量的默认行为和全局变量的节点隔离特性,并提供高效避坑指南,帮助汽车网络测试工程师避免常见陷阱。

weixin_30225755的博客 292

Python 学习 ---> 面向对象编程:类 ( 继承、封装、多态 )、元类

简介 类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象这个类的 实例 。这类似于你有一个int类型的变量,这存储整数的变量是int类的实例(对象)。 给C/C++/Java/C#程序员的注释 注意,即便是整数也被作为对象(属于int类)。这和C++、Java(1.5版之前)把整数纯粹作为类型是不同的。通过help(int)了解更多这个类的详情。 C#和Java 1.5程序员

freeking101的博客 1954

4 屏 + 8 摄像头一开,谁在悄悄拖慢你的座舱域控?

如果你觉得座舱卡顿:❌ 别第一反应怪 SoC❌ 别盲目堆算力。

weixin_43199439的博客 148

Python爬虫教程:抓取地方政府网站的公开文件与政策信息

Web爬虫是指一种自动化脚本,用于模拟人类浏览器访问网页、提取网页内容的数据抓取工具。发送请求到目标网页;获取网页内容;解析网页内容,提取所需数据;将数据保存或进一步处理。爬虫可以抓取各种形式的数据,如文本、图片、文件等。本教程将重点展示如何抓取地方政府网站上公开的政策文件、公告等信息。许多政府网站都会采取一定的反爬虫措施,防止大量数据被爬取。IP封锁:如果短时间内大量请求来自同一IP,可能会被封锁。验证码:一些网站会使用验证码来验证访问者是否为机器人。动态加载。

2201_76125261的博客 1980

Python基础笔记_Day12_Python元类、type动态创建类、Python动态创建方法、Python运算符、Python发邮件、短信

Day12_Python元类、type动态创建类、Python动态创建方法、Python运算符、Python发邮件、短信 12.01_Python语言基础(元类)(了解) 12.02_Python语言基础(动态创建类)(熟练) 12.03_Python语言基础(type创建类)(熟练) 12.04_Python语言基础(使用type函数创建带有属性的类)(掌握) 12.05_Python语言基础(...

dushine2008的博客 941

Yolov8轻量级网络:Ghostnet、G_ghost、Ghostnetv2家族大作战(一):华为Ghostnet,超越谷歌MobileNet | CVPR2020

Yolov8引入轻量级网络Ghostnet、G_ghost、Ghostnetv2等,减少最新的深度神经网络的计算成本,引入高效的神经网络结构。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2564

《Python参考手册》7 类与面向对象编程

文章目录7.1 class语句7.2 类实例7.3 作用域规则7.4 继承7.4.1 多重继承7.5 多态动态绑定和鸭子类型7.6 静态方法和类方法7.7 特性7.8 描述符7.9 数据封装和私有属性7.10 对象内存管理7.11 对象表示和属性绑定7.12 \_\_slots\_\_7.13 运算符重载7.14 类型和类成员测试7.15 抽象基类7.16 元类7.17 类装饰器 7.1 clas...

weixin_43956759的博客 665

Vue3 - H5实现省市区三四级联动组件,选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择,vue3实现省市区三级联动地址选择组件(支持接口数据懒加载,样式精美漂亮,附带详细示例源码)

vue3实现省市区三级联动地址选择组件(附address文件),vue3实现省市区三级联动, 实现省、市、县地区三级联动功能,vue3省市区选择器,VUE3 h5如何实现省市区街道的四级联动选择,vue实现省市区选择联动,vue3城市三级联动(自定义组件)_VUE三级联动,插件省市区联动,vue如何实现省市区选择器,vue3怎样实现省市区地址三级联动,vue四级联动,vue3级联选择器,vue3实现选择省市区镇(街道)四级级联选择,包含三级级联选择,省市区街道三级四级联动选择器,VUE3自定义多列选择器省市

🏆 前端领域优质创作者 3068

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

day13. 一、封装【private】

一、封装【private】 1.概念 广义的封装:函数和类的定义本身,就是封装的体现 狭义的封装:一个类的某些属性,在使用的过程 中,不希望被外界直接访问,而是把这个属性给作为私有的【只有当前类持有】,然后暴露给外界一个访问的方法即可【间接访问属性】 封装的本质:就是属性私有化的过程 封装的好处:提高了数据的安全性,提高了数据的复用性 说明:举例:插排,不需要关心属性在类的内部做了什么样的操作,只需要关心将值传进去,或者将结果获取出来 封装: 函数 => 类 => 模块 => 包 2.

qq_18572433的博客 515

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Day6 - 面向对象初级语法

本节内容:   1、面向对象编程介绍   2、为什么要用面向对象进行开发?   3、面向对象的特性:封装、继承、多态   4、类、方法 参考文章:http://www.cnblogs.com/alex3714/articles/5188179.html 面向过程 VS 面向对象 编程范式 对不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式。 不同...

weixin_30770495的博客 104

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Python基础学习大纲(20天速成)-第三篇

一、前言 今天和大家分享一套python基础的学习路线,从入门到掌握。学完能用python解决90%逻辑上的问题。在这之前大家可以购买《python从入门到实践》第二版(这里并不是打广告昂,也没人给我广告费,是真的觉得这本书还可以)。可以结合这本书,然后收藏我下面列出的学习计划,一定可以学有所成滴。 二、计划 接上一篇计划继续分享 在这里我们需要深刻理解面向对象设计思想,因为python是一门解释型语言,和java类似。拥有面向对象的几大特性:封装、继承、多态、抽象。在python的世界里,万物皆对

Ljj9889的博客 427

python第六周拼图_Python自学第六周(1)

Day6面向对象编程OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率 ,另外,基于面向对象的程序可以使它人更加容易理解你的代码逻辑,从而使团队开发变得更从容。面向对象的几个核心特性如下Class 类一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。在类中定义了这些对象的都具备...

weixin_39747721的博客 106

Python入入门到精通-基础语法

python基础语法

初心不忘、始终方得 259
上一篇: 【python入门】day12:bug及其处理思路
下一篇: 【python入门】day14:面向对象的三大特征:封装、继承、多态
Next2you
博客等级 码龄7年 1238粉丝 166原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Next2you

你真帅!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值