Python内置函数刨析(未完成)

这篇文章的主题是对Python的内置函数进行分析
在这里插入图片描述


abs()

返回所传数值的绝对值

>>> abs(-1)
1
>>> abs(-123)
123

all()

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True
all(iterable, /)
    Return True if bool(x) is True for all values x in the iterable.
    
    If the iterable is empty, return True.

这个函数的作用是:
传入一个可迭代的(Iterable)对象,若该对象为空,返回True
如果该对象非空,并且内部的所有元素的布尔值都为True,则函数返回值为True其他情况均为False


any()

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False
any(iterable, /)
    Return True if bool(x) is True for any x in the iterable.
    
    If the iterable is empty, return False.

测试一下

>>> x = [1,2,3,-1, 0]
>>> all(x)
False
>>> y = [1,2,3,-1]
>>> all(y)
True
# 我发现,Python中,只有数值`0`的布尔值为`False`

对于传入该函数的可迭代对象,只有该对象中有元素的布尔值为True,则返回True
当传入的对象为空时,返回False


ascii()
pass


bin(x)

传入一个数值参数x,将它转化为以0b为前缀的二进制形式,并以字符串的形式返回。下面进行测试

>>> bin(10)
'0b1010'
>>> bin(14)
'0b1110'
>>> bin(-4)
'-0b100'

如果不想要0b前缀,可以这样写

>>> format(14, 'b') # 对于format()这个内置函数,会在接下来进行讨论
'1110'

bool()

返回所传参数的Boolean类型

>>> bool(0)
False
>>> bool([])
False
>>> bool(1)
True
>>> bool(5)
True

有意思的是,在Python中,bool类型是int类型的子类

>>> issubclass(bool, int) # 关于issubclass()这个函数,本文后面有讨论
True

issubclass(class, classinfo)

该函数用于判断两个类之间是否存在继承关系。issubclass()接收两个参数,classclassinfo。若class为classinfo的子类,函数返回True,否则返回False。注意,在Python中,每个类也算是自己的子类。

>>> class Animal():
	pass

>>> class Cat(Animal):
	pass
	
>>> issubclass(Cat, Animal)
True
>>> issubclass(Animal, Cat)
False
>>> issubclass(Cat, Cat)
True

len()

返回所传对象的长度

>>> len({'John': 22, 'Mike': 20, 'Alex': 18}) # 字典
3
>>> len('abcde') # 字符串
5
>>> len((1, 2, 3, 4)) # 元组
4
>>> len([1, 3, 5, 7, 9]) # 列表
5

@classmethod
在这里插入图片描述


float()

返回所传对象的float类型

>>> float('123')
123.0
>>> float(12)
12.0

hasattr(object, name)

传入一个对象和一个字符串,判断传入的字符串是否是这个对象的属性,是则返回True,不是则返回False

object为对象,name为属性(字符串形式)。

>>> class Person():
	def __init__(self):
		self.name = 'John Wick'
		self.job = 'killer'


>>> a = Person()
>>> hasattr(a, 'name')
True
>>> hasattr(a, 'age')
False

max()

返回最大值

# 可传入一个列表或者元组
>>> max([3, 1, 5, 4, 2]) 
5

# 可直接传入需比较的对象
>>> max(1, 7, 3, 4, 9) 
9
>>> max('a', 'b', 'd')
'd'

min()

返回最小值

# 可传入一个列表或者元组
>>> min([3, 1, 5, 4, 2])
1

# 可直接传入需比较的对象
>>> min(1, 7, 3, 4, 9)
1
>>> min('e', 'a', 'b', 'd')
'a'

str()

返回所传对象的str类型

>>> str(123)
'123'

sum()

对传入的Iterable进行求和

>>> sum([1, 2, 3, 4, 5])
15

# 可以指定一个开始进行累加的数
>>> sum([1, 2, 3, 4, 5], start=4)
19

发布了38 篇原创文章 · 获赞 5 · 访问量 6557

猜你喜欢

转载自blog.csdn.net/shaotianyang12/article/details/103471702
今日推荐