Python学习笔记(6)~Python基础练习之常用内置函数(21-30)

举报
海轰Pro 发表于 2021/08/06 01:00:56 2021/08/06
【摘要】 Python基础练习之常用内置函数(21-30) 21、enumerate() 作用         用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 语法 enumerate(sequence, [star...

Python基础练习之常用内置函数(21-30)

21、enumerate()

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

语法

enumerate(sequence, [start=0])

参数
sequence -- 一个序列、迭代器或其他支持迭代对象
start -- 下标起始位置

返回值
返回 enumerate(枚举) 对象

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

测试demo

#!/usr/bin/python3

seasons = ['Spring', 'Summer', 'Fall', 'Winter']

#默认初始下标为0 [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
print(list(enumerate(seasons)))

#自定义下标 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
print(list(enumerate(seasons, start=1)) )

#注:使用list打印结果, python3中enumerate返回的是一个对象,不支持直接打印

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

运行结果
在这里插入图片描述

22、eval()

作用
        用来执行一个字符串表达式,并返回表达式的值

测试demo

#!/usr/bin/python3

x=7
print(eval('3*x'))# 3*7=21

#2的三次方=8
print(eval('pow(2,3)'))

# 3+3=6
print(eval('3+3'))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

运行结果
在这里插入图片描述

23、getsizeof()

作用
        查看变量所占字节数

测试demo

#!/usr/bin/python3
import sys

a = 2
print(sys.getsizeof(a))  # 28

b = 0
print(sys.getsizeof(b))  # 24

c = 'x'
print(sys.getsizeof(c))  # 50

d = ''
print(sys.getsizeof(d))  # 49

x = {'a': 1, 'b': 2.0}
print(sys.getsizeof(x))  # 240


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

运行结果
在这里插入图片描述

24、filter()

作用
        用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

语法

filter(function, iterable)

参数
function -- 判断函数
iterable -- 可迭代对象

返回值
返回一个迭代器对象

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

测试demo

#!/usr/bin/python3
import math

# 过滤出列表中的所有奇数
def is_odd(n): return n % 2 == 1


tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)

# 过滤出1~100中平方根是整数的数
def is_sqr(x): return math.sqrt(x) % 1 == 0


tmplist = filter(is_sqr, range(1, 101))
newlist = list(tmplist)
print(newlist)


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

运行结果
在这里插入图片描述

25、float()

作用
        将一个整数或数值型字符串转换为浮点数

测试demo

#!/usr/bin/python3

# 3.0
print(float(3))

  
 
  • 1
  • 2
  • 3
  • 4

运行结果
在这里插入图片描述

26、format()
传送门😄
27、frozenset()

作用
        返回一个冻结的集合,冻结后集合不能再添加或删除任何元素
语法

class frozenset([iterable])

参数
iterable -- 可迭代的对象,比如列表、字典、元组等等。

返回值
返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

测试demo

#!/usr/bin/python3

a=frozenset(range(0,10))
print(a)

b=frozenset('haihong')
print(b)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运行结果
在这里插入图片描述

28、getattr()

作用
        用于返回一个对象属性值
语法

getattr(object, name[, default])

参数
object -- 对象。
name -- 字符串,对象属性。
default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。

返回值
返回对象属性值。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

测试demo

#!/usr/bin/python3

class A: bar=1

a=A()
# 获取属性bar的值
print(getattr(a,'bar'))

# barx不存在 报错
#print(getattr(a,'barx'))

# 属性 barx 不存在,但设置了默认值3 打印结果:3
print(getattr(a,'barx',3))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

运行结果
在这里插入图片描述

29、hash()

作用
        用于获取取一个对象(字符串或者数值等)的哈希值
语法

hash(object)

参数说明:
object -- 对象;

返回值
返回对象的哈希值。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

测试demo

#!/usr/bin/python3

# 字符串 -7760019414607847097
print(hash('haihong'))

# 数字 1
print(hash(1))

# 列表 报错 TypeError: unhashable type: 'list' 
#print(hash([1,2,3]))

# 元组 2528502973977326415
print(hash((1,2,3)))

# [1, 2, 3]
print(str([1,2,3]))

# (1, 2, 3)
print(str((1,2,3)))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

运行结果
在这里插入图片描述

30、sorted()
作用
        对所有可迭代的对象进行排序操作
sort 与 sorted 区别

  • sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
  • list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的list,而不是在原来的基础上进行的操作。

语法

sorted(iterable, cmp=None, key=None, reverse=False)

参数说明:
iterable -- 可迭代对象。
cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

返回值
返回重新排序的列表。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

测试demo

#!/usr/bin/python3
import operator
a = [5,7,6,3,4,1,2]
b = sorted(a) # 原列表 并未改变
print(a)
# 打印新列表
print(b)


students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
# 按年龄排序
s1=sorted(students, key=lambda s: s[2]) print(s1)
 # 按年龄 降序
s2=sorted(students, key=lambda s: s[2], reverse=True) print(s2)


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

运行结果
在这里插入图片描述

参考资料

https://www.runoob.com/python/python-built-in-functions.html

文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。

原文链接:haihong.blog.csdn.net/article/details/107685974

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。