内置函数
目录
内置函数就是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)