python-类知识点简介
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-类知识点简介相关推荐
- python常用知识点总结-python 类知识点总结
python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象 ...
- Python基础知识点拾遗---文件IO(os、filecmp、shutil库)、sys库、序列化(pickle)、类
Python基础知识点拾遗 文件IO 文本 目录 os 获取文件的创建.修改及最近访问时间 获取当前文件的大小 获取当前的登录用户名称 获取当前的cpu核数 调用操作系统底层的random生成器 sh ...
- python元类使用场景_Python元类使用简介
本文概述 Python中的元类是定义类行为方式的类的类.类本身就是元类的实例. Python中的类定义了该类实例的行为.为了更好地理解元类, 需要具有使用Python类的先验经验.在深入研究元类之前, ...
- python有什么内容_python的类(简介,没什么内容)
参考: https://www.cnblogs.com/studyDetail/p/6446180.html (python的类) https://www.cnblogs.com/zunchang/p ...
- [python]数据类(dataclass)简介
文章目录 数据类定义 装饰器 field 初始化 数据比较 后处理 dataclasses方法 Python3.7引入了dataclass.dataclass装饰器可以声明Python类为数据类:数据 ...
- python装饰器-python装饰器简介---这一篇也许就够了(推荐)
Python装饰器(decorator)是在程序开发中经常使用到的功能,合理使用装饰器,能让我们的程序如虎添翼. 装饰器引入 初期及问题诞生 假如现在在一个公司,有A B C三个业务部门,还有S一个基 ...
- python 完全面向对象_史上最全的Python面向对象知识点疏理
原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...
- python基础知识点小结(2021/2/9)
python基础知识点小结(2021/2/9)持续更新中~~ 入门小知识 cmd 在cmd上进行python,直接输入 python\quad pythonpython 退出cmd输入 exit()\ ...
- python @修饰符_数据结构与算法之8——抽象数据类型与python类
就算你是特别聪明,也要学习,从头学起!--(俄国)屠格涅夫 本篇文章要说的主要是数据结构与算法和python中关于类(Class)以及异常(Error)的一些基础,虽然很简单,但是必须非常重视.只有在 ...
- Python基础知识点六万字总结,爆肝一周熬夜完成【建议收藏】
大家好,我是辣条. 今天给大家带来Python基础知识点的总结,不夸张的说我一周才写完,这才是第一弹,如果大家喜欢记得三连呦,我会火速更新下一弹,争取把这个系列做完,希望得到大家的支持. 目录 注释 ...
最新文章
- 工程名.xcodeproj 里面的project.pbxproj
- IDEA Maven 项目默认编译项目为JDK 1.5
- Effective_STL 学习笔记(四十三) 尽量用算法调用代替手写循环
- bupt summer training for 16 #3 ——构造
- 用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历
- 代码中有的《飞秋》只是一个照面
- linux总线错误无法删除文件,linux – 系统D-Bus不允许使用conf文件来破坏所有权...
- pythonの鉴黄之路(一)——YCbCr简易版鉴黄脚本
- java入门基础重要知识必考考点
- 六大核心!突破自动驾驶和智慧交通的必由之路
- android studio connot resolve
- RecyclerView,ListView,GridView等UI控件使用及其优化和图片错位--
- linux java服务,在Linux上运行Java应用程序即服务
- stm32usb做虚拟串口和键盘_在MINI STM32 板子上实现USB虚拟串口
- Mysql外键设置中CASCADE、NO ACTION、RESTRICT、SET NULL区别意义
- 北邮带研究生的计算机导师有哪些,GitHub - sunichi/BUPTNiceMentors: 北邮研究生导师口碑榜...
- 同窗情【之一】(词21首)
- php7语法 mysql_php7语法
- SLAM 03.多传感器融合算法
- 【Java基础知识】JDBC基本操作
热门文章
- 逆序输出(数组练习)
- git rebase(变基)—— Git 学习笔记 19
- int指令---汇编学习笔记
- 替换空格---剑指Offer
- Netlink实现热拔插监控
- 区块链100问 第一问
- 韩信点兵python源代码_少儿编程|Python小课堂 – 韩信点兵
- python pandas库实现逻辑回归拟牛顿法求参数_python 牛顿法实现逻辑回归(Logistic Regression)...
- JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室
- JZOJ 4675. 【NOIP2016提高A组模拟7.21】Double-row