什么是类

具有相似功能和属性的一类实物

什么是对象

类的具体体现,具体到一个

面向对象的优势

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

Python基础-面向对象初识--类的更多相关文章

  1. Python基础之初识类和对象

    我们在前面学习了解了面向过程编程,接下来我们一起来学习一下面向对象编程.其实不管是面向过程,还是面向对 象,说白了就是一种编程方式而已.既然是面向对象编程,顾名思义,此编程方式的落地需要使用 “类” ...

  2. python基础-面向对象(类)

    类 类的定义 >>> class P: ...     pass ... >>> P <class __main__.P at 0x0000000001F4B ...

  3. python基础--面向对象基础(类与对象、对象之间的交互和组合、面向对象的命名空间、面向对象的三大特性等)

    python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. ...

  4. python基础——使用元类

    python基础——使用元类 type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Hello的class,就写一个hello. ...

  5. python基础——面向对象编程

    python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...

  6. python基础——面向对象进阶下

    python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...

  7. python基础——面向对象进阶

    python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...

  8. python基础——面向对象的程序设计

    python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...

  9. Python 基础 面向对象之二 三大特性

    Python 基础 面向对象之二 三大特性 上一篇主要介绍了Python中,面向对象的类和对象的定义及实例的简单应用,本篇继续接着上篇来谈,在这一篇中我们重点要谈及的内容有:Python 类的成员.成 ...

随机推荐

  1. NET Core写了一个轻量级的Interception框架[开源]

    NET Core写了一个轻量级的Interception框架[开源] ASP.NET Core具有一个以ServiceCollection和ServiceProvider为核心的依赖注入框架,虽然这只 ...

  2. B -- RE:从零开始的异世界生活 线段树

    http://www.ifrog.cc/acm/problem/1117?contest=1016&no=1 其实我是第一次这样用线段树. 首先把所有出现过的数字全部离散化.那么数字就是从[1 ...

  3. 51NOD 区间的价值 V2

    http://www.51nod.com/contest/problem.html#!problemId=1674 因为题目要求的只是& 和 | 这两个运算.而这两个运算产生的值是有限的. & ...

  4. 次小生成树(SST)

    次小生成树(SST) 题目背景 Awson是某国际学校信竞组的一只菜鸡.Awson最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当Awson洋洋得意之时,信竞组其他大 ...

  5. DOM所有的命令(CMD)

    刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令.所以学DOS系统操作,cmd命令提示符是不可或缺的.可以告诉大家,大多数的 ...

  6. VS2012,更新补丁后的残忍--创建项目未找到与约束匹配的导出

    解决方法网址:http://blog.csdn.net/jly4758/article/details/18660945

  7. 获取url的参数值

    var url=location.search; //获取url中从?开始的所有字符 var  theRequest=new Object();//定义一个对象来存放url中的参数 if( url.i ...

  8. WebView全面学习(二)-- Native与js双方通信

    WebView全面学习(二)-- Native与js双方通信 Native与js通信的本质 Native与js通信的核心在于WebView. 两端的通信主要还是单向的.假如要完成js->Nati ...

  9. form表单转换为Json字符串数据

    https://github.com/marioizquierdo/jquery.serializeJSON 效果图 加载使用 <script type="text/javascrip ...

  10. .NET easyUI tree树状结构

    简单的制作后台制作写一个json(string类型)格式 public partial class goodstype_type : System.Web.UI.Page { public strin ...