1.__doc__:表示类的描述信息

 class Person(object):
'''定义人的类'''
def func(self):
pass print(Person.__doc__)
结果为:定义人的类

2.__module__ :表示当前操作的对象在那个模块

__class__ :表示当前操作的对象的类是什么

#定义一个test.py文件,键入如下代码:
class Person(object):
def __init__(self):
self.name = 'laowang' #定义一个01.py文件,键入如下代码:
from test import Person obj = Person()
print(obj.__module__) # 结果 test 即:输出模块
print(obj.__class__) # 结果 test.Person 即:输出类

3.__del__:当对象在内存中被释放时,自动触发执行

说明:__del__的调用是由解释器在进行垃圾回收时自动触发执行的。一般无需自定义

4.__init__ 和 __call__

定义一个类,当将此类实例化,即创建一个具体的对象时,就会触发__init__方法;而__call__是在给之前创建的对象加上括号时触发,可以按如下方式理解;

#coding=utf-8
class Person(object):
def __init__(self):
self.ability1 = 'eat'
self.ability2 = 'sleep'
def __call__(self,*args,**kwargs):
print('你好,python') people = Person() #此处执行__init__方法
people() #此处执行__call__方法

5.__dict__ :显示类或对象中属性的方法

class Person(object):
ability = 'think'
def __init__(slef,name,sex,age):
self.name = name
slef.sex = sex
self.age = age def func(self,*args,**kwargs):
pass
# 获取类的属性,即:类属性、方法
print(Province.__dict__)
# 获取 对象person1 的属性
person1 = Person(Tom,man,10)
print(person1.__dict__)

6.__str__:在类中定义了__str__方法,在应用print函数打印实例对象是,会默认输出__str__方法的返回值

class Person(object):
def __str__(self):
return 'Tom'
obj = Foo()
print(obj)
# 输出:Tom

python魔法属性的更多相关文章

  1. python进阶之类常用魔法方法和魔法属性

    前言 前面我们总结过了python的关键字.运算符.内置函数.语法糖等与python魔法方法之间的关系,现在我们更细一点,看看python的面向对象编程有哪些常用的魔法属性和魔法方法. 魔法属性 对于 ...

  2. python进阶之函数和类内建魔法属性

    前言 关于对象的魔法方法我们已经讲得太多,但是对于类或函数内建的魔法属性和功能我们涉及较少,下面系统了解一下类和函数的内建属性. 查看内建属性 class Person(object): pass d ...

  3. Python类属性访问的魔法方法

    Python类属性访问的魔法方法: 1. __getattr__(self, name)- 定义当用户试图获取一个不存在的属性时的行为 2. __getattribute__(self, name)- ...

  4. Python高级笔记(七)魔法属性

    1. 私有属性 名字重整 print(Test.__dict__) {'__weakref__': <attribute '__weakref__' of 'Test' objects>, ...

  5. 『无为则无心』Python面向对象 — 60、魔法属性

    目录 1.魔法属性__name__ 2.魔法属性__bases__ 3.魔法属性__mro__ 4.魔法属性__doc__ 5.魔法属性__module__ 和__class__ 6.魔法属性__di ...

  6. Python魔法 - MetaClass

    Python魔法 - MetaClass metaclass The class of a class. Class definitions create a class name, a class ...

  7. Python魔法方法总结及注意事项

    1.何为魔法方法: Python中,一定要区分开函数和方法的含义: 1.函数:类外部定义的,跟类没有直接关系的:形式: def func(*argv): 2.方法:class内部定义的函数(对象的方法 ...

  8. python魔法方法:__getattr__,__setattr__,__getattribute__

    python魔法方法:__getattr__,__setattr__,__getattribute__ 难得有时间看看书....静下心来好好的看了看Python..其实他真的没有自己最开始想的那么简单 ...

  9. python魔法方法大全

    1.python魔法方法详解: python魔法方法是可以修改重载的,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而 ...

随机推荐

  1. keras recall

    # accuracy, fmeasure, precision,recall def mcor(y_true, y_pred): y_pred_pos = K.round(K.clip(y_pred, ...

  2. CentOS7.查看进程占用端口情况

    1.命令:"netstat -lntp" 2.没有改命令的话,需要安装 net-tools工具:"yum install net-tools" 3. 4. 5.

  3. 【扩展事件】跟踪超过3秒的SQL

    msdn 扩展事件:点击打开链接 转自:https://blog.csdn.net/yenange/article/details/52592814 -- 删除事件会话 IF EXISTS(SELEC ...

  4. jquery导航栏高亮(二级菜单点击一级保持高亮)

    <script type="text/javascript"> var urlstr = location.href; var urlstatus=false; $(& ...

  5. Python数据结构与算法?

    数据结构与算法(Python) 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是 ...

  6. CSUST 8.4 早训

    ## Problem A A - Memory and Crow CodeForces - 712A 题意: 分析可得bi=ai+ai+1 题解: 分析可得bi=ai+ai+1 C++版本一 #inc ...

  7. 利用CSS的translate属性或利用CSS实现图片居中的效果

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Paper Reading_ML for system

    最近(以及预感接下来的一年)会读很多很多的paper......不如开个帖子记录一下读paper心得 SysML相关的文章很多来源于上学期的8980课.有些和具体field(比如DB/architec ...

  9. Redis数据类型及基本命令

    一.基础命令 提示:Redis不区分命令大小写 1.获得符合规则的键名列表 keys pattern    //pattern支持glob风格通配符格式 2.判断一个键是否存在 exists key  ...

  10. Luogu P2756 [网络流24题]飞行员配对方案问题_二分图匹配题解

    二分图模板题 我用的是匈牙利 其实最大流也可以做 #include<iostream> #include<cstdio> #include<cstdlib> #in ...