一、声明类

    class 类名:            #一般类名的首字母大写        '类的文档字符串'        类体

  例如创建一个中国人的类:
1 class Chinese:
2     '这是一个中国人的类'  #类的文档字符串
3     name = '中国人'
4     def eat():
5         print('爱吃水果')

   用类Chinese实例化处一个对象p1

print(Chinese.name)
p1 = Chinese()          #类名()表示实例化(相当于函数的return),并赋给p1,p1就是一个对象

二、属性

   1、数据属性:就是变量   2、函数属性:就是函数,在面向对象里称为方法   3、类和对象均用点来来访问自己的属性   4、查看类的属性      a. dir(Chinese)       #类的列表属性         即可查看CHinese类的所有属性包括数据、函数属性,返回一个列表

      b. Chinese.__dict__       #类的字典属性         即可查看CHinese类的所有属性包括数据、函数属性,返回一个字典         可以通过返回的字典查看类的属性

         Chinese.name   #'中国人'         Chinese.__dict__['name']   #中国人,上述的.name其实是调用__dict__获取的

         也可以用__dict__调用函数属性(调用函数)】         Chinese.__dict__['eat']()  #等同--->Chinese.eat() ---> '爱吃水果'

   5、类内置的特殊属性      类名.__name__       # 类的名字(字符串)      类名.__doc__       # 类的文档字符串      类名.__base__       # 类的第一个父类(在讲继承时会讲)      类名.__bases__      # 类所有父类构成的元组(在讲继承时会讲)      类名.__dict__       # 类的字典属性      类名.__module__     # 类定义所在的模块      类名.__class__      # 实例对应的类(仅新式类中)
三、实例化(对象)

    实例只有数据属性(实例的函数属性其实是累的函数属性),同函数的作用域样,实例可以访问类的属性,逐层向外    (上一级)寻找

   1 __init__()         #实例数据属性      该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但一定不能有返回值默认return NOne
 1 class People:
 2     def __init__(self,name,age,sex): #self=obj1,x='egon',y=18,z='male'
 3         self.name = name              #obj1.name = 'egon'其实内部就是这样进行
 4         self.age = age
 5         self.sex = sex
 6     def run(self):
 7         print('哈哈哈')
 8
 9 obj1 = People('egon',18,'male')        #---->等同于 obj1 = People.__init__(obj1,'egon',18,'male')
10 print(obj1.__dict__)                 #{'name': 'egon', 'age': 18, 'sex': 'male'}自动将初始化数据属性存放成字典形式
11 obj1.run()                            #若在类的内部定义的函数不写self参数,则python会将obj1默认传入--> obj1.run(obj1)
12                                     #则报错
13
14 #self即为实例化的对象自身,在上例中即为obj1。同函数作用域一样,实例可以访问类属性
15 #注意:!!!!!
16 # 实例调用类的方法不需要传入self对象,类会自动帮你传入
17 # 但是类调用自己的函数属性时,不会自动传入self对象,需要自己手动传入的实例对象

 

转载于:https://www.cnblogs.com/Meanwey/p/9788649.html

Python进阶-----类、对象的相关知识相关推荐

  1. 3.【Python编程】字典Dict相关知识及基本操作

    目录 3.[Python编程]字典Dict相关知识及基本操作 3.1 字典的创建 3.2 访问字典里的值 3.3 修改字典 3.4 删除字典元素 3.5 字典的常用函数 3.[Python编程]字典D ...

  2. 【Python】元组和列表相关知识总结

    python中,我们经常用到元组和列表,本文主要总结了一下元组和列表的一些基本用法. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  3. python之字符串及操作相关知识

    python之字符串相关知识 python之字符串相关知识 1.字符串 1.1 字符串的格式 1.2 字符串的输出 1.3 字符串的输入 2.下标和切片 2.1 字符串中下标的使用 2.2 切片 3. ...

  4. Python进阶-----面对对象4.0(面对对象三大特征之--继承)

    目录 前言: Python的继承简介 1.什么是继承 2.继承的好处 3.object类 继承的相关用法 1.继承的定义与法则 2.对继承的重写 3.(单继承)多层继承 4.多继承 5.多继承重写时调 ...

  5. python保存类对象_python 存储类对象吗

    Python源码读后小结 Python 笔记 前言(还是叫杂记吧) 在python中一切皆对象, python中的对象体系大致包含了"类型对象", "Mapping对象( ...

  6. Python: 自定义类对象序列化为Json串

    之前已经实现了Python: Json串反序列化为自定义类对象,这次来实现了Json的序列化. 测试代码和结果如下: import Json.JsonToolclass Score:math = 0c ...

  7. Python的类对象

    文章目录 抽象特点 具体细节 总结 抽象特点 Python 一切皆 对象 object 基于此概念 类 class 实现了以下特性 类与实例 Instance 的属性 类对象创建时可直接在类中定义类属 ...

  8. Python进阶-----类的继承顺序

    python的类可以继承多个类,如果继承多个类,那么其寻找方法的方式有:深度优先和广度优先 基类或者父类继承了object类,那么该类就是新式类,否则便是经典类 当类是经典类时,多继承情况下,会按照深 ...

  9. Python将类对象转换为json

    def demo():# 1.定义一个Student类class Student(object):# 初始化中给对象属性赋值def __init__(self, name, age, phone):s ...

最新文章

  1. Python,OpenCV使用KNN来构建手写数字及字母识别OCR
  2. centos7.5 升级kernel内核版本
  3. 墙裂推荐!卡神力作《代码随想录》,上架首日卖爆!
  4. 登录界面设计及功能实现
  5. 【SSM面向CRUD编程专栏 6】springMVC拦截器、异常处理 jdbcTemplate
  6. jsonp请求html页面,JavaScript中的JSON和JSONP
  7. 最强盘点!国产数据分析BI工具怎么选?看这篇就够了
  8. 开源社交系统ThinkSNS+和ThinkSNS V4区别在哪里
  9. 算法(四)、时间复杂度、排序、查找
  10. 无类IP地址与子网的算法
  11. 解构淘宝SPM/SCM流量跟踪体系
  12. U盘中毒,word文档变成exe文件的解决办法
  13. Activiti工作流表之间的关系
  14. oel6安装oracle报错,OEL6.1下安装Oracle 11gr2 RAC
  15. 2019-04-26周五宁波和杭州都下雨了,晚饭的鱼粉好大份哦,这是我第一次吃鱼粉!Hhhhhhhh下雨了就给吃点面才暖和,辛苦快递小哥哥了呀,其实这家店就在食堂我看见很多次了懒得买,外卖好像更便宜!
  16. EduCoder-Web程序设计基础 -web编程训练-html5-文档头部-第1关:页面标题及字符集的设置
  17. python人工智能抠图_python实现人工智能Ai抠图功能
  18. js从服务器获取word文档,javascript - 使用Office.js API将Word文档(.docx)保存到后端服务器 - 堆栈内存溢出...
  19. 关于JDK8安装遇到1335问题
  20. TJA1044---具有待机模式的高速CAN收发器

热门文章

  1. 在JSP页面中显示动态时间
  2. LeetCode: Search a 2D Matrix
  3. [专栏]壹周技术秀(第一期)
  4. shinyapps安装
  5. visual studio 工具箱(选项卡、无控件、灰图标)
  6. w7系统计算机网络密码是什么,解答win7系统共享弹出Windows安全窗口提示输入网络密码的详细教程...
  7. python爬虫 小白轻松从0到1_如何从0到1,学习Python的流程【小白入门】
  8. 优化标定的加入与实现
  9. java继承和多态的实验报告_JAVA,继承和多态实验报告
  10. 发动机异响故障诊断与排除_发动机缺缸故障诊断以及排除方法