什么是类

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

什么是对象

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

面向对象的优势

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. nginx配置SSL证书实现https服务

    在前面一篇文章中,使用openssl生成了免费证书 后,我们现在使用该证书来实现我们本地node服务的https服务需求.假如我现在node基本架构如下: |----项目 | |--- static ...

  2. jdk1.6与jdk1.7list集合排序区别与算法

    源码分析: 在Collections.sort中:    public static <T extends Comparable<? super T>> void sort(L ...

  3. unity3d + photon + grpc + nodejs + postgis/postgresql 游戏服务器设计

    unity3d + photon + grpc + nodejs + postgis/postgresql 游戏服务器设计 最近做玩票性质的游戏项目,客户端技术是 unity3d 和 android. ...

  4. 一、Postgresql的基本操作

    ---------------------------------------------------------------------------------------------------- ...

  5. win7 dos窗口模拟帧刷新

    前几天是白色情人节,临时脑抽写了个表白神器 高端大气上档次,就是不知道该送给谁,经过两天的反射弧思考决定还是写给博客娘吧.- -~ 这个程序就是打开后,在Dos窗口内模拟写出几行字母.其实主要就是模拟 ...

  6. oracle 、server和my sql 语法区别

    1.总结Oracle .sqlserver和mysql中查询10-20条记录的写法 一: oracle数据库写法: 1:select * from (select rownum rn ,* from ...

  7. WinForm 窗体API移动 API阴影

    窗体移动 //窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllI ...

  8. Win10权限问题

    通过组策略打开Administrator用户后,Edge.图片查看器等内置程序不能使用,提示“无法使用内置管理员账户打开” 网上的方法: 1.组策略:本地安全策略编辑器——安全设置——本地策略——安全 ...

  9. flash jquery 调用摄像头 vue chrome49浏览器

    flash jquery 调用摄像头 vue chrome49浏览器 这个摄像头,不能一个页面加载多个,只能一个页面显示一次,所以 调用的时候,记得加v-if 把组件销毁,然后从新加载新的 <! ...

  10. JS编程规范指南

    原文:github.com/ryanmcdermott/clean-code-javascript 说明:本文翻译自 github 上的一个项目,只取部分精华. 一.变量 用有意义且常用的单词命名 / ...