类的成员描述符

在类中对成员属性进行相关操作而创建的一种方式get: 获取属性的操作set:修改或添加属性的操作delete:删除属性的操作

  使用property函数来使用描述符

    property()

       定义一个Person类,具有name,age两个属性,对于任意输入的姓名,我们希望都用大写保存,年龄用整数保存
class Person():# 函数名称可以任意def fget(self):return self._name *2def fset(self, name):# 所有输入的姓名以大写保存self._name = name.upper()def fdel(self):self._name = "NoName"name = property(fget, fset, fdel, "操作" )# 对成员进行控制

p1 = Person()
p1.name = "xiao gege "
print(p1.name)

  类的内置属性

    __dict__: 以字典的方式显示类的成员组成    __doc__: 获取类的文档信息    __name__: 获取类的名称,用在模块,就获得模块的名称    __bases__:获取某个类的所有父类,以元组的形式显示

  类的内置函数举例
 1 class A(object):
 2     '''
 3     这是一个类的内置函数举例
 4     '''
 5     name = "aaa"
 6     print("qqqq")
 7 class B(A):
 8     print("我是B 我爹是A")
 9
10 print(A.__dict__)
11 print(A.__doc__)
12 print(A.__name__)
13 print(B.__bases__)

  类的常用魔术方法

    魔术方法就是不需要人为调用的方法,基本是在特定的时刻自动触发    特征:方法名前后有两个下划线    __init__    __new__: 对象实例化方法    __call__:对象当函数使用的时候触发    __str__: 当对象被当作字符串使用时触发    __repr__: 返回字符串,和__str__区别不大    __getattr__: 访问一个不存在的属性时触发    __setattr__: 队成员属性进行设置的时候触发   # 注意__setattr__中不能对属性进行赋值,否则产生死循环
 1 class Q():
 2
 3     def __init__(self, name):
 4         print("调用了__init__")
 5         self.name = name
 6     def __call__(self):
 7         print("调用了__call__")
 8     def __str__(self):
 9         return "调用了__str__"
10     def __getattr__(self, item):
11         print("调用了__getattr__")
12     def __setattr__(self, name, value):
13         print("调用了__setattr__")
14         super().__setattr__(name,value)    # 防止死循环,可以调用父类魔法函数
15
16 q = Q("xiaogege")
17 q()        # 对象当函数使用,,触发__call__
18 print(q)   # 对象当字符串
19 print(q.ppp)
20 q.name = "sha bi"


  类的三种方法

    实例方法: 需要实例化对象才能使用    静态方法: 不许哟啊实例化,通过类直接使用    类方法: 不需要实例化
class Person()# 实例方法def eat(self):print(self)print("eating......")# 类方法
    @classmethoddef play(cls):print(cls)print("playing.....")# 静态方法
    @staticmethoddef say():print("say......")

转载于:https://www.cnblogs.com/Burtit/p/9326207.html

Python学习 5day__基础知识相关推荐

  1. Python学习0——基础知识1

    复习一下:Python基础知识学习 菜鸟教程:Python3 基础语法 | 菜鸟教程 (runoob.com) 一.数据类型 1.Number(数字) (1)数字类型 Python包括4种数字类型:i ...

  2. Python学习(基础知识2)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.python文件基本操作 1.单个文件的读写 2.多个文件的读写 3.文件特定行的读写 二.Python常见的异常 ...

  3. Python学习心得——基础知识(六)

    一.lambda表达式 1.定义 针对简单的函数,用lambda表达式来展现更方便. 2.样例 1 #普通函数 2 def f1(a): 3 return a+1 4 print(f1(7)) 5 6 ...

  4. Python学习手册 - 基础知识汇总(精简版)

    1.列表 (列表是动态的) 基本操作: list = ["A","B","C"]#列表检索list[0] #0 - 位置list[-1] # ...

  5. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  6. python基础知识资料-学习Python列表的基础知识汇总

    千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...

  7. Python培训入门基础知识学什么?

    Python培训基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python培训入门基础知识学什么呢?来看看下面小编 ...

  8. 零基础可以学python吗-学Python需要什么基础知识?零基础可以学Python吗?

    学Python需要什么基础知识?一般来说,想要学Python最好具备一定的计算机专业知识,尤其是数学和英语不错的话,对学Python也有一定的帮助.但是零基础的学习者就不能学Python了吗?当然不是 ...

  9. 学python需要什么基础知识-学Python需要什么基础知识?零基础可以学Python吗?

    学Python需要什么基础知识?一般来说,想要学Python最好具备一定的计算机专业知识,尤其是数学和英语不错的话,对学Python也有一定的帮助.但是零基础的学习者就不能学Python了吗?当然不是 ...

  10. 学python需要什么基础知识-没学过Python先要学习哪些基础知识?

    零基础学Python应该学习哪些入门知识 关于零基础怎么样能快速学好Python的问题,百度提问和解答的都很多,你可以百度下看看.我觉得从个人自学的角度出发,应从以下几个方面来理解: 1 为什么选择学 ...

最新文章

  1. 智办事2.0,第一个提出以“事情”为中心的企业管理方法落地软件
  2. 【Python】Numpy基础:数组和矢量运算
  3. 大数据凉了?No,流式计算浪潮才刚刚开始!
  4. python global 变量_python 全局变量和局部变量 (例子)
  5. 软件测试准备(摘要)
  6. 连接数据库的三种配置方式
  7. 《痞子衡嵌入式半月刊》 第 2 期
  8. 马蜂窝火车票系统服务化改造初探
  9. IT十八掌徐培成第三天笔记
  10. Java 循环语句折纸小游戏
  11. ireport的简单使用(数据表格)报表
  12. “幽幽远远”正式开张了,但是我的心情没有往日的开怀
  13. 「扫盲」 Elasticsearch
  14. php taglib.php,thinkphp5 taglib_pre_load预加载自定义标签库
  15. SAP Change Request Management (ChaRM)基础教程
  16. 云安对于物理服务器监控
  17. 好不容易从流水线转码农的我又“失业”了...
  18. 28种运动健身摄影调色lr预设
  19. java中double..compare_Java Double类compare()方法与示例
  20. Python设计模式:享元模式和单例模式

热门文章

  1. Java程序员面试宝典--面向对象的基本概念
  2. 0-1之间的随机数 C/C++
  3. token令牌防止重复提交
  4. gridview為什麼分頁後,GridView1_RowDataBound就運行不了
  5. jQuery基础资料
  6. TCP新手误区–心跳的意义
  7. C++ 单例模式 模版类(Meyers‘ Singleton)
  8. 将两个数组首尾相连c语言,一个百度笔试中的首尾相连的珠子问题解法
  9. 左右方块消除html5,html5消除方块游戏总结-对象
  10. stm32采集脉冲信号_外部脉冲实现ADC采样的问题 STM32f103VE