前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python干货——内置函数(2)

Python干货——内置函数(2)

原创
作者头像
Java学术趴
发布2022-06-04 15:45:29
1.2K0
发布2022-06-04 15:45:29
举报
文章被收录于专栏:Java全栈·Java全栈·

👨‍🎓作者:Java学术趴 🏦仓库:GithubGitee ✏️博客:CSDN掘金InfoQ云+社区 💌公众号:Java学术趴 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。

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

10.4 内置函数--类型转换

  • ord() :字符转十进制的数字。
代码语言:javascript
复制
# 将一个字符转换为一个数字
char: str = 'A'
print(ord(char))
# 65
print(ord('a'))
# 97
复制代码
  • chr() :十进制的数字转为一个字符。这个数字在 0~255之间
代码语言:javascript
复制
# 将一个字符转换为一个数字
print(chr(65))
# 'A'
print(type(chr(65)))
# <class 'str'>
# 在 python 中没有字符类型的数据。一个字符也是字符串类型
print(chr(97))
# 'a'
复制代码
  • bin() :十进制转为二进制
  • oct() : 十进制转为八进制
  • hex() :十进制转为十六进制

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

代码语言:javascript
复制
# 进制之间的转换

# 十进制转为二进制
num: int = 24
print(bin(num))
# 0b11000

# 十进制转为八进制
print(oct(num))
# 0o30

# 十进制转为十六禁止
print(hex(num))
# 0x18
复制代码
  • list(列表) : 将一个元组转换为数组。元组中不可以进行增删改,转换为列表就可以进行增删改了
代码语言:javascript
复制
# 元组转换为列表
tupleList: tuple = (1, 2, 3)
print(list(tupleList))
# [1, 2, 3]
print(type(list(tupleList)))
# <class 'list'>
复制代码
  • tuple(元组) :将一个列表转换为元组
代码语言:javascript
复制
# 列表转换为元组
charList: list = [1, 2, 3]
print(tuple(charList))
# (1, 2, 3)
print(type(tuple(tupleList)))
# <class 'tuple'>
复制代码
  • dict()函数:用于将普通类型和迭代类型的数据转换为一个字典
代码语言:javascript
复制
# 字典操作
​
# 使用 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。一假则假
代码语言:javascript
复制
# 序列操作函数
# all()函数:判断一个可迭代参数中是否存在0、空(None)、False元素
# 可迭代参数:列表、字符串、元组
​
# 测试一个没有元素的可迭代参数
print(all([]))
# True
print(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 运算符
代码语言:javascript
复制
# 序列操作函数
# any()函数:判断一个可迭代参数中是否全部为False
# 可迭代参数:列表、集合、元组等等
​
# 测试一个没有元素的可迭代参数
print(any([]))
# False
# any()函数中传递一个空列表返回False,和all()区别
​
# 存在空元素的可迭代对象
print(any([None]))
# False
​
# 存在0元素的可迭代对象
print(any([0]))
# False
​
# 存在False元素的可迭代对象
print(any([False]))
# Fasle
​
# 存在空、0、False的时候为False
print(any([False, None, 0]))
# False
​
# 存在一个真元素的时候就返回True
print(any([0, 1]))
# True
复制代码
10.5.3 sorted()函数

函数定义:

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

sort与sorted的区别:

  • sort只应用在列表中,只会对列表进行排序。sorted可以对可迭代的对象进行排序。
  • sort是对已经存在的列表进行排序,不会生成新的列表。sorted对列表进行排序之后会返回一个新的列表。

参数:

  • 可迭代对象
  • reverse。当reverse=False升序排序(默认)。当reverse=True(降序)

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

代码语言:javascript
复制
# 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]
复制代码

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

代码语言:javascript
复制
# 可以忽略大小写排序 注意:这里不是调用的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中的枚举类型

代码语言:javascript
复制
# 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'] = 20
dictionary['sex'] = True
print(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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 10.4 内置函数--类型转换
  • 10.5 内置函数--序列操作
    • 10.5.1 all() 函数
      • 10.5.2 any()函数
        • 10.5.3 sorted()函数
          • 10.5.4 enumerate()函数
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档