打印变量db的类(class):
[root@fuel ~]# python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from nailgun.db import db
2016-01-28 15:33:57.512 DEBUG [7fa46d13f700] (settings) Looking for settings.yaml package config using old style __file__
2016-01-28 15:33:57.512 DEBUG [7fa46d13f700] (settings) Trying to read config file /usr/lib/python2.6/site-packages/nailgun/settings.yaml
2016-01-28 15:33:57.733 DEBUG [7fa46d13f700] (settings) Trying to read config file /etc/nailgun/settings.yaml
2016-01-28 15:33:57.752 DEBUG [7fa46d13f700] (settings) Trying to read config file /etc/fuel/version.yaml
>>> print db.__class__
<class 'sqlalchemy.orm.scoping.scoped_session'>
>>> print db.__class__.__name__
scoped_session
>>> exit()

# vi a.py
----------------------------------------------------------------
import re
from sqlalchemy.orm.scoping import scoped_session
d = scoped_session.__dict__
for var in d:
    p = re.compile("__.*__")
    m = p.search(var)
    if m == None:
        print "object.%s=%s" % (var, d[var])
----------------------------------------------------------------
# python a.py
object.add_all=<function do at 0x22a8050>
object.no_autoflush=<property object at 0x22a7310>
object.expunge_all=<function do at 0x22a8578>
object.scalar=<function do at 0x22a8938>
object.query=<function do at 0x22a87d0>
object.close_all=<classmethod object at 0x22a9398>
object.add=<function do at 0x22a5f50>
object.rollback=<function do at 0x22a88c0>
object.configure=<function configure at 0x22a5cf8>
object.query_property=<function query_property at 0x22a5d70>
object.is_active=<property object at 0x22a7260>
object.is_modified=<function do at 0x22a86e0>
object.info=<property object at 0x22a7368>
object.execute=<function do at 0x22a8398>
object.expunge=<function do at 0x22a8500>
object.refresh=<function do at 0x22a8848>
object.autoflush=<property object at 0x22a72b8>
object.merge=<function do at 0x22a8758>
object.dirty=<property object at 0x22a7100>
object.begin_nested=<function do at 0x22a8140>
object.delete=<function do at 0x22a8320>
object.remove=<function remove at 0x22a5c80>
object.flush=<function do at 0x22a85f0>
object.close=<function do at 0x22a81b8>
object.new=<property object at 0x22a71b0>
object.begin=<function do at 0x22a80c8>
object.identity_key=<classmethod object at 0x22a9478>
object.deleted=<property object at 0x22a7158>
object.identity_map=<property object at 0x22a7208>
object.expire=<function do at 0x22a8410>
object.object_session=<classmethod object at 0x22a9408>
object.bind=<property object at 0x22a70a8>
object.expire_all=<function do at 0x22a8488>
object.connection=<function do at 0x22a82a8>
object.commit=<function do at 0x22a8230>
object.get_bind=<function do at 0x22a8668>

python 打印类的属性、方法的更多相关文章

  1. Delphi中TStringList类常用属性方法详解

    TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...

  2. python 面向对象类成员(字段 方法 属性)

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...

  3. python:类3——魔法方法

    一.魔法方法特点 被双上下滑线包围 魔法方法是面向对象的Python的一切,如果你不知道魔法方法,说明你还没能意识到面向对象的Python的强大(不是说Python脚本) 通过对制定方法的重写,完全可 ...

  4. python tips:类的绑定方法(bound)和非绑定方法(unbound)

    类属性只有类及其实例能够访问,可以理解为一个独立的命名空间. Python中类属性的引用方式有两种: 1. 通过类的实例进行属性引用,称为绑定方法(bound method),可以理解为方法与实例绑定 ...

  5. Python的类实例属性访问规则

    一般来说,在Python中,类实例属性的访问规则算是比较直观的. 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此. 在这里,我们需要明白以下几个地方: 1.Pytho ...

  6. python基础-类的属性(类属性,实例属性,私有属性)

      一:类的属性 类的属性分为:类属性(公有属性),实例属性和私有属性. 1)类属性(公有属性(静态字段): 类定义时直接指定的属性(不是在__init__方法中),可以通过类名直接访问属性,并且保存 ...

  7. day 1类 对象 属性 方法

    1. 解决吃啤酒鸭的问题 第一种方式(面向过程): 1)养鸭子 2)鸭子长成 3)杀 4)作料 5)烹饪 6)吃 7)卒 第二种方式(面向对象): 1)找个卖啤酒鸭的人 2)给钱 交易 3)吃 4)胖 ...

  8. C#-类 字段 属性 方法 特性

    方法的签名 包括参数个数.参数类型.方法返回值 base和this关键字 1.使用base关键字,就可以使用父类中的字段.属性.方法 2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆 ...

  9. python:类4——魔法方法(定制序列、迭代)、生成器、推导式

    一.定制序列(容器类型) http://bbs.fishc.com/forum.php?mod=viewthread&tid=48793&extra=page%3D1%26filter ...

随机推荐

  1. arTemplate解析语法

    模板解析语法 defaults.parser = function (code, options) { // var match = code.match(/([\w\$]*)(\b.*)/); // ...

  2. 用js 将long类型转换成日期格式

    //扩展Date的format方法 Date.prototype.format = function (format) { var o = { "M+": this.getMont ...

  3. Office Web Apps 错误

    owa安装完后,在sharepoint网站上打开word,excel,报错,Sorry, something went wrong, 通过correlation id找到错误信息(如何在sharepo ...

  4. 期刊:DOI :10.3969/j.issn.1001-2400.2012.01.008

    DOI:10.3969/j.issn.1001-2400.2012.01.008 “/” 分为前缀和后缀两部分中间用一斜杠分开,前缀中又以小圆点分为两部分. "DOI":一篇期刊论 ...

  5. c语言编译命令

    第14章 预处理及用户配置文件 • 预处理命令通常在程序编译时进行一些符号处 理,其并不执行具体的硬件操作.C51语言中的预 处理命令主要有宏定义指令.文件包指令和条 件编译指令,还有其他一些调试时使 ...

  6. Spring.NET 中的 ADO.NET 数据访问的示例

    Spring.NET 1.3.1 中提供了一个使用 AdoTemplate 的完整示例,包括使用泛型和使用非泛型技术进行数据访问,这个示例位于下载的压缩包中\Spring.NET-1.3.1\Spri ...

  7. think in uml 1

    对象,在过程的基础上,是一个抽象级别的提升,可以构建更大更复杂的系统 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能.数据在系统内部 ...

  8. jquery 展开关闭效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Swift 学习笔记 (二)

    原创:转载请注明出处 41.闭包表达式语法(Closure Expression Syntax) 闭包表达式语法有如下一般形式: { (parameters) -> returnType in ...

  10. select初始化默认选项

    在写select时由于 在数据库中的得到的值都是字典型的值0,1,2所以在初始化的时候要