编程语言
首页 > 编程语言> > Python之内置函数

Python之内置函数

作者:互联网

内置函数I

内置函数:内置的函数,python中的内置函数68种。13种是在面向对象之后讲解,还有一些不讲的。

eval exce
慎用
s1 = "{1: 'alex'}"
s2 = '1 + 3'
eval 剥去字符串的外衣,返回里面的本质
ret = eval(s1)
print(ret,type(ret))
print(eval(s2))

exec 代码流,过程。
s3 = '''
for i in range(3):
    print(i)
'''
exec(s3)

s3 = input('>>>')
print(eval(s3))

hash()
print(hash(123214134))
print(hash('fkljdsaklgjdfs'))
print(hash('gjdfs'))

help()
print(help(str.count))


callable  **用于检查一个对象是否是可调用(理解为是否是函数)
def a():
    pass
b = 3433

a()
b()
print(callable(a))
print(callable(b))

int  **
print(int(3.14))
print(int('123'))

print(float(100))

print(complex(1,2))

print(bin(100))  # 将十进制转化成二进制。 **
print(oct(10)) # 将十进制转化成八进制字符串并返回。
print(hex(17)) # 将十进制转化成十六进制字符串并返回。 **
print(hex(15))

计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)分页用到
print(divmod(10, 3))  # **

保留小数的有效位置
print(round(3.1485926,2))

print(pow(3, 3))  # 3*3*3
print(pow(3, 3, 2)) # 第三位是取余

输入字符寻找其在unicode的位置。
print(ord('a'))
print(ord('中'))

输入位置数字找出其对应的字符
print(chr(98))  # **
print(chr(20104))  # 予

repr 原形毕露  **
print('太白')
print(repr('太白'))

msg = '我叫%r' %('太白')
print(msg)


all  any  **
0,'',[],{},set(),(),None

l1 = [1, 'fgdsa', [], {1: 2}]
l2 = [0, '', [], {}]
print(all(l1)) # 判断可迭代对象元素全部都为True,返回True
print(any(l2))  # 判断可迭代对象元素只要有一个True返回True

匿名函数

# 匿名函数:没有名字的函数
# 匿名函数只能构建简单的函数,一句话函数。


def func(x,y):
    return x + y
# print(func(1, 2))

# 匿名函数构建
# func2 = lambda x,y: x + y
# print(func2(1, 2))

# 匿名函数最常用的就是与内置函数结合使用。

# 写匿名函数:接收一个可切片的数据,返回索引为 0与2的对应的元素(元组形式)。

# func = lambda x: (x[0],x[2])
# print(func('太白金星'))
# 写匿名函数:接收两个int参数,将较大的数据返回。

# func1 = lambda x, y: x if x > y else y
# print(func1(100,2))

# func2 = lambda : 3
# print(func2())
# str() dir() range() len() print() max() min() open()
# input() type() int() enumerate() list() id() set() dict()
# iter() next() tuple() bool() globals() locals() frozenset()
# 

内置函数II

print()
# sep 设定分割符。
# end 默认是换行可以打印到一行
# print(1, 2, 3, sep='|')
# print(1, 2, end=' ')
# print(3, 4)
# f = open('log','w',encoding='utf-8')
# # f.write('写入文件')
# print('写入文件', file=f)

# list
# l1 = list('fdsafd')
# print(l1)

# dict
# 创建字典的几种方式
# dic = {1: 2}
# # 字典推导式
# # print({i: 1 for i in range(3)})
# # dict()
# dic = dict(one=1, two=2, three=3)
# print(dic)
# # fromkeys()

# abs()  获取绝对值
# print(abs(-10))

# sum() 数字相加求和
# sum(iterable,)
# print(sum([1,2,3,4]))
# print(sum([1, 2, 3, 4], 100))

# 非常非常非常重要的

# min 可以加功能
# print(min([22, 11, 45, 2]))
l1 = [('alex', 73, 170), ('太白', 18, 185), ('武大', 35, 159),]
# # l1 = [(73, 'alex'), (35, '武大'), (18, '太白')]
# # 找年龄最小的元组
# # print(min(l1))
# # 通过设置key去使用min
# # key = 函数名
# # def func(x):  # x = ('alex', 73)
# #     return x[1]
#
# # 返回值是什么就按照什么比较最小的。
# # min 会自动的将可迭代对象的每一个元素作为实参传给x,
'''
第一次,x = ('alex', 73)   73
第二次,x = ('武大', 35)   35
第三次,x = ('太白', 18)   18
'''
# 将遍历的那个元素即是 ('太白', 18) 返回
# print(min(l1,key=func))
# print(min(l1,key=lambda x: x[1]))

# def func(x):
#     return x[1]

# print(min(l1,key=func))
# print(min(l1,key=lambda x: x[1]))
# print(min(l1,key=lambda x: x[2])[0])





a = 1
# 练习:
dic = {'a':3,'b':2,'c':1}
# 将dic值最小的键返回。
# print(min(dic,key= lambda x:dic[x]))
# # 将dic值最小的值返回。
# print(dic[min(dic,key= lambda x:dic[x])])

# dic = {'A':['李业', 67],'b': ['怼哥', 95],'c': ['冯垚', 85]}
#
# # 将成绩最低的从属于的那个列表返回。
# print(dic[min(dic,key=lambda x:dic[x][1])])
# # 将成绩最低的分数返回。
# print(dic[min(dic,key=lambda x:dic[x][1])][1])

# max() 与min 相同。

# reversed()  对一个可迭代对象进行翻转,返回一个迭代器

# s1 = 'alex'
# # print(reversed(s1))
# for i in reversed(s1):
#     print(i)

# 内置函数:bytes()
s1 = '太白'
# 方法一:
# print(s1.encode('utf-8'))
# 方法二:
# print(bytes(s1,encoding='utf-8'))

# 解码:
# b1 = b'\xe5\xa4\xaa\xe7\x99\xbd'
# # 方法一:
# # print(b1.decode('utf-8'))
# # 方法二:
# print(str(b1, encoding='utf-8'))

# zip 拉链方法 返回一个迭代器
# l1 = [1, 2, 3, 4]
# tu = ('a', 'b', 'c')
# s = 'python23'
# # print(zip(l1,tu,s))
# print(list(zip(l1,tu,s)))

# sorted 排序
l1 = [2, 6, 4, 1, 3]
# 列表原有的方法
# l1.sort()
# print(l1)
# 形成新列表
# print(sorted(l1))
# print(l1)

list1 = [
    {'name': 'alex', 'age': 73},
    {'name': 'wusir', 'age': 35},
    {'name': '太白', 'age': 25},
]
# 加key
# print(sorted(list1))
# print(sorted(list1, key=lambda x:x['age']))
# print(sorted(list1, key=lambda x:x['age'],reverse=True))
#
# l1 = [('张一东', 80), ('张耳洞', 75), ('怼怼哥', 7), ('李业', 59)]
# print(sorted(l1,key=lambda x:x[1]))
# print(sorted(l1,key=lambda x:x[1],reverse=True))

# filter  返回一个生成器
# 生成器表达式的筛选模式
l1 = [56, 67, 12, 34, 78, 90,]
# print([i for i in l1 if i > 60])
# 返回值为True的留下来
# print(filter(lambda x: x>60,l1))
# print(list(filter(lambda x: x>60,l1)))
#
# lst = [{'id':1,'name':'alex','age':50},
#         {'id':1,'name':'wusir','age':17},
#         {'id':1,'name':'taibai','age':16},]
#
# print(list(filter(lambda x:x['age']<30,lst)))


# map 返回一个迭代器,相当于生成器表达式:循环模式
# l1 = [56, 67, 12, 34, 78, 90,]
# # print([i**2 for i in l1])
# # print(map(lambda x:x**2,l1))
# print(list(map(lambda x:x**2,l1)))

# reduce python3x 从内置函数剔除了。
from functools import reduce
'''
第一次:x,y 1,2 求和 3 记录到内存
第二次:x,y 3,3 求和 6 记录到内存
第三次:x,y 6,4 .........

'''
# print(reduce(lambda x,y: x+y,[1,2,3,4,5]))
# print(reduce(lambda x,y: 2*x+y, [1,2,3]))
# print(reduce(lambda x,y: x+y, ['alex','s','b']))  # 可以用字符串拼接

标签:函数,之内,min,Python,dic,key,l1,print,lambda
来源: https://www.cnblogs.com/Jacob-yang/p/11107605.html