python 打印类的属性、方法
打印变量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 打印类的属性、方法的更多相关文章
- Delphi中TStringList类常用属性方法详解
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...
- python 面向对象类成员(字段 方法 属性)
一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...
- python:类3——魔法方法
一.魔法方法特点 被双上下滑线包围 魔法方法是面向对象的Python的一切,如果你不知道魔法方法,说明你还没能意识到面向对象的Python的强大(不是说Python脚本) 通过对制定方法的重写,完全可 ...
- python tips:类的绑定方法(bound)和非绑定方法(unbound)
类属性只有类及其实例能够访问,可以理解为一个独立的命名空间. Python中类属性的引用方式有两种: 1. 通过类的实例进行属性引用,称为绑定方法(bound method),可以理解为方法与实例绑定 ...
- Python的类实例属性访问规则
一般来说,在Python中,类实例属性的访问规则算是比较直观的. 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此. 在这里,我们需要明白以下几个地方: 1.Pytho ...
- python基础-类的属性(类属性,实例属性,私有属性)
一:类的属性 类的属性分为:类属性(公有属性),实例属性和私有属性. 1)类属性(公有属性(静态字段): 类定义时直接指定的属性(不是在__init__方法中),可以通过类名直接访问属性,并且保存 ...
- day 1类 对象 属性 方法
1. 解决吃啤酒鸭的问题 第一种方式(面向过程): 1)养鸭子 2)鸭子长成 3)杀 4)作料 5)烹饪 6)吃 7)卒 第二种方式(面向对象): 1)找个卖啤酒鸭的人 2)给钱 交易 3)吃 4)胖 ...
- C#-类 字段 属性 方法 特性
方法的签名 包括参数个数.参数类型.方法返回值 base和this关键字 1.使用base关键字,就可以使用父类中的字段.属性.方法 2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆 ...
- python:类4——魔法方法(定制序列、迭代)、生成器、推导式
一.定制序列(容器类型) http://bbs.fishc.com/forum.php?mod=viewthread&tid=48793&extra=page%3D1%26filter ...
随机推荐
- VBS基础篇 - 对象(3) - FileSystemObject对象
VBS基础篇 - 对象(3) - FileSystemObject对象 文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级 ...
- 获取机器网卡的物理(MAC)地址
<?php /** * 获取机器网卡的物理(MAC)地址* 目前支持WIN/LINUX系统 * 编辑: www.jbxue.com**/ class MacAddInfo { ...
- gerrit push配置
第一种方法: 在home目录下,编辑.gitconfig文件,添加 [remote "review"] url = ssh://someone@oneip:port/project ...
- hdu_5753_Permutation Bo(找规律)
题目连接:hdu_5753_Permutation Bo 题意: 给你一个有n个数的数列c1~cn,h1~hn为1~n的排列,求ci[hi>hi-1 and hi>hi+1]的期望和. ...
- 谈CSS模块化【封装-继承-多态】
第一次听到“CSS模块化”这个词是在WebReBuild的第四届“重构人生”年会上,当时我还想,“哈,CSS也有模块化,我没听错吧?”事实上,我没听错,你也没看错,早就有CSS模块化这个概念了.之所以 ...
- mvc页面中,显示自定义时间格式
1.在model中,遇到datetime格式的字段,用string来表示 model中 /// <summary> /// 开始时间 /// </summary> [Displ ...
- xcode单步调试快捷键
xcode单步调试快捷键f6,但是磨人f6是用来调节键盘亮度的,在系统偏好,键盘设置里面,做如下设置就可以了.
- Linux中切换用户变成-bash4.1-$的解决方法【转】
转自 Linux中切换用户变成-bash4.1-$的解决方法 - xia_xia的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xia_xia0919/articl ...
- Linux下查看USB设备的VID、PID命令
Linux下查看PID命令 cat /proc/bus/usb/devices 或 lsusb 方法一:在/etc/init.d/rcS中添加mount -t usbfs none /proc/bus ...
- 获取输入设备的vid和pid
一.获取/dev/input/event16设备的vid和pid testhid.c #include <linux/types.h> #include <linux/input.h ...