Python 动态绑定属性和方法
作者:Python-派大星 发布时间:2021-03-02 21:25:34
标签:Python,动态,绑定,属性,方法
Python
是动态语言,在创建对象后,可以动态地绑定属性和方法
定义类:
class Student: #定义类
#在__init__初始化方法中定义的属性是Student类的所有对象共享的属性,如self.name,self.age
def __init__(self,name,age): #__init__初始化方法
self.name=name #将局部变量name,赋值给实例变量
self.age=age
def eat(self): #类方法
print(self.name+"在吃饭")
一个Student
类可以创建N多个Student类的实例对象,每个实例对象的属性可以相同也可以不同
如下面的张三李四:
stu1=Student("张三",20) #创建Student类的实例对象stu1
stu2=Student("李四",30)
若只想给一个实例对象添加属性,那么就可以使用动态绑定属性的方法,为stu1添加一个性别属性
在对象创建后创建的属性,只适用于该对象使用
stu1.gender="女" #只为stu1实例对象动态添加属性,该属性只适用于stu1实例对象
print(stu1.name,stu1.age,stu1.gender) #张三 20 女
print(stu2.name,stu2.age) #张三 20 女
#print(stu2.name,stu2.age,stu2.gender) #AttributeError报错,对象里没有该属性
总结:
1.在
__init__
初始化方法中定义的属性是Student类的所有对象共享的属性,如self.name,self.age
2.在对象创建后创建的属性,只适用于该对象使用,若其他对象使用则会报错,因为没有该属性
3.一个Student类可以创建N多个
Student
类的实例对象,每个实例对象的属性可以相同也可以不同,
如下面的张三李四:
stu1.eat() #张三在吃饭,对象可以直接引用类里定义的方法
stu2.eat() #李四在吃饭
除了可以动态添加属性,还可以动态添加方法:
def show():
print("定义在类之外的,称为函数")
stu1.show=show #将定义的函数绑定在stu1这个对象上
stu1.show() #绑定后stu1就可以调用show()方法了
stu2.show()
知识点总结:
编程思想:
1.面向过程
2.面向对象
类对象 class:
1.类属性
2.类方法
3.实例方法
4.静态方法
实例对象:
1.类名() 创建实例对象c
2.动态绑定属性
3.动态绑定方法
来源:https://blog.csdn.net/weixin_53466908/article/details/122871092


猜你喜欢
- link(){var olink = getElementById("link");var text = olink.i
- MySQL 内连接、左连接、右连接、外连接、多表查询构建环境:create table t_emp(id int primary key,
- 题目描述1260. 二维网格迁移 - 力扣(LeetCode)给你一个 m 行 n 列的二维网格 grid 和
- 一、现象凌晨对线上一张表添加索引,表数据量太大(1亿+数据,数据量50G以上),造成主从延迟几个小时,各个依赖从库的系统无法查询数据,最终影
- 在实际开发中经常需要对前端传递的多个参数进行不为空校验,可以使用python提供的all()函数if not all([arg1, arg2
- 下面先给大家介绍下mpvue跳转页面,具体内容如下所示:正准备写一个小程序,得知了mpvue开源的消息,又恰巧之前刚刚学习了一点vue,便开
- 概述我们可以将此归咎于许多原因,但这肯定不仅仅是因为 PHP 生态系统缺乏适当的测试工具。在本文中,我想向您展示一个简单的设置,用于项目的基
- Vue中的插槽(slot)在项目中用的也是比较多的,今天就来介绍一下插槽的基本使用以及Vue版本更新之后的插槽用法变化。插槽是什么?插槽就是
- 发现问题比解决问题重要,使用php集成开发环境Appserv网页会提示各种语法错误,但自己配置开发环境无法提示错误,特别当不是语法错误,比如
- keras 深度学习框架中get_value函数运行越来越慢,内存消耗越来越大问题问题描述如上图所示,经过时间和内存消耗跟踪测试,发现是ke
- 这个类可以用来搜索在给定的文本目录中的文件。 它可以给定目录遍历递归查找某些文件扩展名的文件。 并打开找到的文件,并检查他们是否包含搜索词语
- 本文实例为大家分享了python数据写入excel表格的具体代码,供大家参考,具体内容如下安装: xlsxwriter第三方库code:#!
- 在最近的项目中,需要做到一个时间,就是用户离开页面的时候,我需要缓存页面其中一部分的内容,但是我不需要用户刷新的时候也缓存,我只希望在我用户
- 一、背景分析对想要在视觉化环境下制作复杂网页的专业网页制作者来说,Dreamweaver已经渐渐在网页编辑工具中展露头角,成为专业人士编写网
- 海量数据库的查询优化及分页算法方案 原出处不详 摘自:www.21php.com 随着“ * ”建设的逐步深入和 * 信息化的高
- 一个JavaScript代码编写的图片展示特效,效果很棒。效果图:演示:<!DOCTYPE HTML PUBLIC "-//
- 如果用的是Apache服务器,还可以通过配置来禁止该目录下的PHP文件的访问,有两种方式: 方式一:.htaccess控制,适用于没有服务器
- 接触过 Django 的同学都应该十分熟悉它的 ORM 系统。对于 python 新手而言,这是一项几乎可以被称作“黑科技”的特性:只要你在
- 很多时候我们写的程序,会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。
- 一、软件下载与安装VScode下载地址:https://code.visualstudio.com/VScode的github项目地址(本文