Python基础-面向对象初识--类
2024-09-08 15:48:47
什么是类
具有相似功能和属性的一类实物
什么是对象
类的具体体现,具体到一个
面向对象的优势
1.类是一组相似功能的集合,使组织结构更加清晰和规范化
2.研究面向对象要有上帝的思维,用面向对象设计程序,类是一种公共模板,对象去操作使用公共模板.
类的结构
class 类名(类名首字母大写):
变量部分:静态属性--静态字段--又叫属性
函数部分:动态属性--又叫方法
如何使用类
属性的操作
1.查看类的所有的内容,用__dict__,只能查看,不能操作,主要用于一次性查看所有内容
class Human: name = '人类是由名字的' mind = '人类是由思想的' def eat(self): print('人类是需要吃饭的') def work(self): print('人类都是需要工作的') print(Human.__dict__) 打印结果: {'__module__': '__main__', 'name': '人类是由名字的', 'mind': '人类是由思想的', 'eat': <function Human.eat at 0x000001B626B35048>, 'work': <function Human.work at 0x000001B626B350D0>, '__dict__': <attribute '__dict__' of 'Human' objects>, '__weakref__': <attribute '__weakref__' of 'Human' objects>, '__doc__': None}
2.万能的点 .
类对类的属性进行操作
1新增
Human.body_hair = 'timao'
2.修改
Human.mind = '无脑子'
3.删除
del Human.mind
方法的操作
除去静态方法 类方法,一般不用类名去执行类的方法
对象如何使用
如何产生一个类的对象
类名() 这样就是产生了一个对象,
obj = 类名() 有以下三步的操作
1.产生一个obj的对象,并在内存中开辟了一个对象空间
2.自动执行类中的__init__方法,并将对象传给了self
3.执行__init__的代码给对象空间封装属性
class Human: name = '人类是由名字的' mind = '人类是由思想的' def __init__(self,name,age,sex): self.n = name self.s = sex self.a = age def eat(self): return'人类是需要吃饭的' def work(self): print('人类都是需要工作的') obj = Human('wang',16,'nv') ##实例化一个对象 print(obj.__dict__)
对象的角度操作对象 类
1.查看对象里的所有的属性
print(obj.__dict__)
2.操作对象空间的属性,用万能的点
##增加 obj.height = 170 ##删除 del obj.n ##单独修改某个属性的值 obj.s = '女' ##单独查看某个属性的值 print(obj.a) print(obj.__dict__) ##3对象查看类中的静态属性,只能是查看!!! print(obj.mind) ##尝试一下是否可以修改 obj.mind = '人类也有没思想的,麻木的' print(obj.mind) #改变的只是obj里面的内容,并未改变类的内容 print(Human.mind) #4.对象中调用类的方法 obj2 = Human('xingmengge',12,'nv') print(obj.eat()) #只要对象执行类中的方法,就会将对象空间自动创给方法的第一个参数 self
最新文章
- Java Swing interview
- 苹果的MDM简介
- 通过扩展让ASP.NET Web API支持W3C的CORS规范
- Yii源码阅读笔记(三十五)
- jquery可见性选择器(匹配匹配所有显示的元素)
- [SDOI2011]染色 题解
- 远程连接Kali Linux使用PuTTY实现SSH远程连接
- could not write file C:\DOCUME~1\ADMIN
- js类型判断
- windwos异地备份Mysql数据库
- asyn4j -- java 异步方法调用框架
- Struts2简诉
- BZOJ_4864_[BeiJing 2017 Wc]神秘物质_Splay
- 【五】服务熔断、降级 —— Hystrix(豪猪)
- Kaldi的data目录解析
- input上传文件个数控制
- python爬虫 scrapy2_初窥Scrapy
- Python练习-短小精干版三级";片儿";
- android 上线流程
- 企业搜索引擎开发之连接器connector(二十七)
热门文章
- hdu5036 Explosion 传递闭包
- Java使用comms-net jar包完成ftp文件上传进度的检测功能
- node.js安装Oracledb指导文档
- C8051开发环境
- CS round--36
- I/O操做总结(四))
- 利用任务计划自动删除指定日期的SQLServer备份文件
- Cause: java.lang.UnsupportedOperationException
- 如何远程连接Windows server上的MySQL服务
- javaweb基础(7)_HttpServletResponse原理详解