1. # class Chinese(object):
  2. class Chinese:
  3. '''
  4. 类的说明性文档
  5. '''
  6. pass
  7.  
  8. print(Chinese) # <class '__main__.Chinese'>
  9.  
  10. # 类的实例化:类名+小括号,到底做了什么?
  11. p1 = Chinese()
  12. print(p1) # <__main__.Chinese object at 0x0568C2B0>

类的属性操作

  1. class Chinese:
  2. country = 'China'
  3. def __init__(self,name):
  4. self.name = name
  5. def play(self):
  6. print("玩耍")
  7. def sing(self):
  8. print("唱歌")
  9.  
  10. print(Chinese) # <class '__main__.Chinese'>
  11. # 打印类的数据字典
  12. print(Chinese.__dict__)
  13.  
  14. #################——数据属性——######################
  15. # 查看
  16. print(Chinese.country) # China
  17. # 修改
  18. Chinese.country = '中国'
  19. print(Chinese.country) # 中国
  20. # 增加
  21. Chinese.dang = '党'
  22. print(Chinese.dang)
  23. # 删除
  24. # print(Chinese.__dict__)
  25. del Chinese.dang
  26. # 打印类的数据字典
  27. # print(Chinese.__dict__)
  28.  
  29. #################——函数属性——######################
  30. def eat(self):
  31. print("吃吃吃")
  32. def eat123(self):
  33. print("吃吃吃123")
  34. # 增加
  35. Chinese.eat = eat
  36. # 查看
  37. print(Chinese.eat) # <function eat at 0x04D0C8E8>
  38. # 打印类的数据字典
  39. # print(Chinese.__dict__)
  40. # 修改
  41. Chinese.eat = eat123
  42. print(Chinese.eat) # <function eat123 at 0x04DEC810>
  43. # 删除
  44. del Chinese.eat
  45. # print(Chinese.__dict__)

实例的属性操作

  1. class Chinese:
  2. country = 'China'
  3. def __init__(self,name):
  4. self.name = name
  5. def play(self):
  6. print("玩耍")
  7. def sing(self):
  8. print("唱歌")
  9.  
  10. p1 = Chinese('yuan')
  11. print(p1) # <__main__.Chinese object at 0x05079CD0>
  12. # 打印实例的数据字典【即init中的】
  13. print(p1.__dict__) # {'name': 'yuan'}
  14.  
  15. #################——数据属性——######################
  16. # 查看
  17. print(p1.name) # yuan
  18. # 增加
  19. p1.age = 18
  20. print(p1.age) #
  21. # 打印实例的数据字典
  22. print(p1.__dict__) # {'name': 'yuan', 'age': 18}
  23.  
  24. #不要修改底层的属性字典
  25. # p1.__dict__['sex']='male'
  26. # print(p1.__dict__)
  27. # print(p1.sex)
  28.  
  29. # 修改
  30. p1.age = 23
  31. print(p1.age) #
  32. print(p1.__dict__) # {'name': 'yuan', 'age': 23}
  33. # 删除
  34. del p1.age
  35. print(p1.__dict__) # {'name': 'yuan'}
  36.  
  37. #################——函数属性——######################
  38. # 实例没有函数属性
  39. # 类的属性修改会直接体现到实例
  40.  
  41. def eat(self):
  42. print("吃吃吃")
  43. # 增加
  44. p1.eat = eat
  45. # 查看【忘记吧】
  46. # p1.eat("###") # 容易出错
  47. # p1.eat(p1)

类与实例

  1. country = "中国****"
  2. class Chinese:
  3. country = 'China'
  4. def __init__(self,name):
  5. self.name = name
  6. print("--->", country) # ---> 中国****
  7. def play(self):
  8. print("玩耍")
  9. def sing(self):
  10. print("唱歌")
  11.  
  12. p1 = Chinese('yuan')
  13. # 打印实例的数据字典
  14. print(p1.__dict__) # {'name': 'yuan'}
  15. # 【当实例的数据字典没有时】访问类的数据字典
  16. print(p1.country)
  17.  
  18. p1.country = "中国"
  19. # 打印实例的数据字典
  20. print(p1.__dict__) # {'name': 'yuan', 'country': '中国'}
  21. # 访问实例的数据字典
  22. print(p1.country) # 中国
  23.  
  24. # 访问类的数据字典
  25. print(Chinese.country) # China
  26. # 初始化时【country与p1.country、Chinese.country的区别】
  27. p2 = Chinese('Lucy') # 初始化时

Python开发——面向对象【类、实例】的更多相关文章

  1. Python之面向对象类和对象

    Python之面向对象类和对象 定义一个类:class 定义类的语法: class Test(object): """ 类里定义一类事物共同的技能. 可以是变量,也可是函 ...

  2. python(面向对象-类封装调用)

    一.面对对象思想 (1)大家肯定听过 Python 中”一切皆对象“的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言,本节将向大家详细介绍 Python 面 ...

  3. python开发面向对象基础:组合&继承

    一,组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合      人类装备了武器类就是组合 1.圆环,将圆类实例后传给圆环类 #!/usr/bin/env python #_*_ ...

  4. Day 21 python :面向对象 类的相关内置函数 /单例模式 /描述符

    1.isinstance(obj,cls) 检查obj是否是类cls的对象: 备注:用isinstance 的时候,产生实例后,会显示实例既是父类的实例,也是子类的实例 class Mom: gend ...

  5. python开发面向对象基础:接口类&抽象类&多态&钻石继承

    一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实 ...

  6. python的面向对象-类的数据属性和实例的数据属性相结合-无命名看你懵逼不懵逼系列

    1. class Chinese: country='China' def __init__(self,name): self.name=name def play_ball(self,ball): ...

  7. PYTHON开发--面向对象基础入门

    面向对象 一:面向对象初级 1.思考:首先在python中,以前我们以前用到的几乎都是函数式编程,但是有时候函数式编程其中代码重复利用率太高,我们往往会把这些重复代码写进一个函数日后去调用,所以呢,今 ...

  8. PYTHON开发--面向对象基础二

    一.成员修饰符 共有成员 私有成员, __字段名 - 无法直接访问,只能间接访问 1.     私有成员 1.1  普通方法种的私有成员 class Foo: def __init__(self, n ...

  9. python开发面向对象基础:人狗大战学面向对象

    一,通过函数写人狗大战这个故事 #!/usr/bin/env python #_*_coding:utf-8_*_ #1.函数 人模子 def person(name,level,life_value ...

随机推荐

  1. Docker入门与实战讲解

    转载自:http://blog.csdn.net/relax_hb/article/details/69668815 简述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包 ...

  2. 计算机信息系统安全保护等级划分准则(GB 17859-1999)

    概述 计算机信息系统安全保护等级划分准则(GB 17859-1999) 1 范围 本标准规定了计算机系统安全保护能力的五个等级,即: 第一级:用户自主保护级: 第二级:系统审计保护级: 第三级:安全标 ...

  3. Linux(CentOS-7) 下载 解压 安装 redis 操作的一些基本命令

    使用xshell 连接到虚拟机,并且创建 一个redis目录:创建文件命令:mkdir 文件名ls:查看当前文件里面的所有文件 使用xftp 将下载的linux版本 reids上传动新建的redis目 ...

  4. 几种流行Webservice框架

    一. 几个比较流行的Webservice框架: Apache Axis1.Apache Axis2.Codehaus XFire.Apache CXF.Apache Wink.Jboss  RESTE ...

  5. 1、Shiro 安全框架与Spring 整合详解

    Apache Shiro 是一个安全认证框架,和 Spring Security 相比,在于他使用了比较简洁易懂的认证和授权方式.其提供的 native-session(即把用户认证后的授权信息保存在 ...

  6. 04-体验一下apache组织封装的BeanUtil工具包

    apache 自己为程序员们封装了一个专门用于处理的工具类,其功能有(数据类型会自动转成与JavaBean相关的) map转javabean javabean转map javabean对象复制 获取j ...

  7. Numpy学习笔记(一)

    (1)NumPy的核心对象 ndarray  用于表示N 维数组类型.它描述相同类型的元素集合. 可以使用基于零的索引访问集合中的项目. (2)Ndarray的创建 可以使用numpy.array() ...

  8. Altium Designer9.4局域网内冲突的问题

    Altium Designer破解 1.安装Altium Designer原程序.2.运行AD9KeyGen,点击“打开模板”,加载ad9.ini,如想修改注册名,只需修改:TransactorNam ...

  9. React开发笔记

    项目环境搭建 使用create-react-app CSS使用styled-components yarn add styled-components 引入reset.css样式 import { c ...

  10. Servlet工作原理解析

    Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 S ...