- 1.isinstance(object, type): 来判断一个对象是否是一个已知类型。
其第一个参数(object)为对象,第二个参数(type)为类型名(int...)或类型名的一个列表((int,list,float)是一个列表)。其返回值为布尔型(True or False)。
若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。
>>> a = 4
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))
True
>>> a = "b"
>>> isinstance(a,str)
True
>>> isinstance(a,int)
False
>>> isinstance(a,(int,list,float))
False
>>> isinstance(a,(int,list,float,str))
True
- 2.strip(args):当args为空时,默认删除字符串前后的空白符('\n','\t','\r','');当args不为空时,删除字符串开头结尾中和args相同的字符。
>>> a=' Hello World '
>>> a
' Hello World '
>>> a.strip()
'Hello World'
>>> x='\t\r\npython'
>>> x
'\t\r\npython'
>>> x.strip()
'python'
>>> aString='123love'
>>> aString
'123love'
>>> aString.strip('12')
'3love'
- 3.hasattr(obeject ,name):判断一个对象里面是否有name属性或name方法,有则返回True,无则返回Falsel;同理还有另外两个方法:getattr(object,name[,default])获取对象object的属性或方法,如果存在打印,不存在打印默认值,默认值可选。如果返回的是对象的方法,返回的是方法的内存地址,需要运行的话,可以在后面加上一对圆括号,如getattr(a, 'run')()表示执行a对象中的run方法;setattr(object, name, values)给对象的属性赋值,如果属性不存在,就先创建再赋值。
- 4.今天在项目中看到有些函数的参数列表中带有*号,尤其是在封装的函数中较多,后查阅资料才知道,带*号的函数主要是想让函数接收更多的参数,具体分为两种,带*的和带**的:
带**的表示将传入的参数作为一个字典(dict)处理;
如下示例:
#函数定义:
def test1(*args):
print(args, type(args))
def test2(**args)
print(args, type(args))
#函数调用:
test1(1, 2, 3)
test2(a = 1, b = 2, c = 3)
#函数输出:
(1, 2, 3) <class 'tuple'>
{'a': 1, 'c': 3, 'b': 2} <class 'dict'>
PS:添加*号表示传入的参数不确定几个,所以当和普通参数一起使用时,
必须把带*号的参数放在最后。