什么是类

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

什么是对象

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

面向对象的优势

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. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) B

    Maxim wants to buy an apartment in a new house at Line Avenue of Metropolis. The house has n apartme ...

  2. 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍

    昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  3. ef 操作 mysql 中文乱码问题

    1.保证mysql数据的编码为utf8 启动mysql mysql -hlocalhost -uroot -p 输入密码 show VARIABLES like 'character_%'; SET  ...

  4. Quartz.NET基础入门

    Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和 ...

  5. 第十五章 提升用户体验 之 设计实现MVC controllers 和 actions

    1. 概述 controllers 和 actions 是 ASP.NET MVC4中非常重要的组成部分. controller管理用户和程序间的交互,使用action作为完成任务的方式. 如果是包含 ...

  6. 啊哈算法之宽搜BFS解救小哈

    简述 本算法摘选自啊哈磊所著的<啊哈!算法>第四章第三节的题目——BFS算法再次解救小哈.文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍,以此来理解BFS算法.关 ...

  7. My1stServlet

    Servlet可以看做是一个嵌套了Html代码的Java类: 1.首先创建一个Servlet类,例子如下 import java.io.PrintWriter; import javax.servle ...

  8. Android的bitmap和优化

    内存管理是个永恒的话题! 内存溢出:就是分配的内存不足以放下数据项序列.如在一个域中输入的数据超过了它的要求就会引发数据溢出问题,多余的数据就可以作为指令在计算机上运行.就是你要求分配的内存超出了系统 ...

  9. COGS 2342. [SCOI2007]kshort

    ★★☆   输入文件:bzoj_1073.in   输出文件:bzoj_1073.out   简单对比时间限制:2 s   内存限制:512 MB [题目描述] 有n个城市和m条单向道路,城市编号为1 ...

  10. 新萝卜家园GHOST WIN7系统32,64位官方版下载

    来自系统妈:http://www.xitongma.com 新萝卜家园GHOST win7系统64位官方经典版 V2016年3月 系统概述 新萝卜家园ghost win7系统64位官方经典版加快“网上 ...