首页 > 其他分享 >常见内置函数及可迭代对象

常见内置函数及可迭代对象

时间:2022-10-14 17:02:35浏览次数:43  
标签:__ 内置 函数 迭代 对象 res print 100

目录

重要内置函数

zip
l1 = [11, 22, 33, 44, 55]
l2 = ['jason', 'kevin', 'oscar', 'jerry', 'tony']
l3 = [1, 2, 3, 4, 5]
res = zip(l1 ,l2, l3)
print(list(res))  # [(11, 'jason', 1), (22, 'kevin', 2), (33, 'oscar', 3), (44, 'jerry', 4), (55, 'tony', 5)]

l1 = [11, 22, 33]
l2 = ['jason', 'kevin', 'oscar', 'jerry', 'tony']
l3 = [1, 2, 3, 4]
res = zip(l1, l2, l3)
print(list(res))  # [(11, 'jason', 1), (22, 'kevin', 2), (33, 'oscar', 3)]

image

filter
l1 = [11, 22, 33, 44, 55, 66, 77, 88]
res = filter(lambda x:x>40, l1)
print(list(res))  # [44, 55, 66, 77, 88]

image

# sorted
l1 = [21, 12, 53, 64, 76, 32, 11, 22]
res = sorted(l1)
print(res)  #[11, 12, 21, 22, 32, 53, 64, 76]

image

常见内置函数

1. abs() 绝对值
print(abs(-100))  # 100
print(abs(100))  # 100

2. all()  所有数据值对应的布尔值为True结果才是True 否则返回False
print(all([0,1,3,4]))  # False
print(all([1, 2, 3]))  # True

3. any() 所有数据值对应的布尔值有一个为True的结果就是True 否则返回False
print(any([0, None, '', 1]))  # True
print(any([0, None, '']))  # False

4 bin() 二进制 oct() 八进制 hex()十六进制 int() 整型
print(bin(100))  # 0b1100100 
print(oct(100))  # 0o144
print(hex(100))  # 0x64
print(int('100'))  # 100

5. bytes() 转换成bytes类型
s1 = '你好啊'
print(s1.encode('utf8'))  # b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a'
print(bytes(s1,'utf8'))  # b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a'

6. callable() 判断名字是否可以加括号调用
name = 'jason'
def index():
    print('from index')
print(callable(name))  # False
print(callable(index))  # True

7. chr() ord() 基于ASCII码表做数字与字母的转换
print(chr(65))  # A
print(ord('A'))  # 65

8. dir() 返回括号内对象能够调用的名字
print(dir('hello')) #  '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs' ......

9. divmod() 元组 第一个数据为整除数 第二个是余数
res = divmod(100, 2)
print(res)  # (50, 0)
res = divmod(100, 3)
print(res)  # (33, 1)

"""
总数据    每页展示的数据      总页码
100         10              10
99          10              10
101         10              11
"""
page_num ,more = divmod(9999, 20)  
if more:
    page_num += 1
print('总页码为:', page_num)  # 总页码为: 500
print(divmod(99, 10))  # (9, 9)

10 enumerate() 枚举
l1 = [1,2,3,4,5]
res = enumerate(l1)
print(list(res))  # [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]

11. eval() exec()  能够识别字符串中的python并执行
s1 = 'print("哈哈哈")'
eval(s1)  # 哈哈哈
exec(s1)  # 哈哈哈

s2 = 'for i in range(100):print(i)'
eval(s2)  # 报错 只能识别简单的python代码 具有逻辑性的都不行
exec(s2)  # 可以识别具有一定逻辑性的python代码

13 id()查看内存地址  input()接收用户输入  isinstance() 判断数据类型
14 map()映射 max()最大值 min()最小值
15 open()

16 pow() 幂指数(次方)
print(pow(2,2))  # 4
print(pow(2,3))  # 8 
print(pow(2,4))  # 16

17 range()
18 round() 四舍五入
print(round(98.3))  # 98
print(round(98.5))  # 98
print(round(98.6))  # 99

19 sum() 求和
print(sum([11,22,33,44,55]))  # 165

20 zip 拉链

可迭代对象

1. 可迭代对象
   对象内置有__iter__方法的都称为可迭代对象
   """
   1. 内置方法 通过点的方式能够调用的方法,例如字符串 'hello'.__iter__()
   2. __iter__ 双下iter方法
   """
2. 可迭代对象的范围
   不是可迭代对象
      int  float bool  函数对象
   是可迭代对象
     str  list  dict tuple  set 文件对象
3. 可迭代的含义
"""
迭代: 更新换代(每次更新都必须依赖上一次的结果)
   eg:手机app更新
"""
可迭代在python中可以理解为是否支持for循环

迭代器对象

1. 迭代器对象
   是由可迭代对象调用__iter__方法产生的
   迭代器对象判断的本质是看是否内置有__iter__和__next__
2. 迭代器对象的作用
   提供了一种不依赖与索引取值的方式
   正因为有迭代器的存在 我们的字典 集合才能够被for循环
3. 迭代器对象实操
   s1 = 'hello'
   res = s1.__iter__()  # 迭代器对象
   print(res.__next__())  # 迭代取值 for循环的本质
   一旦__next__取不到值 会直接报错
4. 注意事项
   可迭代对象调用__iter__会成为迭代器对象 迭代器对象如果还调用__iter__不会有任何变化 还是迭代器对象本身

for循环的本质

for 变量名 in 可迭代对象:
    循环体代码
"""
1.先将in后面的数据调用__iter__转变成迭代器对象
2.依次让迭代器对象调用__next__取值
3.一旦__next__取不到值报错 for循环会自动捕获并处理
"""

异常捕获/处理

1. 异常
    异常就是代码运行报错 行业俗语叫bug
    代码运行中一旦遇到异常会直接结束整个程序的运行 我们在编写代码的过程中药尽可能避免
2. 异常分类
   语法错误
       不允许出现 一旦出现立刻改正 否则提桶跑路
    逻辑错误
        允许出现的 因为它一眼发现不了 代码运行之后才有可能会出现
3. 异常结构
   错误位置
   错误类型
   错误详情

标签:__,内置,函数,迭代,对象,res,print,100
From: https://www.cnblogs.com/winter-yu1989/p/16792167.html

相关文章

  • 数据库内置表的研究 & Mysql的文件操作
    数据库内置表的研究+通过命令写shell0x00SQLite内置表的研究SQLITE_MASTER表是一张SQLite数据库的伴生表,该表会自动创建,是用来存储数据库的元信息的,如:表(table),索引......
  • 10月14日内容总结——内置函数、可迭代对象和迭代器、异常捕获与处理
    目录一、重要内置函数1、zip2、filter3、sorted二、常见内置函数(了解)1、abs2、all3、any4、bytes5、bin、oct、hex、int6、callable7、chr、ord8、dir9、divmod10、enumera......
  • SQL数据分析,窗口函数
    本文讲解窗口函数的概念,窗口函数与数据分组的功能相似,可以指定数据窗口进行统计分析,但窗口函数与数据分组又有所区别,窗口函数对每个组返回多行,而数据分组对每个组只返回一行......
  • 内置函数
    重要内置函数1.map()映射可以结和匿名函数一起用l1=[12,21,26,31,40]res=map(lambdax:x+6,l1)#map相当于for循环l1列表把列表里的数据传给x(相当于形参)......
  • SQL进阶,子查询与窗口函数
    上一节给大家讲到SQL取数的一些基本内容,包含SQL简单查询与高级查询,需要复习相关知识的同学可以跳转至上一节,本节给大家讲解SQL的进阶应用,在实际过程中用途比较多的子查询与......
  • Excel数据分析函数必备,超全总结
    为什么要学习Excel?首先,Excel是一个好用的工具,并不会因为你会Python而成为数据分析师,而是能用任何工具解决实际的业务问题,其次,Excel因为其简单易用,而受到人们的青睐。一般学......
  • ​MATLAB实战—最优Copula函数的选择
    Copula函数模型本文讲解Copula函数在实际生活中的应用,Copula函数描述的是变量间的相关性,实际上是一类将联合分布函数与它们各自的边缘分布函数连接在一起的函数,因此也有人将......
  • java 枚举和迭代器遍历
    初始向量Vector<String>l=newVector<>();l.add("Amit");l.add("Raj");l.add("Pathak");l.add("Sumit");l.add("Aron")......
  • Python 函数为什么会默认返回 None?
    Python有一项默认的做法,很多编程语言都没有——它的所有函数都会有一个返回值,不管你有没有写return语句。本文出自“​​Python为什么​​​”系列,在正式开始之前,我们就......
  • 如何给列表降维?sum()函数的妙用
     上个月,学习群里的S同学问了个题目,大意可理解为​​列表降维​​,例子如下:oldlist=[[1,2,3],[4,5]]#想得到结果:newlist=[1,2,3,4,5]原始数据是一个二维列表......