Python3 类简介

类简介

    类简介

目录概览

  • 示例

  • 示例

      '''Python中同样是支持面向对象编程的(Object Oriented Programming)。''''''1. 类的数据属性和实例的数据属性不同,即使同名;2. 类的实例可以在被创建后通过.的形式来新增实例数据属性;3. 类数据属性通过类名来调用和修改,也可以通过实例来调用但不能修改,如果通过实例来更新则会产生一个新的仅属于该实例属性;4. 类有静态方法和类方法,可以通过函数修饰符来说明;5. Python中的类可以多继承;6. 默认Python中的属性和方法是公开的(Public),可以通过下面的方法来实现 私有变量和方法_xxx        不能用'from module import *'导入__xxx__     系统定义名字__xxx       类中的私有变量名"单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;"双下划线" 开始的是私有成员,意思是只在类内部能被访问,连子类对象也不能访问到这个数据。'''# 定义一个人物类class People(object):# 此处定义的类的属性count = 0def __init__(self, name, sex, age):# 类似this指针People.count += 1self.name, self.sex, self.age = name, sex, ageself.count = 10# 此处定义实例的属性self.instance_attr = 'Test'# 公有成员函数def peoplePrint(self):print('Name is', name)print('Sex is', sex)print('Age is', age)# 静态方法  此处无参数@staticmethoddef static_method():print('This is a static method in', People.__name__)# 类方法 cls为类@classmethoddef class_method(cls):print('This is a class method', cls.__name__)name = 'who'sex = 'm'age = 23# 打印类的属性print(People.__dict__)# 类实例化one_people = People(name, sex, age)print(one_people.__dict__)# 调用成员函数one_people.peoplePrint()# 实例对象调用对象的成员变量print(one_people.name)one_people.name = 'am'print(one_people.name)# 调用类的属性print(People.count)People.count += 1print(People.count)print(People.__dict__)# 实例化另一个对象 类的属性count自增1two_people = People(name, sex, age)print(People.__dict__)# ============================# 静态方法People.static_method()# 类方法People.class_method()# ============================华丽的分割线===================================class Animal(object):"""这是一个动物的基类"""def __init__(self):"""初始化方法"""print('这是一个动物的基类')self.__printAnimal()self._printAnimal()def sounding(self):"""定义一个基本行为(方法)"""print('动物的发声')def _printAnimal(self):"""类的保护函数"""print('Protected')def __printAnimal(self):"""类的私有函数,只能被在类的内部使用"""print('Private')class Dog(Animal):"""继承Animal基类"""def __init__(self):Animal.__init__(self)  # 此处需要显示的给定参数selfprint('实例化一个Dog对象')def sounding(self):"""重载基类的方法"""Animal.sounding(self)print('Dog的发声是:汪汪')class Cat(Animal):"""继承Animal基类"""def __init__(self):Animal.__init__(self)print('实例化一个Cat对象')def sounding(self):"""重载父类的sounding方法:return: None"""Animal.sounding(self)print('Cat的发声是:喵喵')# 实例Dog对象dog1 = Dog()# 调用Dog类的sounding方法dog1.sounding()# 调用父类的保护方法dog1._printAnimal()# 实例Cat对象cat1 = Cat()# 调用Cat类的sounding方法cat1.sounding()# 调用父类的保护方法cat1._printAnimal()# cat1.__printAnimal() 报错

转载于:https://www.cnblogs.com/cloudtj/articles/6108739.html

python-类知识点简介相关推荐

  1. python常用知识点总结-python 类知识点总结

    python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象 ...

  2. Python基础知识点拾遗---文件IO(os、filecmp、shutil库)、sys库、序列化(pickle)、类

    Python基础知识点拾遗 文件IO 文本 目录 os 获取文件的创建.修改及最近访问时间 获取当前文件的大小 获取当前的登录用户名称 获取当前的cpu核数 调用操作系统底层的random生成器 sh ...

  3. python元类使用场景_Python元类使用简介

    本文概述 Python中的元类是定义类行为方式的类的类.类本身就是元类的实例. Python中的类定义了该类实例的行为.为了更好地理解元类, 需要具有使用Python类的先验经验.在深入研究元类之前, ...

  4. python有什么内容_python的类(简介,没什么内容)

    参考: https://www.cnblogs.com/studyDetail/p/6446180.html (python的类) https://www.cnblogs.com/zunchang/p ...

  5. [python]数据类(dataclass)简介

    文章目录 数据类定义 装饰器 field 初始化 数据比较 后处理 dataclasses方法 Python3.7引入了dataclass.dataclass装饰器可以声明Python类为数据类:数据 ...

  6. python装饰器-python装饰器简介---这一篇也许就够了(推荐)

    Python装饰器(decorator)是在程序开发中经常使用到的功能,合理使用装饰器,能让我们的程序如虎添翼. 装饰器引入 初期及问题诞生 假如现在在一个公司,有A B C三个业务部门,还有S一个基 ...

  7. python 完全面向对象_史上最全的Python面向对象知识点疏理

    原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...

  8. python基础知识点小结(2021/2/9)

    python基础知识点小结(2021/2/9)持续更新中~~ 入门小知识 cmd 在cmd上进行python,直接输入 python\quad pythonpython 退出cmd输入 exit()\ ...

  9. python @修饰符_数据结构与算法之8——抽象数据类型与python类

    就算你是特别聪明,也要学习,从头学起!--(俄国)屠格涅夫 本篇文章要说的主要是数据结构与算法和python中关于类(Class)以及异常(Error)的一些基础,虽然很简单,但是必须非常重视.只有在 ...

  10. Python基础知识点六万字总结,爆肝一周熬夜完成【建议收藏】

    大家好,我是辣条. 今天给大家带来Python基础知识点的总结,不夸张的说我一周才写完,这才是第一弹,如果大家喜欢记得三连呦,我会火速更新下一弹,争取把这个系列做完,希望得到大家的支持. 目录 注释 ...

最新文章

  1. 工程名.xcodeproj 里面的project.pbxproj
  2. IDEA Maven 项目默认编译项目为JDK 1.5
  3. Effective_STL 学习笔记(四十三) 尽量用算法调用代替手写循环
  4. bupt summer training for 16 #3 ——构造
  5. 用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历
  6. 代码中有的《飞秋》只是一个照面
  7. linux总线错误无法删除文件,linux – 系统D-Bus不允许使用conf文件来破坏所有权...
  8. pythonの鉴黄之路(一)——YCbCr简易版鉴黄脚本
  9. java入门基础重要知识必考考点
  10. 六大核心!突破自动驾驶和智慧交通的必由之路
  11. android studio connot resolve
  12. RecyclerView,ListView,GridView等UI控件使用及其优化和图片错位--
  13. linux java服务,在Linux上运行Java应用程序即服务
  14. stm32usb做虚拟串口和键盘_在MINI STM32 板子上实现USB虚拟串口
  15. Mysql外键设置中CASCADE、NO ACTION、RESTRICT、SET NULL区别意义
  16. 北邮带研究生的计算机导师有哪些,GitHub - sunichi/BUPTNiceMentors: 北邮研究生导师口碑榜...
  17. 同窗情【之一】(词21首)
  18. php7语法 mysql_php7语法
  19. SLAM 03.多传感器融合算法
  20. 【Java基础知识】JDBC基本操作

热门文章

  1. 逆序输出(数组练习)
  2. git rebase(变基)—— Git 学习笔记 19
  3. int指令---汇编学习笔记
  4. 替换空格---剑指Offer
  5. Netlink实现热拔插监控
  6. 区块链100问 第一问
  7. 韩信点兵python源代码_少儿编程|Python小课堂 – 韩信点兵
  8. python pandas库实现逻辑回归拟牛顿法求参数_python 牛顿法实现逻辑回归(Logistic Regression)...
  9. JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室
  10. JZOJ 4675. 【NOIP2016提高A组模拟7.21】Double-row