python内置函数

作者: 暖A暖 | 来源:发表于2019-08-09 17:38 被阅读28次

abs()函数

用于返回数字的绝对值。

语法:abs( x )

x -- 数值表达式,可以是整数,浮点数,复数。
示例:
a = 3.14
b = -7.36
print(abs(a))  # 3.14
print(abs(b))  # 7.36

all()函数

用于判断给定的可迭代参数中的所有元素是否都为True,如果都为True则返回True,只要有一个为False则返回False。

一般来说,除了0、空、None 、False等值外都算True。

语法: all(iterable)

iterable -- 元组或列表
示例:

判断可迭代参数中的所有元素是否都为True:

a = []
b = ()
c = (1, 2, "", 3)
d = [0, 1, 2]

print(all(a))  # True, 空列表返回值为True
print(all(b))  # True, 空元组返回值为True
print(all(c))  # False, 有一个空元素
print(all(d))  # False, 有一个元素0

注意:空元组、空列表返回值为True。

any()函数

用于判断给定的可迭代参数是否全部为 False,如果全部为False,则返回False。如果有一个为True,则返回True。

语法: any(iterable)

iterable -- 元组或列表
示例:
a = ['x', 'k', 'd']
b = ['', 123, "kk"]
c = (0, '', False)
d = ('xkd', 0, 123)

print(any(a))  # True
print(any(b))  # True,一个为空,也返回True
print(any(c))  # False,都为False才返回False
print(any(d))  # True,一个为0,也返回True

type()函数

返回对象的类型。

语法: type(object)
示例:
a = 123
b = 'xkd'
c = [1, 2, 3]
d = (1, 2, 3)

print(type(a))  # <class 'int'>
print(type(b))  # <class 'str'>
print(type(c))  # <class 'list'>
print(type(d))  # <class 'tuple'>

id()函数

用于获取对象的内存地址。

语法:id(object)
示例:
a = 123
b = 'xkd'
print(id(a))  # 8791098294336
print(id(b))  # 31265904

ascii()函数

返回任何对象的可读版本,将使用转义字符替换任何非ascii字符。

语法:ascii(object)

object -- 对象
示例:
a = "xkd"
b = "侠课岛"

print(ascii(a))  # 'xkd'
print(ascii(b))  # '\u4fa0\u8bfe\u5c9b'

bin()函数

返回指定整数的二进制版本,结果将以0b为前缀开头。

语法: bin(number)

number -- int整型或者long int长整型
示例:
a = 100
b = 1000
print(bin(a))  # 0b1100100
print(bin(b))  # 0b1111101000

int()函数

用于将一个字符串或数字转换为整型。

语法:int(n, base=10)

n -- 字符串或数字
base -- 进制数,默认十进制
示例:
a = 1.02
b = '123'
print(int(a))  # 1

print(int(b))  # 123

print(int())  # 没有参数时,输出结果为0

str()函数

将指定的值转换为字符串。

语法: str(object, encoding=encoding, errors=errors)
示例:
a = 123
print(type(a))  # <class 'int'>

new_a = str(a)
print(new_a, type(new_a))  # 123 <class 'str'>

bool()函数

返回指定对象的布尔值,如果没有参数,则返回 False。

语法: bool(object)
示例:
print(bool(0))  # False

print(bool(1))  # True

print(bool())  # False,不带参返回False

list()函数

创建一个列表对象。列表对象是有序且可更改的集合。

语法:list(iterable)
示例:
# 字符串
a = "str"
lst = list(a) 
print(lst, type(lst))  # ['s', 't', 'r'] <class 'list'>


# 元组
tup = (1, 2, 3)
lst1 = list(tup)
print(lst1, type(lst1))  # [1, 2, 3] <class 'list'>

tuple ()函数

创建一个元组对象。

语法: tuple(iterable)
示例:
lst = ['a', 'b']
tup = tuple(lst)
print(tup, type(tup))  # ('a', 'b') <class 'tuple'>

dict()函数

创建一个字典。

语法: class dict(**kwarg)
      class dict(mapping, **kwarg)
      class dict(iterable, **kwarg)

**kwargs -- 关键字
mapping -- 元素的容器
iterable -- 可迭代对象
示例:
# 定义空字典
dic = dict()

dic1 = dict(a=1, b=2, c=3)  # 传入关键字
print(dic1)  # {'a': 1, 'b': 2, 'c': 3}

dic2 = dict([('a', 1), ('b', 2), ('c', 3)])  # # 可迭代对象方式来构造字典
print(dic2)  # {'a': 1, 'b': 2, 'c': 3}

dic3 = dict(zip(['a', 'b', 'c'], [1, 2, 3]))  # 映射函数方式来构造字典
print(dic3)  # {'a': 1, 'b': 2, 'c': 3}

bytearray()函数

可以将对象转换为bytearray对象,或者创建指定大小的空bytearray对象。

语法: bytearray(x, encoding, error)

x -- 如果是整数,则将创建指定大小的空bytearray对象。如果是字符串,则按照指定的encoding将字符串转换为字节序列。
encoding -- 字符串的编码
error -- 指定编码失败时要执行的操作
示例:
print(bytearray())  # bytearray(b'')

print(bytearray(10))  # bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')

print("xkd")  # xkd

print(bytearray([1, 2, 3]))  # bytearray(b'\x01\x02\x03')

bytes()函数

可以将对象转换为字节对象,或创建指定大小的空字节对象。返回一个bytes对象。

语法: bytes(x, encoding, error)
示例:
a = bytes([1, 2, 3])
b = bytes("xkd", "ascii")

print(a, type(a))  # b'\x01\x02\x03' <class 'bytes'>
print(b, type(b))  # b'xkd' <class 'bytes'>

callable()函数

用于检查一个函数是否可调用。如果指定的对象是可调用的,则返回True,否则返回False。

语法: callable(object)
示例:
a = 'xkd'

def b():
    pass

print(callable(a))  # False
print(callable(b))  # True

chr()函数

用一个整数作参数,返回一个对应的字符。

语法: chr(n)

n -- 表示有效Unicode码位的整数
示例:
a = 97
b = 1000

print(chr(a))   # a
print(chr(b))   # Ϩ

classmethod修饰符

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

语法: classmethod
示例:
class Test():
    n = 1
    def show1(self):
        print("show1")
    @classmethod
    def show2(cls):
        print("show2")
        print(cls.n)
        cls().show1()  # 调用show1方法

Test.show2()

'''
show2
1
show1
'''

compile()函数

将一个字符串编译为字节代码。

语法: compile(source, filename, mode, flag, dont_inherit, optimize)

source  --  字符串或者AST对象
filename  -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值
mode  -- 指定编译代码的种类。可以指定为 exec, eval, single
flags  -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
flags和dont_inherit是用来控制编译源码时的标志。
示例:
com = compile('print(10)', 'test', 'exec')
print(com)  # <code object <module> at 0x000000000219BDB0, file "test", line 1>
exec(com)  # 10

complex()函数

用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。

语法: complex(real, imaginary)

real -- int, long, float或字符串
imag -- int, long, float
示例:
a = complex("1+2j")  # 注意+号两边不能有空格,否则会报错
print(a)  # (1+2j)


b = complex(1, 2)
print(b)  # (1+2j)

c = complex("1")   # 如果第一个参数为字符串,则不需要指定第二个参数。
print(c)  # (1+0j)

d = complex("2j")
print(d)  # 2j

getattr()函数

用于返回指定对象的指定属性的值。

语法: getattr(object, attribute, default)

object -- 对象。
attribute -- 字符串,对象属性。
default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError
示例:
class Test:
    id = 1
    name = "NiNi"
    age = 18
    sex = 'woman'

result = getattr(Test, 'age')
print(result)  # 18

setattr()函数

设置指定对象的指定属性的值。

语法: setattr(object, attribute, value)

object -- 对象
attribute -- 字符串,对象属性
value -- 属性值
示例:
class Test:
    id = 1
    name = "Angle"
    age = 18

print(Test.age)  # 18

setattr(Test, 'age', 20)

print(Test.age)  # 20

delattr ()函数

从指定的对象中删除指定的属性。delattr(x, 'foobar') 相等于 del x.foobar

语法: delattr(object, name)

object  -- 对象
name -- 必须是对象的属性
示例:
class Test:
    id = 1
    name = "NiNi"
    age = 18
    sex = 'woman'

print(Test.age)  # 18

# 删除age属性
delattr(Test, 'age')

print(Test.age)
# AttributeError: type object 'Test' has no attribute 'age'

hasattr()函数

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

语法: hasattr(object, attribute)

object -- 对象
name -- 字符串,属性名
示例:
class Test:
    id = 1
    name = "NiNi"
    age = 18
    sex = 'woman'

result = hasattr(Test, "age")
print(result)  # True

result1 = hasattr(Test, "kind")
print(result1)  # False

dir()函数

返回指定对象的所有属性和方法,而不返回值。此函数将返回所有属性和方法,甚至是所有对象的默认内置属性。

语法: dir(object)

object -- 对象、变量、类型
示例:
print(dir())  # 获得当前模块的属性列表

# ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']

divmod()函数

接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。

语法: divmod(divident, divisor)

divident -- 数字,非复数
divisor -- 数字,非复数
示例:
print(divmod(7, 3))  # (2, 1)

print(divmod(8, 4))  # (2, 0)

print(divmod(9, -3))  # (-3, 0)

enumerate()函数

用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

语法: enumerate(sequence, start)

iterable -- 一个序列、迭代器或其他支持迭代对象
start -- 下标起始位置
示例:
tup = ('x', 'k', 'd')
for i in enumerate(tup):
    print(i)

'''
(0, 'x')
(1, 'k')
(2, 'd')
'''
lst = ['a', 'b', 'c']
for i in enumerate(lst):
    print(i)

'''
(0, 'a')
(1, 'b')
(2, 'c')
'''

eval()函数

用来执行一个字符串表达式,并返回表达式的值。

语法: eval(expression, globals, locals)

expression -- 表达式
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
示例:
a = 10
print(eval('a + 1'))  # 11

eval('print(a+1)')  # 11

exec ()函数

exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。

语法: exec(object, globals, locals)

object -- 表示需要被指定的Python代码
globals -- 表示全局命名空间,存放全局变量。如果被提供,则必须是一个字典对象
locals -- 表示当前局部命名空间,存放局部变量。如果被提供,可以是任何映射对象
示例:
# 单行语句字符串
exec('print("xkd")')  # xkd


# 多行语句字符串
exec("""for i in range(5):
            print (i)
""")

'''
输出:
0
1
2
3
4
'''

map()函数

根据提供的函数对指定序列做映射。

语法:map(function, iterable, ...)

function -- 函数
iterable -- 一个或多个序列
示例:
def test(n):
    return n

lst = ['x', 'k', 'd']

result = map(test, lst)
print(result) # <map object at 0x0000000001E99648>
for i in result:
    print(i)

'''
x
k
d
'''

filter()函数

用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

语法: filter(function, iterable)

function -- 判断函数
iterable -- 可迭代对象
示例:
def show(x):
    if x > 5:
        return True
    else:
        False

result = filter(show, range(10))

for i in result:
    print(i)
    
'''
6
7
8
9
'''

float()函数

用于将整数和字符串转换成浮点数。

语法: float(value)

value  --  整数或字符串
示例:
# 整数
print(float(10))  # 10.0

# 字符串
print(float('20'))  # 20.0

format格式化函数

将指定的值格式化为指定的格式。

语法: format(value, format)
示例:
# 默认顺序
print("{}{}".format("hello", "xkd"))  # xkd

# 指定位置
print("{0}{1}{2}".format("x", "k", "d"))  # xkd

print("{1}{0}{2}".format("x", "k", "d"))  # kxd

print("{2}{1}{0}".format("x", "k", "d"))  # dkx

frozenset()函数

返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

语法: frozenset(iterable)

iterable -- 可迭代的对象,比如列表、字典、元组等
示例:
print(frozenset('xkd'))  # frozenset({'k', 'd', 'x'})

print(frozenset(range(5)))  # frozenset({0, 1, 2, 3, 4})

print(frozenset([0, 1, 2, 3]))   # frozenset({0, 1, 2, 3})

globals()函数

会以字典类型返回当前位置的全部全局变量。

语法: globals()
示例:
x = globals()   # globals 函数返回一个全局变量的字典,包括所有导入的变量
print(x)
  
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000002101388>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/lu/PycharmProjects/haha/eefile/test.py', '__cached__': None, 'x': {...}}

hash()函数

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

语法: hash(object)
示例:
# 整数
print(hash(10))  # 10

# 字符串
print(hash('xkd'))  # -5490875864724092212

# 集合
print(hash(str([1, 2, 3])))  # 8155134905582437262

# 字典
print(hash(str(sorted({'a': 1}))))  # -7283481375873243607

repr()函数

repr() 函数将对象转化为供解释器读取的形式。

语法: repr(object)
示例:
a = "xkd"
print(repr(a))  # 'xkd'

lst = [1, 2, 3]
print(repr(lst))  # [1, 2, 3]

round()函数

返回一个浮点数,它是指定数字的舍入版本(四舍五入),具有指定的小数位数。默认的小数位数为0,表示该函数将返回最接近的整数。

语法: round(number, digits)
number -- 数字表达式
digits -- 表示从小数点位数,其中number需要四舍五入,默认值为0
示例:
print(round(3.1415926, 3))  # 3.142

print(round(3.52))  # 4

range()函数

返回一个数字序列,默认情况下从0开始,并递增1(默认情况下),并以指定的数字结束。

语法: range(start, stop, step)

start -- 计数从 start 开始,默认是从 0 开始
stop -- 计数到 stop 结束,但不包括 stop
step -- 步长,默认为1
示例:
# 创建一个列表
print(list(range(10)))  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


for i in range(5):
    print(i)  # 0 1 2 3 4

for i in range(0, 5, 2):
    print(i)  # 0 2 4

min()函数

返回具有最低值的项,或具有可迭代值中最低值的项。

语法:min(n1, n2, n3, ...)
示例:
lst = [1, 5, 74, 3, 42]

print(min(lst))  # 1

print(min(3, 8, 36))  # 3

max()函数

返回具有最高值的项目,或具有可迭代值中具有最高值的项目。如果值是字符串,则按字母顺序进行比较。

语法:max(n1, n2, n3, ...)
示例:
lst = [1, 5, 74, 3, 42]

print(max(lst))  # 74

print(max(3, 8, 36))  # 36

sum()函数

用于在迭代中进行求和计算。

语法: sum(iterable, start)

iterable -- 可迭代对象
start -- 指定相加的参数,如果没有设置这个值,默认为0
示例:
a = [0, 1, 2, 3, 4, 5]
print(sum(a))  # 15


# 列表计算总和后,再加10
print(sum(a, 10))  # 25

相关文章

网友评论

    本文标题:python内置函数

    本文链接:https://www.haomeiwen.com/subject/bgnhjctx.html