内置函数

内置函数I。

内置函数:python中有内置函数68种。

![python的内置函数](D:用到的文件1008059 - 20160909103224348 - 1891953283.
png)

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)) # 333

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
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'xe5xa4xaaxe7x99xbd'

方法一:

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'])) # 可以用字符串拼接

原文地址:https://www.cnblogs.com/ayongxin93/p/11064669.html