python 常用内置函数

mac2025-07-13  5

文章目录

python 常用内置函数abs()all()any()ascii()bin()bool()bytearray()bytes()callable()chr()classmethod()dict()filter()format()isinstance()issubclass()iter()map()next()pow()reduce()reverse()round()slice()sorted()zip()

python 常用内置函数

内置函数abs()delattr()hash()memoryview()set()all()dict()help()min()setattr()any()dir()hex()next()slice()ascii()divmod()id()object()sorted()bin()enumerate()input()oct()staticmethod()bool()eval()int()open()str()exec()isinstance()ord()sum()bytearray()filter()issubclass()pow()super()bytes()float()iter()print()tuple()callable()format()len()property()type()chr()frozenset()list()range()vars()classmethod()getattr()locals()repr()zip()compile()globals()map()reversed()__import__()complex()hasattr()max()round()reduce()

abs()

描述

abs() 函数返回数字的绝对值。

语法

abs( x )

参数

x – 数值表达式。

返回值

函数返回x(数字)的绝对值。

实例 print("abs(-45) : %s" % abs(-45)) print("abs(100.12) : %s" % abs(100.12)) 运行结果

all()

描述

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。 元素除了是 0、空、None、False 外都算 True。

函数等价于:

def all(iterable): for element in iterable: if not element: return False return True 语法

all(iterable)

参数

iterable – 元组或列表。

返回值

如果iterable的所有元素不为0、’’、False或者iterable为空,all(iterable)返回True,否则返回False;

注意:空元组、空列表返回值为True,这里要特别注意。

实例 print(all(['a', 'b', 'c', 'd'])) # 列表list,元素都不为空或0 print(all(['a', 'b', '', 'd'])) # 列表list,存在一个为空的元素 print(all([0, 1, 2, 3])) # 列表list,存在一个为0的元素 print(all([])) # 空列表 print("*" * 20) print(all(('a', 'b', 'c', 'd'))) # 元组tuple,元素都不为空或0 print(all(('a', 'b', '', 'd'))) # 元组tuple,存在一个为空的元素 print(all((0, 1, 2, 3))) # 元组tuple,存在一个为0的元素 print(all(())) # 空元组 运行结果

any()

描述

any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。 元素除了是 0、空、FALSE 外都算 TRUE。

函数等价于:

def any(iterable): for element in iterable: if element: return True return False 语法

any(iterable)

参数

iterable – 元组或列表。

返回值

如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true

注意:空元组、空列表返回值为false,这里要特别注意。

实例 print(any(['a', 'b', 'c', 'd'])) # 列表list,元素都不为空或0 print(any(['a', 'b', '', 'd'])) # 列表list,存在一个为空的元素 print(any([0, 1, 2, 3])) # 列表list,存在一个为0的元素 print(any([])) # 空列表 print("*" * 20) print(any(('a', 'b', 'c', 'd'))) # 元组tuple,元素都不为空或0 print(any(('a', 'b', '', 'd'))) # 元组tuple,存在一个为空的元素 print(any((0, 1, 2, 3))) # 元组tuple,存在一个为0的元素 print(any(())) # 空元组 运行结果

ascii()

描述

ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。

语法

ascii(object)

参数

object – 对象。

返回值

返回字符串。

实例 print("小胖") print(ascii("小胖")) 运行结果

bin()

描述

bin() 返回一个整数 int 或者长整数 long int 的二进制表示。

语法

bin(x)

参数

x – int 或者 long int 数字

返回值

返回字符串。

实例 print(bin(100)) 运行结果

bool()

描述

bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。

bool 是 int 的子类。

语法

bool(x)

参数

x – 要进行转换的参数。

返回值

返回 True 或 False。

实例 print(bool()) print(bool(0)) print(bool(1)) print(issubclass(bool, int)) # bool 是 int 子类 运行结果

bytearray()

描述

bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

语法

class bytearray([source[, encoding[, errors]]])

参数

如果 source 为整数,则返回一个长度为 source 的初始化数组; 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列; 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数; 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。 如果没有输入任何参数,默认就是初始化数组为0个元素

返回值

返回新字节数组。

实例 print(bytearray()) print(bytearray([1, 2, 3])) print(bytearray('runoob', 'utf-8')) 运行结果

bytes()

描述

bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。

语法

class bytes([source[, encoding[, errors]]])

参数

如果 source 为整数,则返回一个长度为 source 的初始化数组; 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列; 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数; 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。 如果没有输入任何参数,默认就是初始化数组为0个元素。

返回值

返回一个新的 bytes 对象。

实例 print(bytes()) print(bytes([1, 2, 3])) print(type(bytes([1, 2, 3]))) print(bytes('runoob', 'utf-8')) 运行结果

callable()

描述

callable() 函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。

对于函数、方法、lambda 函式、 类以及实现了 call 方法的类实例, 它都返回 True。

语法

callable(object)

参数

object – 对象。

返回值

可调用返回 True,否则返回 False。

实例 print(callable(0)) print(callable("runoob")) def add(a, b): return a + b print(callable(add)) # 函数返回 True class A: # 类 def method(self): return 0 print(callable(A)) # 类返回 True a = A() print(callable(a)) # 没有实现 __call__, 返回 False class B: def __call__(self): return 0 print(callable(B)) b = B() print(callable(b)) # 实现 __call__, 返回 True 运行结果

chr()

描述

chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

语法

chr(i)

参数

i – 可以是10进制也可以是16进制的形式的数字。

返回值

返回值是当前整数对应的 ASCII 字符。

实例 print(chr(0x30), chr(0x31), chr(0x61)) # 十六进制 print(chr(48), chr(49), chr(97)) # 十进制 运行结果

classmethod()

描述

classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

语法

classmethod

参数

无。

返回值

返回函数的类方法。

实例 class A(object): bar = 1 def func1(self): print ('foo') @classmethod def func2(cls): print('func2') print(cls.bar) cls().func1() # 调用 foo 方法 A.func2() 运行结果

dict()

描述

dict() 函数用于创建一个字典。

语法

class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg)

参数

**kwargs – 关键字 mapping – 元素的容器。 iterable – 可迭代对象。

返回值

返回一个字典。

实例 print(dict()) # 创建空字典 print(dict(a='a', b='b', t='t')) # 传入关键字 print(dict(zip(['one', 'two', 'three'], [1, 2, 3]))) # 映射函数方式来构造字典 print(dict([('one', 1), ('two', 2), ('three', 3)])) # 可迭代对象方式来构造字典 运行结果

filter()

描述

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

注意: Pyhton2.7 返回列表,Python3.x 返回迭代器对象

语法

filter(function, iterable)

参数

function – 判断函数。 iterable – 可迭代对象。

返回值

Pyhton2.7 返回列表,Python3.x 返回迭代器对象

实例 将列表中的奇数过滤出来 List3 = [1, 3, 4, 5, 6, 8, 11] List4 = list(filter(lambda x: x % 2 == 1, list3)) Print(list4) 运行结果

[1, 3, 5, 11]

format()

描述

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

format 函数可以接受不限个参数,位置可以不按顺序。

实例 a = "{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 print(a) a = "{0} {1}".format("hello", "world") # 设置指定位置 print(a) a = "{1} {0} {1}".format("hello", "world") # 设置指定位置 print(a) print("网站名:{name}, 地址 {url}".format(name="百度首页", url="http://www.baidu.com")) # 通过字典设置参数 site = {"name": "百度首页", "url": "http://www.baidu.com"} print("网站名:{name}, 地址 {url}".format(**site)) # 通过列表索引设置参数 my_list = ['百度首页', 'http://www.baidu.com'] print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的 运行结果

数字格式化 数字格式输出描述3.1415926{:.2f}3.14保留小数点后两位3.1415926{:+.2f}+3.14带符号保留小数点后两位-1{:+.2f}-1.00带符号保留小数点后两位2.71828{:.0f}3不带小数5{:0>2d}05数字补零 (填充左边, 宽度为2)5{:x<4d}5xxx数字补x (填充右边, 宽度为4)10{:x<4d}10xx数字补x (填充右边, 宽度为4)1000000{:,}1,000,000以逗号分隔的数字格式0.25{:.2%}25.00%百分比格式1000000000{:.2e}1.00e+09指数记法13{:>10d}13右对齐 (默认, 宽度为10)13{:<10d}13左对齐 (宽度为10)13{:^10d}13中间对齐 (宽度为10) 进制

‘{:b}’.format(11) 1011

‘{:d}’.format(11) 11

{:o}.format(11) 13

‘{:x}’.format(11) b

‘{:#x}’.format(11) 0xb

‘{:#X}’.format(11) 0XB

isinstance()

描述

sinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()

语法

isinstance(object, classinfo)

参数

object – 实例对象。 classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。

返回值

如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。

实例 a = 2 print(isinstance(a, int)) print(isinstance(a, str)) print(isinstance(a, (str, int, list))) # 是元组中的一个返回 True # type()与isinstance()区别: class A: pass class B(A): pass print(isinstance(A(), A)) # returns True print(type(A()) == A) # returns True print(isinstance(B(), A)) # returns True print(type(B()) == A) # returns False 运行结果

issubclass()

描述

issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。

语法

issubclass(class, classinfo)

参数

class – 类。 classinfo – 类

返回值

如果 class 是 classinfo 的子类返回 True,否则返回 False。

实例 class A: pass class B(A): pass class C: pass print(issubclass(B, A)) # 返回 True print(issubclass(C, A)) # 返回 False 运行结果

iter()

描述

iter() 函数用来生成迭代器。

语法

iter(object[, sentinel])

参数

object – 支持迭代的集合对象。 sentinel – 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。

返回值

迭代器对象。

实例 lst = [1, 2, 3] b = iter(lst) print(b) for i in b: print(i) 运行结果

map()

描述

map() 会根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法

map(function, iterable, …)

参数

function – 函数名 iterable – 一个或多个序列。

返回值

Python 2.x 返回列表。 Python 3.x 返回迭代器。

实例 def square(x): # 计算平方数 return x ** 2 a = map(square, [1, 2, 3, 4, 5]) # 计算列表各个元素的平方 print(list(a)) a = map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数 print(list(a)) # 提供了两个列表,对相同位置的列表数据进行相加 b = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) print(list(b)) 运行结果

next()

描述

next() 返回迭代器的下一个项目。

语法

next(iterator[, default])

参数

iterator – 可迭代对象 default – 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。

实例 # 首先获得Iterator对象: it = iter([1, 2, 3, 4, 5]) # 循环: while True: try: # 获得下一个值: x = next(it) print(x) except StopIteration: # 遇到StopIteration就退出循环 break 运行结果

pow()

描述

pow() 方法返回 xy(x的y次方) 的值。

语法

以下是 math 模块 pow() 方法的语法:

import math

math.pow( x, y )

内置的 pow() 方法 pow(x, y[, z]) 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

参数

x – 数值表达式。 y – 数值表达式。 z – 数值表达式。

返回值

返回 xy(x的y次方) 的值。

实例 import math # 导入 math 模块 print("math.pow(100, 2) : %s" % math.pow(100, 2)) # 使用内置,查看输出结果区别 print("pow(100, 2) : %s" % pow(100, 2)) print("math.pow(100, -2) : %s" % math.pow(100, -2)) print("math.pow(2, 4) : %s" % math.pow(2, 4)) print("math.pow(3, 0) : %s" % math.pow(3, 0)) 运行结果

reduce()

描述

reduce() 函数会对参数序列中元素进行累积。 函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

Python2.x可以直接使用 Python3.x将函数直接封装到functools

语法

reduce(function, iterable[, initializer])

参数

function – 函数,有两个参数 iterable – 可迭代对象 initializer – 可选,初始参数

返回值

返回函数计算结果

实例 from functools import reduce def add(x, y): # 两数相加 return x + y a = reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+5 print(a) b = reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数 print(b) 运行结果

reverse()

描述

reverse() 函数用于反向列表中元素。

语法

list.reverse()

返回值

该方法没有返回值,但是会对列表的元素进行反向排序。

实例 aList = [123, 'xyz', 'zara', 'abc', 'xyz'] aList.reverse() print(f"List : {aList}") 运行结果

round()

描述

round() 方法返回浮点数x的四舍五入值。

语法

round( x [, n] )

参数

x – 数值表达式。 n – 数值表达式。

返回值

返回浮点数x的四舍五入值

实例 print("round(80.23456, 2) : ", round(80.23456, 2)) print("round(100.000056, 3) : ", round(100.000056, 3)) print("round(-100.000056, 3) : ", round(-100.000056, 3)) 运行结果

slice()

描述

slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

语法

class slice(stop) class slice(start, stop[, step])

参数

start – 起始位置 stop – 结束位置 step – 间距

返回值

返回一个切片对象。

实例 myslice = slice(5) # 设置截取5个元素的切片 print(myslice) arr = range(10) print(arr) a = arr[myslice] # 截取 5 个元素 print(a) 运行结果

sorted()

描述

sorted() 函数对所有可迭代的对象进行排序操作。

sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

语法

sorted(iterable, cmp=None, key=None, reverse=False)

参数 iterable – 可迭代对象。cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。 返回值

返回重新排序的列表。

实例 a = [5, 7, 6, 3, 4, 1, 2] b = sorted(a) # 保留原列表 print(a) print(b) L = [('b', 2), ('a', 1), ('c', 3), ('d', 4)] b = sorted(L, key=lambda x: x[1]) # 利用key print(b) students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] c = sorted(students, key=lambda s: s[2]) # 按年龄升序排列 print(c) c = sorted(students, key=lambda s: s[2], reverse=True) # 按年龄降序排列 print(c) 运行结果

zip()

描述

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。 如果需要了解 Pyhton3 的应用,可以参考 Python3 zip()。

语法

zip([iterable, …])

参数

objiterabl – 一个或多个迭代器;

返回值

返回元组列表。

实例 a = [1,2,3] b = [4,5,6] c = [4,5,6,7,8] zipped = zip(a,b) # 打包为元组的列表 print(list(zipped)) d = zip(a,c) # 元素个数与最短的列表一致 print(list(d)) 运行结果
最新回复(0)