内置函数


内置函数就是Python给你提供的, 拿来直接用的函数,比如print,input等。
具体如下:

以下将这些函数使用:

和数字相关

1. 数据类型

  • bool : 布尔型(True,False)
  • int : 整型(整数)
  • float : 浮点型(小数)
  • complex : 复数

2. 进制转换

  • bin() 将给的参数转换成二进制
  • oct() 将给的参数转换成八进制
  • hex() 将给的参数转换成十六进制
print(bin(10))  # 二进制:0b1010
print(hex(10))  # 十六进制:0xa
print(oct(10))  # 八进制:0o12

3.

map()映像

map(func, iterable)

# 1.1 正常使用
l = [1, 2, 3, 4, 5]
def index(x):
    return x + 2
res = map(index, l)  # for循环,直接打印map是打印不出结果的
print(list(res))  # 转一下列表
# 输出结果是:[3, 4, 5, 6, 7]

# 1.2 用匿名函数
res = map(lambda x: x+2, l)
print(list(res))
# 输出结果是:[3, 4, 5, 6, 7]

zip()拉链

我们由此可以形象的理解它的作用:将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同

# 2.1 for循环
'''两个列表个数必须一致'''
l1 = [11, 22, 33]
l2 = ['name', 'age', 'hobby']
lst = []
for i in range(len(l1)):
    lst.append((l1[i], l2[i]))
print(lst)
# 输出结果是:
# [(11, 'name'), (22, 'age'), (33, 'hobby')]


l = [11, 22, 33, 44]
ll1 = ['name', 'age', 'hobby', 'aaa', 'b']
ll2 = ['nam2e', 'age1', 'hobby1', 'aaa1', 'b', 'ccc', 'ddd', 'fff']
ll3 = ['name1', 'age2', 'hobby2', 'aaa2']

# 2.2 两个列表,个数可以不一致
res = zip(l, ll1)
# 直接打印只能够返回内存地址
print(res)  # <zip object at 0x000002AF849EC988>
# 想要打印数据需要转成列表
print(list(res))  # [(11, 'name'), (22, 'age'), (33, 'hobby')]

# 2.3 可不可以给两个字典
# 可以使用,但是没有任何意义
d1 = {'username': 'tony', 'age': 16}
d2 = {'username1': 'kevin', 'age1': 18}
res = zip(d1, d2)
print(dict(res))
# 输出结果是:{'username': 'username1', 'age': 'age1'}
print(dict(res))  # 必须以字典形式返回,两个字典zip后用列表返回,返回是空列表
# 输出结果是:[]


# 2.4 多个列表
res = zip(l, ll1, ll2, ll3)
print(res)
print(list(res))
# 输出结果是:[(11, 'name', 'nam2e', 'name1'), (22, 'age', 'age1', 'age2'), (33, 'hobby', 'hobby1', 'hobby2'), (44, 'aaa', 'aaa1', 'aaa2')]

min() 求最小值/max() 求最大值

max(iterable, *[, default=obj, key=func])

# 3.1 列表中求最大、最小值
l = [1, 2, 10, 30, 5, 6, 7, 8]
# 求出列表中最大值
print(max(l))  # 30

# 求出最小值
print(min(l))  # 1

# 3.2 字典
d = {
    'Aevin': 10000,
    'zack': 2000,
    'zony': 30000,
    'Fank': 5000000000
}
'''
    ASCII码表:
    A-Z:65-90
    a:97
    0:48
'''
'''如果是字典,比较的是key,说白了就是你暴露什么,就按照什么比较'''
# 3.2.1 第一个参数,可迭代对象
print(max(d))  # zony
print(min(d))  # Aevin

# 3.2.2 第二个参数:key=func,函数返回什么就按照什么比较
def index(key):
    return d[key]
# '''如果传了key参数,就是返回什么值就按照什么值比较,但比较后输出的可迭代对象的元素'''

print(max(d, key=index))  # 是按照字典的值比大小,但返回键
# 输出结果是:Fank

# 用匿名函数可写为:
print(max(d, key=lambda key: d[key]))


# min
print(min(d, key=index))  # zack
print(min(d, key=lambda key: d[key]))  # zack

filter()

filter(func, iterable)
该函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表

l = [1, 10, 20, 55, 66, 77]
# 取列表中大于20的元素:

# 4.1 用原来知识:for循环,if判断
ll = []
for i in l:
    if i > 20:
        ll.append(i)
print(ll)  # [55, 66, 77]

# 4.2 filter
def index(x):
    return x > 20
res=filter(index, l)
print(res)
# 输出结果:<filter object at 0x00000214573DD278>
print(list(res))
# 输出结果:[55, 66, 77]

# 匿名函数
res = filter(lambda x: x > 20, l)
print(list(res))  # [55, 66, 77]

abs() 返回绝对值

print(abs(2))  # 绝对值:2
print(abs(-2))  # 绝对值:2

all()/any()

all(iterable): 所有元素都为真,输出真。一个元素为假,输出假
any(iterable): 只要有一个元素为真,输出真

l = [1, 2, 3, 0]
print(all(l))  # True
print(any(l))  # True

divmode() 返回商和余数

以元组形式返回

page1, more1=divmod(100, 10)
page2, more2=divmod(99, 10)
page3, more3=divmod(2005, 10)
if more:
    page += 1
print(page)

eval()/exec()

  • eval()
    识别注释中简单的python代码
  • exec()
    识别注释中复杂的python代码
res1="""print('hello world')""" 
res2="""
# 这是注释
for i in range(10):
    print(i)
""" #
eval(res1)  
exec(res2) 

isinstance()

isinstance(数据值,数据类型):判断该数据值是否是数据类型,返回布尔值

if type(123) is int:
    print('123')
print(type('123') is int)  # 判断数据类型的
print(isinstance('123', int))
print(isinstance(123, int))
print(isinstance('123', str))
print(isinstance([1,2,3,4], list))
print(isinstance({'a':1}, dict))

chr()/ord()

  • chr()
    根据ASCII码表,填入对应的十进制,返回对应的字符
  • ord()
    根据ASCII码表,填入对应的字符,返回对应的十进制
print(chr(65))
print(chr(97))
print(ord('A'))
print(ord('z')) 

sum() 求和

可迭代对象内部是必须是数据值,将内部所有元素相加

l = [10, 20, 30 ,40, 50]
print(sum(l))  # 求和
  • pow(a, b) 求a的b次幂
print(pow(4, 3))  # 4 ** 3
print(pow(2, 3))  # 2 ** 3

bytes()/str()

bytes(变量名,编码方式):将变量名中的元素用二进制编码输出
str(变量名,编码方式)

s = '你好啊'
res=s.encode('utf-8')
print(res)
ret = res.decode('utf-8')
print(ret)

res1=bytes(s, 'utf-8')
print(res1)
print(str(res1, 'utf-8'))

callable()

查看是否能够被调用

def index():
    print('from index')

print(callable(index))

round() 四舍五入

print(round(3.4))  # 3
print(round(3.5))  # 4
print(round(3.6))  # 4

enumerate() 获取集合的枚举对象

使用for循环的时候,可以解压赋值出来两个值,一个是索引,一个是元素。start:控制的是起始位置,默认是从0开始

for i, j in enumerate(l1):
    print(i, j)

for i, j in enumerate(l1, start=2):
    print(i, j)
posted @ 2023-03-08 17:40  星空看海  阅读(30)  评论(0编辑  收藏  举报