一. 查询函数参数
import inspect
print(inspect.getargspec(func))
二. 查询对象属性
- 使用 dir() 查询对象属性
- 使用内置函数 hasattr(obj,attr_name) , 查看是否具有某个属性
hasattr(obj,attr_name)
三. 查询对象所属的类和类名称
a = [1,2,3]
print a.__class__
print a.__class__.__name__
四. 查询父类
cls.__base__
五. 脚本与命令行结合
$ python -i script.py # 脚本运行结束后, 直接进入命令行,脚本的对象不会被清空.
六. 百分号 模板
格式 :
%[(name)][flags][width].[precision]typecode
示例 :
tpl = "i am %(name)s, and i am %(age)d years old." % {"name": "bob", "age": 22}
七. 获取本机 mac 地址 和 IP 地址
获取本地 mac 地址
import uuid
def get_mac_address():
mac=uuid.UUID(int = uuid.getnode()).hex[-12:]
return ":".join([mac[e:e+2] for e in range(0,11,2)])
获取 ip 地址
import socket
#获取本机电脑名
myname = socket.getfqdn(socket.gethostname( ))
#获取本机ip
myaddr = socket.gethostbyname(myname)
print myname
print myaddr
八. 模块全局变量
模块全局变量
__name__ : 模块名, 如果是主文件, __name__ == "__main__", 否则等于 模块名.
__file__ : 当前模块文件的绝对路径.
__package__ : 模块所属的包, 当前文件为 None,
__doc__ : 模块文档. 文档最开头, 三引号 包围的内容.
__cached__ : 缓存, py 3.x, 实质是一个 pyc 文件.
__loader__ :
__builtins__:
__spec__ :
九. 命令行获取密码保护: getpass
getpass 密码处理
>> import getpass
>> password = getpass.getpass("Plz input passwd:")