内置函数***

python提供了68个内置函数

比较重要的内置函数:

abs() enumerate() filter() sum() map() max() min() open() range()
print() len() list() tuple() dict() set() str() float()
reversed() sorted() type() zip() dir()

# 1.print(self, *args, sep=' ', end='
', file=None)
print(1, 2, 3)
print(1, 2, 3, sep='@')
print(1, end=' ')
print(2)


# 2.list
l1 = list() # 空列表
print(l1)

l2 = list('tfdsf445')
print(l2)


# 3.dict  字典的创建方式
# (1)直接创建

# (2)元组的解构
d1 = dict([(1, 'one'), (2, 'two'), (3, 'three')]) 
print(d1)

# (3)dict(key=value)
d2 = dict(one=1, two=2)
print(d2)


# 4.abs ***返回绝对值
print(abs(-6))


# 5.sum 对可迭代对象求和,支持多个参数
print(sum([1, 2, 3, ]))
print(sum([1, 2, 3, 4, 5], 10))


# 6.reversed  返回的是一个反转后的迭代器
# 而 对象.reverse() 方法是对原列表进行反转
l6 = [1, 2, 3, 4, 5, 6]
obj6 = reversed(l6)
print(obj6)
print(list(obj6))


# 7.zip 拉链方法
l7 = [1, 2, 3, 4, 5]
t7 = ('', '', '')
s7 = 'wasd'
obj = zip(l7, t7, s7)
print(obj)
for i in obj:
    print(i)


# ************以下方法最最最重要****可以增加key

# 1.min max
ls = [33, 2, -2, 54, 7, -1, -9]

print(min(ls))

# 以绝对值的方法取ls中最小值
"""
ls1 = []
func = lambda a: abs(a)
for i in ls:
    ls1.append(func(i))

print(min(ls1))
"""
# 凡是可以加key的:它会自动将可迭代对象中的每个元素作为实参按照顺序传入key对应的函数中,
# 然后根据该函数的返回值进行比较大小,最后返回比较出的最小的值对应传入的的实参
print(min(ls, key=abs))  

# 习题1
dic2 = {'a':3, 'b':2, 'c':1}
# 求出值最小的键值对
#print(min(dic2)) # min默认会按照字典的键去比较大小
"""
思路
def func_k(k):
    return dic2[k]
    
print(min(dic2, key=func_k))
"""
print(min(dic2, key=lambda k: dic2[k]))


# 习题2
# 根据l2中各元组中的数字比较大小
l2 = [('太白', 18), ('alex', 73), ('wusir', 35), ('昊天', 41)]
print(min(l2, key=lambda t: t[1])[0])


# 2.sorted 排序  对可迭代对象进行排序并返回新的列表
# 而 sort是对原列表进行排序
l3 = [('大壮', 76), ('雪飞', 70), ('纳钦', 94), ('张程', 98), ('B哥', 96)]
print(sorted(l3, key=lambda t: t[1])) # 按照元组里的数字进行排序
print(sorted(l3, key=lambda t: t[1], reverse=True)) # 从大到小


# 3.filter 过滤、筛选,类似于列表推导式的筛选模式
l4 = [2, 3, 4, 1, 6, 7, 8, 9]
#print([i for i in l4 if i > 3]) # 返回的列表
ret3 = filter(lambda i: i > 3, l4)
print(ret3) # 迭代器对象
print(list(ret3))


# 4.map  类似于列表推导式的循环模式
l5 = [1, 4, 9, 16, 25]
#print([i**2 for i in range(1, 6)])
ret4 = map(lambda i: i**2, range(1, 6))
print(ret4) # 迭代器
print(list(ret4))


# 5.reduce
from functools import reduce
def func5(x, y):
    """
    第一次:x y  : 1 2   x + y = 3  记录:3
    第一次:x y  : 3 3   x + y = 5  记录:6
    第一次:x y  : 6 4  x + y = 3  记录:10

    """
    return x + y

r = reduce(func5, [1, 2, 3, 4])
print(r)

补充一些需要了解的内置函数:

# 1.eval  **剥去字符串的外衣运算里面的有返回值的代码
# 不推荐使用,因为很危险
s1 = '1 + 3'
print(eval(s1))

s2 = "{'name':'LGQ'}"
print(eval(s2))


# 2.exec 与eval几乎一样,用于处理代码流

msg = """
for i in range(10):
    print(i)
"""
#exec(msg)



# 3.hash  获取一个对象的哈希值,可哈希对象(int, str, Bool, tuple等不可变数据类型)
print(hash('gfdsf21321'))


# 4.help  **帮助:即打印获取这个对象的说明(源码)
print(help(str.upper))


# 5.callable  ***判断这个对象是否可调用


# 6.complex 复数
print(complex(1, 2))


# 7.bin **将十进制转换成二进制并返回
print(bin(10))


# 8.oct  **将十进制转换成八进制并返回
print(oct(10))


# 9.hex ** 十进制转成成六进制并返回
print(hex(10))


# 10.divmod **返回两个数相除的商和余数组成的元组
print(divmod(10, 3))


# 11.round **保留浮点数的小数位数
print(round(3.14159, 2))


# 12.pow  求x**y次幂(三个参数为x**y的结果对z取余)
print(pow(2, 3))
print(pow(2, 3, 3))


# 13.bytes ***
s1 = '刘天帝'
#b = s1.encode('utf-8')
#print(b)
b = bytes(s1, encoding='utf-8')
print(b)


# 14.ord **输入该字符找该字符编码的位置
print(ord('a'))
print(ord('')) # Unicode


# 15.chr **输入位置数字找出其对应的字符
print(chr(97))
print(chr(20102))  #Unicode


# 16.repr ***返回一个对象的string形式(原形毕露)
s2 = '哈哈'
print(repr(s2))
msg = '我叫%r' % '刘天帝'
print(msg)


# 17.all **可迭代对象中,全部都是True才是True
l1 = [1, '得分', True, 6]
print(all(l1))


# 18.any **可迭代对象中,有一个是True就是True
t1 = (2, False, True, '天地', 'ss')
print(any(t1))
原文地址:https://www.cnblogs.com/GOD-L/p/13528804.html