
对象的绑定方法
Python从入门到放弃完整教程目录:
发布日期:2021-05-09 05:33:54
浏览次数:10
分类:博客文章
本文共 1438 字,大约阅读时间需要 4 分钟。
目录
一、对象的绑定方法
class OldboyStudent: school = 'oldboy' def __init__(self, name, age, gender): self.name = name self.age = age self.sex = gender def choose_course(self): print(f'{self.name} choosing course') def func(self): print('from func')
- 类名称空间中定义的数据属性和函数属性都是共享给所有对象用的
- 对象名称空间中定义的只有数据属性,而且是对象所独有的数据属性
二、类使用对象的绑定对象
stu1 = OldboyStudent('nick', 18, 'male')stu2 = OldboyStudent('sean', 17, 'male')stu3 = OldboyStudent('tank', 19, 'female')print(stu1.name)print(stu1.school)
nickoldboy
- 类中定义的函数是类的函数属性,类可以使用,但使用的就是一个普通的函数而已,意味着需要完全遵循函数的参数规则,该传几个值就传几个
print(OldboyStudent.choose_course)
try: OldboyStudent.choose_course(123)except Exception as e: print(e)
'int' object has no attribute 'name'
三、对象使用对象的绑定方法
- 类中定义的函数是共享给所有对象的,对象也可以使用,而且是绑定给对象用的,
- 绑定的效果:绑定给谁,就应该由谁来调用,谁来调用就会将谁当作第一个参数自动传入
print(id(stu1.choose_course))print(id(stu2.choose_course))print(id(stu3.choose_course))print(id(OldboyStudent.choose_course))
4379911304437991130443799113044384680000
print(id(stu1.school))print(id(stu2.school))print(id(stu3.school))
438088368843808836884380883688
print(id(stu1.name), id(stu2.name), id(stu3.name))
4384509600 4384506072 4384507864
stu1.choose_course()
nick choosing course
stu2.choose_course()
sean choosing course
stu3.choose_course()
tank choosing course
- 补充:类中定义的函数,类确实可以使用,但其实类定义的函数大多情况下都是绑定给对象用的,所以在类中定义的函数都应该自带一个参数self
stu1.func()
from func
stu2.func()
from func
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月25日 12时19分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
机器学习之数据探索——数据特征分析(分布分析)
2021-05-09
机器学习之数据探索——数据特征分析(帕累托分析)
2021-05-09
深度解密Go语言之 scheduler
2021-05-09
分库分表(4) ---SpringBoot + ShardingSphere 实现分表
2021-05-09
SpringBoot(20)---断言(Assert)
2021-05-09
eclipse快捷键
2021-05-09
java提高(6)---Serializable
2021-05-09
VueJs(3)---V-指令(1)
2021-05-09
【Docker】(1)---Docker入门篇
2021-05-09
【Docker】(5)---springCloud注册中心打包Docker镜像
2021-05-09
Spring 学习笔记(三)——IoC容器(ApplicationContext)
2021-05-09