写点什么

Python 干货——内置函数

作者:Java学术趴
  • 2022 年 7 月 23 日
  • 本文字数:3028 字

    阅读完需:约 10 分钟

👋大家好!我是你们的老朋友 Java 学术趴。任何的语言都离不开函数,都包括内置函数和自定义函数,函数的作用就是对功能进行封装以便于无效调用。所谓内置函数就是可以直接拿过来使用的函数,Python 已经帮我们内部实现了逻辑,我们只需要直接调用即可,Python 一共给我们提供了 68 个内置函数。

10.4 内置函数--类型转换



  • ord() :字符转十进制的数字。


# 将一个字符转换为一个数字char: str = 'A'print(ord(char))# 65print(ord('a'))# 97复制代码
复制代码
  • chr() :十进制的数字转为一个字符。这个数字在 0~255 之间


# 将一个字符转换为一个数字print(chr(65))# 'A'print(type(chr(65)))# <class 'str'># 在 python 中没有字符类型的数据。一个字符也是字符串类型print(chr(97))# 'a'复制代码
复制代码
  • bin() :十进制转为二进制

  • oct() : 十进制转为八进制

  • hex() :十进制转为十六进制

二进制以 0b 开头,八进制以 0o 开头,十六进制以 0x 开头

# 进制之间的转换
# 十进制转为二进制num: int = 24print(bin(num))# 0b11000
# 十进制转为八进制print(oct(num))# 0o30
# 十进制转为十六禁止print(hex(num))# 0x18复制代码
复制代码
  • list(列表) : 将一个元组转换为数组。元组中不可以进行增删改,转换为列表就可以进行增删改了


# 元组转换为列表tupleList: tuple = (1, 2, 3)print(list(tupleList))# [1, 2, 3]print(type(list(tupleList)))# <class 'list'>复制代码
复制代码
  • tuple(元组) :将一个列表转换为元组


# 列表转换为元组charList: list = [1, 2, 3]print(tuple(charList))# (1, 2, 3)print(type(tuple(tupleList)))# <class 'tuple'>复制代码
复制代码
  • dict()函数:用于将普通类型和迭代类型的数据转换为一个字典

# 字典操作# 使用 dict() 函数创建一个空字典dic: dict = dict()print(dic)# {}# 向字典中追加元素dic['name'] = '李四'print(dic)# {'name': '李四'}# 将普通类型数据、迭代类型的数据转为一个字典# 其实就是创建一个带有数据的字典dic: dict = {'name': '李四', 'arr': [1, 2, 3], 'tuple': (1, 2, 3)}print(dic)# {'name': '李四', 'arr': [1, 2, 3], 'tuple': (1, 2, 3)}复制代码
复制代码

10.5 内置函数--序列操作

属于序列范畴的类型:str、元组、列表



10.5.1 all() 函数

函数定义:

  • all()函数:用于判断给定的可迭代参数中所有的元素是否都为 True,如果是返回 True,否则返回 False。除了是 0、空、False 外都算是 True

  • 返回值为 bool 类型

函数注意点:

  • 只有存在空(None)、Fasle、0 的可迭代参数的时候才返回 False。其余返回 True

  • 注意:空元组、空列表返回值是 True

  • 这个函数有点类似于逻辑运算符中的 and。一假则假


# 序列操作函数# all()函数:判断一个可迭代参数中是否存在0、空(None)、False元素# 可迭代参数:列表、字符串、元组# 测试一个没有元素的可迭代参数print(all([]))# Trueprint(all(()))# True# 存在空元素的可迭代对象print(all([1, None]))# False# 存在0元素的可迭代对象print(all([1, 0]))# False# 存在False元素的可迭代对象print(all([1, False]))# False复制代码
复制代码

10.5.2 any()函数

函数定义:

  • any()函数用于判断给定的可迭代参数是否全部为 False,如果全部是 False,则返回 False。否则返回 True

  • 返回值为 bool 类型

函数注意点:

  • 当可迭代参数为空的时候返回 Fasle。注意这点和 all()函数的区别

  • 当可迭代参数只存在 0、False、None,不存在其他元素的时候返回 False

  • 当可迭代参数中国存在除以上类型外的其他元素的时候返回 True

  • any()函数类似于逻辑运算符中的 or 运算符


# 序列操作函数# any()函数:判断一个可迭代参数中是否全部为False# 可迭代参数:列表、集合、元组等等# 测试一个没有元素的可迭代参数print(any([]))# False# any()函数中传递一个空列表返回False,和all()区别# 存在空元素的可迭代对象print(any([None]))# False# 存在0元素的可迭代对象print(any([0]))# False# 存在False元素的可迭代对象print(any([False]))# Fasle# 存在空、0、False的时候为Falseprint(any([False, None, 0]))# False# 存在一个真元素的时候就返回Trueprint(any([0, 1]))# True复制代码
复制代码

10.5.3 sorted()函数

函数定义:

  • sorted()函数:可以对所有的可迭代对象进行排序操作

sort 与 sorted 的区别:

  • sort 只应用在列表中,只会对列表进行排序。sorted 可以对可迭代的对象进行排序。

  • sort 是对已经存在的列表进行排序,不会生成新的列表。sorted 对列表进行排序之后会返回一个新的列表。

参数:

  • 可迭代对象

  • reverse。当 reverse=False 升序排序(默认)。当 reverse=True(降序)

重点:不论排序的是什么类型的可迭代对象,最终都会返回一个新的列表


# sorted()函数:对所有可迭代对象进行排序。返回一个新的列表arr: list = [1, 4, 3, 6, 0, True]# 对lise集合排序,默认是升序排序。会生成一个新的列表print(sorted(arr))# [0, 1, True, 3, 4, 6]print(sorted(arr, reverse=False))# [0, 1, True, 3, 4, 6]。默认是升序排序,省略了 reverse=False# 降序排序print(sorted(arr, reverse=True))# [6, 4, 3, 1, True, 0]# 不论可迭代对象是一个什么类型的数据,最终返回的都是一个新的列表tupleArr: tuple = (1, 4, 3, 6, 0, True)# 升序print(sorted(tupleArr))# [0, 1, True, 3, 4, 6]# 降序print(sorted(tupleArr, reverse=True))# [6, 4, 3, 1, True, 0]复制代码
复制代码

可以传递其他的参数,比如:忽略字符大小写


# 可以忽略大小写排序 注意:这里不是调用的lower()函数,而是lower属性print(sorted(['a', 'C', 'b', 'D'], key=str.lower))# ['a', 'b', 'C', 'D']print(sorted(['a', 'C', 'b', 'D'], key=str.lower, reverse=True))# ['D', 'C', 'b', 'a']复制代码
复制代码

10.5.4 enumerate()函数

函数定义:

enumerate()函数用将一个可遍历的数据对象(如列表、元组或者字符串)组合成为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

语法格式:

enumerate(sequence,[start=0])

返回值

返回 enumerate(枚举)对象,相当于 Java 中的枚举类型


# enumerate()函数# 定义一个列表listChar: list = ['spring', 'summer', 'fall', 'winter']assembleListL: enumerate = enumerate(listChar, start=1)print(assembleListL)# <enumerate object at 0x0000022535F4C340># 使用enumerate()函数给列表中的数据加一个标号# 直接打印生成的数据,全部输出for item in enumerate(listChar, start=1):    print(item)    pass# (1, 'spring')# (2, 'summer')# (3, 'fall')# (4, 'winter')# 指定两个参数,第一个是下标,第二个是下标对应的元素for k, item in enumerate(listChar, start=1):    print(k, item)    pass# 1 spring# 2 summer# 3 fall# 4 winter# 定义字典dictionary: dict = {}dictionary['name'] = '张三'dictionary['age'] = 20dictionary['sex'] = Trueprint(dictionary)# {'name': '张三', 'age': 20, 'sex': True}# enumerate()函数给字典类型的数据添加下标进行遍历for item in enumerate(dictionary, start=1):    print(item)    pass# (1, 'name')# (2, 'age')# (3, 'sex')# 可以使用下标值获取对应的key值进一步获取key对应的value值for k, item in enumerate(dictionary, start=1):    print(dictionary[item])    pass# 张三# 20# True
复制代码


发布于: 59 分钟前阅读数: 7
用户头像

Java学术趴

关注

还未添加个人签名 2022.07.02 加入

还未添加个人简介

评论

发布
暂无评论
Python干货——内置函数_7月日更_Java学术趴_InfoQ写作社区