程序员社区

python 基础函数

hasattr:

函数用于判断对象是否包含对应的属性

语法:

hasattr(object, name)

参数:

  • object:对象
  • name:字符串,属性名

当对象有这个属性的时候,返回True,否则返回False

class test:
    x=1

t=test()
print(hasattr(t,'x'))
print(hasattr(t,'y'))

输出:
True
False

getattr

函数用于返回一个对象内部的属性

语法:

getattr(object, name[, default])

参数:

  • object:对象,一般是一个类的实例化
  • name:字符串,对象的属性名
  • default:默认返回值,假如在对象中按照对象的属性名没有查询到相应的属性,那么会返回这个值,如果此时这个值为空,那么会触发AttributeError

用法:

class A:
    test=1
    def test_function(self,x,y):
        z=x+y
        print(z)

a=A()
print(getattr(a,'test'))

x=2
y=3
func=getattr(a,'test_function')
print(func(x,y))


输出:
1
5

参考:
getattr

assert

基本用法:
assert condition
等价于:
if not condition:
raise AssertionError

代码示例:

assert True

在这里插入图片描述

assert False

在这里插入图片描述

zip和*zip理解
官方文档

abs():

返回数字的绝对值

str(object=’’):

将对象转化为string类型

enumerate(sequence, [start=0])

参数sequence代表要被遍历的数据,start代表下标位置

li=['one','two','three']
for i,item in enumerate(li):
    print(i,' item:',item)

输出:
0  item: one
1  item: two
2  item: three

zip:

zip()函数用于将可迭代的一组对象作为参数,将对象中对应的元素打包成一个个元组,然后返回这些元组组成的一个对象,这样做的好处是节约了不少的内存,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同

可以使用list()转换来将zip()函数返回的对象转化为列表,利用*操作符,我们可以将元组解压为列表。

使用示例:

a=[1,2,3]
b=[4,5,6]
c=[4,5,6,7,8]
zipped=zip(a,b)
print(zipped)
print(list(zipped))
print(list(zip(a,c)))

输出结果:

<zip object at 0x000001D343000748>
[(1, 4), (2, 5), (3, 6)]
[(1, 4), (2, 5), (3, 6)]

zip(a,b)将a和b中的元素对应组成元组,如果想要看到这个结果,要使用*zip()*zip(a,b)是先将a和b中的元素对应组合成元组形成结果,再将这个结果解压,但并没有返回值,可以借用print输出

a=[1,2,3]
b=[4,5,6]
c=[4,5,6,7,8]
x1,x2,x3=zip(a,b)
print(x1)
print(x2)
print(x3)
print(*zip(a,b))
a1,a2=zip(*zip(a,b))
print(a1)
print(a2)

输出:

(1, 4)
(2, 5)
(3, 6)
(1, 4) (2, 5) (3, 6)
(1, 2, 3)
(4, 5, 6)

赞(0) 打赏
未经允许不得转载:IDEA激活码 » python 基础函数

一个分享Java & Python知识的社区