python 常用内置函数

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))
  • 运行结果
    在这里插入图片描述

getattr()

  • 描述

getattr() 返回一个对象属性值。

  • 语法

getattr(object, name[, default])

  • 参数

object – 对象。
name – 字符串,对象属性。
default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。

  • 返回值

返回对象属性值

  • 实例
>>> class A(object):
...     bar = 1
...
>>> a = A()
>>> getattr(a, 'bar')
1
>>> getattr(a, 'bar1')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'A' object has no attribute 'bar1'
>>> getattr(a, 'bar1', 2)
2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值