博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十一章、定制对象独有特征
阅读量:5292 次
发布时间:2019-06-14

本文共 1147 字,大约阅读时间需要 3 分钟。

目录

第十一章、定制对象独有特征

一、引入

class OldboyStudent:    school = 'oldboy'    def choose_course(self):        print('is choosing course')stu1 = OldboyStudent()stu2 = OldboyStudent()stu3 = OldboyStudent()
  • 对于上述的学生类,如果类的属性改了,则其他对象的属性也会随之改变
OldboyStudent.school = 'OLDBOY'
print(stu1.school)
OLDBOYprint(stu2.school)#OLDBOY

二、定制对象独有特征

print(stu1.__dict__)
{}print(stu2.__dict__){}
  • 对象本质类似于类,也是一个名称空间,但是对象的名称空间存放对象独有的名字,而类中存放的是对象们共有的名字。因此我们可以直接为对象单独定制名字。
stu1.country='China'print(stu1.country)#China

## 三、类定义阶段定制属性

class OldboyStudent:    school = 'oldboy'    def __init__(self, name, age, gender):        """调用类的时候自动触发"""        self.name = name        self.age = age        self.gender = gender        print('*' * 50)    def choose_course(self):        print('is choosing course')try:    stu1 = OldboyStudent()except Exception as e:    print(e)
__init__() missing 3 required positional arguments: 'name', 'age', and 'gender'

接下来为对象赋值

stu1 = OldboyStudent('nick', 18, 'male')
print(stu1.__dict__)#{'name': 'nick', 'age': 18, 'gender': 'male'}
通过上述现象可以发现,调用类时发生两件事:创造一个空对象自动触发类中__init__功能的执行,将stu1以及调用类括号内的参数一同传入

转载于:https://www.cnblogs.com/demiao/p/11413137.html

你可能感兴趣的文章
ubuntu 安装后的配置
查看>>
Html学习_简易个人网页制作
查看>>
angular中ng-bind指令小案例
查看>>
jqery总结
查看>>
Lodop获取客户端主网卡ip地址是0.0.0.0
查看>>
VSCODE更改文件时,提示:EACCES: permission denied的解决办法(mac电脑系统)
查看>>
web前端之路,js的一些好书(摘自聂微东 )
查看>>
【模板】对拍程序
查看>>
微信小程序开发初体验
查看>>
dos批处理(bat)运行exe
查看>>
关键字
查看>>
Pycharm安装Markdown插件
查看>>
上传图片并预览
查看>>
哈夫曼编码_静态库
查看>>
【转】redo与undo
查看>>
C#更新程序设计
查看>>
常用Request对象获取请求信息
查看>>
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Shell命令-内置命令及其它之watch、date
查看>>
Java Session 介绍;
查看>>