Python-08-内置函数

详情 https://docs.python.org/3/library/functions.html?highlight=built#ascii

1. abs() 取绝对值

2. all() 如果可迭代对象的所有元素的布尔值都是True,返回True。如果该可迭代对象为空,返回True

print(all([1, 2, 3, 'hello']))
print(all([1, 2, 3, 'hello', 0]))
print(all('1230'))
print(all(''))

True
False
True
True

3. any() 如果可迭代对象的元素的至少有元素的布尔值是True,返回True。

4. bin() 十进制转化为二进制

5. bool() 计算布尔值(None,0,空的布尔值为False)

6. bytes() 编码

print(bytes('你好', encoding='utf-8'))
print(bytes('你好', encoding='utf-8').decode('gbk'))

b'\xe4\xbd\xa0\xe5\xa5\xbd'
浣犲ソ

7. chr() 把ascii码转换为对应字符

print(chr(97))

a

8. eval() 把字符串中的数据结构提取出来

express = '1+(3/2-1)'
print(eval(express))

1.5

9. hash() 获取hash值 # hash的数据类型即不可变的数据类型,不可hash的数据类型即可变的数据类型

10. hex() 十进制转十六进制

11. oct() 十进制转八进制

12. globals() 显示全局变量

13. locals() 显示局部变量

14. isinstance() 判断对象是否是指定的数据类型

print(isinstance(12, int))

True

15. max() 取最大值

  • max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较  # 不同类型之间不能进行比较
  • 每个元素之间进行的比较是从每个元素第一个位置开始依次比较,如果这一位置分出大小,后面的就不需要比较了
l1 = ['a10', 'a2', 'c12']
l2 = [
    (5, 'a'),
    (2, 'c'),
    (3, 'f')
]
print(max(l1))  # 从元素的第一个字符开始比较
print(max(l2))
 
运行结果:
c12
(5, 'a')
 
age_dic = {
    'age1': 18,
    'age2': 100,
    'age3': 30,
    'age4': 50
}
print(max(age_dic))  # 比较的是key
print(max(age_dic.values()))  # 比较的是value,但不知道是哪个key对应的。
print(max(zip(age_dic.values(), age_dic.keys())))  # 结合zip
print(max(age_dic,key=lambda key: age_dic[key])
 
运行结果:
age4
100
(100, 'age2')
age2
 
age_list = [
    {'name': 'Tom', 'age': 18},
    {'name': 'alex', 'age': 100},
    {'name': 'Jerry', 'age': 30}
]
print(max(age_list, key=lambda dic: dic['age']))
 
运行结果:
{'name': 'alex', 'age': 100}

16. min() 取最小值,同max()

17. zip() 接收两个序列,形成一个新的序列

print(list(zip(('a', 'b', 'c'), (1, 2, 3))))
p = {'a': 1, 'b': 2, 'c': 3}
print(list(zip(p.keys(), p.values())))

[('a', 1), ('b', 2), ('c', 3)]
[('a', 1), ('b', 2), ('c', 3)]

18. ord() 将字符转化为ascii码

19. pow()

print(pow(3, 5))  # 相当于3**5
print(pow(3, 5, 2))  # 相当于3**5%2

243
1

20. reverse() 反转

l = [1, 2, 3, 4]
print(list(reversed(l)))

[4, 3, 2, 1]

21. round() 四舍五入

22. slice() 切片

mstr = 'hello'
s = slice(1, 4, 2)
print(mstr[s])  # 等同于mstr[1,4,2]

el

23. sorted() 排序

age_dic = {
    'age1': 18,
    'age2': 100,
    'age3': 30,
    'age4': 50
}
print(sorted(zip(age_dic.values(), age_dic.keys())))
print(sorted(age_dic, key=lambda key: age_dic[key]))

[(18, 'age1'), (30, 'age3'), (50, 'age4'), (100, 'age2')]
['age1', 'age3', 'age4', 'age2']
age_list = [
    {'name': 'Tom', 'age': 18},
    {'name': 'alex', 'age': 100},
    {'name': 'Jerry', 'age': 30}
]
print(sorted(age_list, key=lambda dic: dic['age']))

[{'name': 'Tom', 'age': 18}, {'name': 'Jerry', 'age': 30}, {'name': 'alex', 'age': 100}]

24. sum() 求和

25. type() 查看数据类型

26. vars() 如果没有参数,等同于local();如果有一个参数,以字典的形式返回该参数的所有方法

def test():
    msg = 'dhfjjfksub'
    print(vars())
    print(locals())
    print(vars(int))
test()

{'msg': 'dhfjjfksub'}
{'msg': 'dhfjjfksub'}
{'__repr__': <slot wrapper '__repr__' of 'int' objects>, '__hash__': <slot wrapper.............}

27.iter() 将一个可迭代对象转换为迭代器

l = ['a', 'b', 'c', 'd', 'e']

def test():
    return l.pop()

x = iter(test, 'b')  # 迭代到'b'停止
print(next(x))
print(next(x))
print(next(x))
print(next(x))

 

posted @ 2019-07-11 16:11  lsf123456  阅读(187)  评论(0编辑  收藏  举报