匿名函数

定义

函数名 = lambda 参数 :返回值

# 参数可以有多个,用逗号隔开
# 匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
# 返回值和正常的函数一样可以是任意数据类型

使用

num = lambda a:a*a
print(num(2))
# 4
# 取薪资最高的人的姓名
info = {
    'Aason': 9999999,
    'Jacob': 123,
    'zark': 1000,
    'berk': 33
}
print(max(info, key=lambda key: info[key]))
# Aason

内置函数

内置函数
abs()dict()help()min()setattr()
all()dir()hex()next()slice()
any()divmod()id()object()sorted()
ascii()enumerate()input()oct()staticmethod()
bin()eval()int()open()str()
bool()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()
delattr()hash()memoryview()set()

map函数

描述

map() 会根据提供的函数对指定序列做映射。返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器

语法

map(function, iterable, ...)
# function -- 函数
# iterable -- 一个或多个序列

使用

l = [1, 2, 3, 4, 5]


def index(n):
    return n * 10


print(list(map(index, l)))
# [10, 20, 30, 40, 50]

print(list(map(lambda x: x * 10, l)))
# [10, 20, 30, 40, 50]

zip函数

描述

将可迭代的对象作为参数,与对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

语法

zip([iterable, ...])
# iterable -- 一个或多个迭代器

使用

l1 = [1, 2, 3, ]
l2 = ['a', 'b', 'c', 5]
l3 = ('*', '**', (1, 2, 3))

res = zip(l1, l2, l3)
for i in res:
    print(i)
# (1, 'a', '*')
# (2, 'b', '**')
# (3, 'c', (1, 2, 3))

filter函数

描述

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

语法

filter(function, iterable)
# function -- 判断函数
# iterable -- 可迭代对象

使用

def func(x):
    return x % 2 == 0


l = [1, 2, 3, 4, 5, 6, 7]
res = filter(func, l)
for i in res:
    print(i)
# 2
# 4
# 6

reduce函数

描述

reduce()根据提供的函数,对可迭代对象进行函数运算,返回一个结果

语法

reduce(function, iterable[, initializer])
# function -- 函数,有两个参数
# iterable -- 可迭代对象
# initializer -- 可选,初始参数

使用

# Python3.x reduce() 已经被移到 functools 模块里
from functools import reduce


def func(x, y):
    return x + y


l = [1, 2, 3, 4, 5]
res = reduce(func, l)
print(res)
# 15
res = reduce(lambda x, y: x + y, l, 100)
print(res)
# 115

abs函数

描述

返回数字绝对值或复数的模

语法

abs( x )
# x -- 数值表达式

使用

print(abs(-1))
# 1
print(abs(1))
# 1

all函数

描述

接受一个迭代器,如果迭代器(元组或列表)的所有元素都为真,那么返回True,否则返回False,元素除了是0、空、NoneFalse以外都算 True

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

语法

all(iterable)
# iterable -- 元组或列表

使用

print(all([1, 2, 3, 4, 0]))
# False
print(all(['a', 'b', '', 'd']))
# False
print(all([]))
# True
print(all(()))
# True

any函数

描述

接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False,元素除了是 0、空、NoneFalse 外都算 True

语法

any(iterable)
# iterable -- 元组或列表

使用

print(any([1, 2, 3, 4, 0]))
# True
print(any(['a', 'b', '', 'd']))
# True
print(any([]))
# False
print(any(()))
# False

bin、oct、hex函数

描述

bin() 将十进制转换为二进制

oct()将十进制转换为八进制

hex()将十进制转换为十六进制

语法

bin(x)
oct(x)
hex(x)
# x -- int

使用

print(bin(1))
# 0b1
print(oct(1))
# 0o1
print(hex(1))
# 0x1

bytes函数

描述

将一个字符串转换成字节类型

语法

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

使用

s = '你好啊 hello world!'
print(s.encode('utf8'))
# b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a hello world!'
print(bytes(s, 'utf8'))
# b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a hello world!'

'''针对编码解码 可以使用关键字encode与decode  也可以使用bytes和str'''
s1 = '天黑了 请闭眼!!!'
# 编码
res = bytes(s1, 'utf8')
print(res)
# b'\xe5\xa4\xa9\xe9\xbb\x91\xe4\xba\x86 \xe8\xaf\xb7\xe9\x97\xad\xe7\x9c\xbc!!!'
# 解码
res1 = str(res, 'utf8')
print(res1)
# 天黑了 请闭眼!!!

callable函数

描述

callable() 函数用于检查一个对象是否是可调用的。如果返回 Trueobject 仍然可能调用失败;但如果返回 False,调用对象object绝对不会成功。对于函数、方法、lambda 函式、 类以及实现了 __call__ 方法的类实例, 它都返回True

语法

callable(object)
# object -- 对象

使用

name = 'kevin'


def index(): pass


print(callable(name))
# False
print(callable(index))
# True

#创建一个带有__call__方法的类
class Dogs:
    def __call__(self):
        return 0
print(callable(Dogs))    
# True

chr、ord函数

描述

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

ord()查看某个ASCII对应的十进制数

语法

chr(i)
# i -- 可以是10进制也可以是16进制的形式的数字

ord(c)
# c -- 字符

使用

print(chr(65))
# 'A'
print(ord('A'))
# 65

dir函数

描述

dir() 查看对象的内置属性, 访问的是对象中的__dir__()方法,函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用,如果参数不包含__dir__(),该方法将最大限度地收集参数信息

语法

dir(object)
# object -- 对象、变量、类型

使用

print(dir(123))

print(dir('kevin'))

divmod函数

描述

divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

例如,可以使用在网站的分页制作上

语法

divmod(a, b)
# a -- 被除的数字
# b -- 除数

使用

print(divmod(250, 25))
# (10, 0)
print(divmod(249, 25))
# (9, 24)  # 一个参数是整数部分 第二个是余数部分

enumerate函数

描述

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。返回一个可以枚举的对象,该对象的next()方法将返回一个元组。enumerate在字典上是枚举、列举的意思。

语法

enumerate(sequence, [start=0])
# sequence -- 一个序列、迭代器或其他支持迭代对象
# start=0 -- 控制起始位置,默认是0

使用

name_list = ['jason', 'kevin', 'oscar', 'tony']

for i in enumerate(name_list, start=1):
    print(i)
# (1, 'jason')
# (2, 'kevin')
# (3, 'oscar')
# (4, 'tony')

eval、exec函数

描述

eval()将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容

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

语法

eval(expression[, globals[, locals]])
# expression -- 表达式
# globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
# locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象

exec(object, globals, locals)
# object-- 要执行的表达式。
# globals -- 可选。包含全局参数的字典。
# locals -- 可选。包含局部参数的字典。

使用

s = "print(Hello World)"
exec(s)

isinstance函数

描述

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

语法

isinstance(object, classinfo)
# object -- 实例对象
# classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组

使用

print(isinstance('kevin', str))  
# True
print(isinstance('kevin', int))  
# False

pow函数

描述

pow(x,y) 方法返回xy次方的值,等价于x**y。函数是计算xy次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

语法

pow(x, y[, z])
# x -- 数值表达式
# y -- 数值表达式
# z -- 数值表达式

使用

print(pow(10, 2))
# 100
print(pow(10, 2, 3))
# 1  (10**2)%3

round函数

描述

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

语法

round( x [, n] )
# x -- 数值表达式
# n -- 代表小数点后保留几位

使用

print(round(1.5))
# 2
print(round(1.4))
# 1
print(round(1.5444, 2))
# 1.54
Last modification:March 23, 2022
如果觉得我的文章对你有用,请随意赞赏