====================================================================================================================
2019-03-06更新
5、测试对象时可以用的函数
class Test():
def __init__(self):
self.x = 123
obj = Test()
print(hasattr(obj,'x')) #测试对象是否有‘x’属性
print(hasattr(obj,'y')) #测试对象是否有‘y’属性
print(getattr(obj,'x')) #获取对象的‘x’属性值
setattr(obj,'x',456) #设置对象的‘x’属性值
print(obj.x)
print(getattr(obj,'y','error')) #获取对象的‘y’如果没有'y'属性,就打印'error'
运行结果为:
True
False
123
456
error
====================================================================================================================
4、获取对象的长度
len
s = '123'
L = [1,2,3,4]
print(len(s))
print(len(L))
运行结果为:
3
4
====================================================================================================================
3、获取对象所有的属性(参数?)和方法(函数)
dir
print(dir('123')) #获取字符串'123'所有的属性和方法
运行结果为:
[‘add’, ‘class’, ‘contains’, ‘delattr’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘getitem’, ‘getnewargs’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘iter’, ‘le’, ‘len’, ‘lt’, ‘mod’, ‘mul’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘rmod’, ‘rmul’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘capitalize’, ‘casefold’, ‘center’, ‘count’, ‘encode’, ‘endswith’, ‘expandtabs’, ‘find’, ‘format’, ‘format_map’, ‘index’, ‘isalnum’, ‘isalpha’, ‘isdecimal’, ‘isdigit’, ‘isidentifier’, ‘islower’, ‘isnumeric’, ‘isprintable’, ‘isspace’, ‘istitle’, ‘isupper’, ‘join’, ‘ljust’, ‘lower’, ‘lstrip’, ‘maketrans’, ‘partition’, ‘replace’, ‘rfind’, ‘rindex’, ‘rjust’, ‘rpartition’, ‘rsplit’, ‘rstrip’, ‘split’, ‘splitlines’, ‘startswith’, ‘strip’, ‘swapcase’, ‘title’, ‘translate’, ‘upper’, ‘zfill’]
====================================================================================================================
2、 判断对象的数据类型
isinstance
import types
a = 123
b = '123'
print(isinstance(a,int)) #判断对象是否是整型
print(isinstance(b,int))
print(isinstance(b,str)) #判断对象是否是字符串
def test():
pass
print(isinstance(test,types.FunctionType)) #判断对象是否是函数
运行结果为:
True
False
True
True
====================================================================================================================
1、 获取对象的数据类型
type()
a = 123
b = '123'
c = [1,2,3]
d = (1,2,3)
e = {'name':'jack','age':20}
class Test():
pass
class Test2(Test):
pass
just_test = Test()
just_test2 = Test2()
def test3():
pass
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
print(type(just_test))
print(type(just_test2))
print(type(test3))
运行结果为:
<class ‘int’>
<class ‘str’>
<class ‘list’>
<class ‘tuple’>
<class ‘dict’>
<class ‘main.Test’>
<class 'main.Test’2>
<class ‘function’>