当前位置: 首页 > article >正文

python学习笔记13 python中的函数(下)

接着上一篇的函数内容这一节我们来介绍python中的一些内置函数和函数生成式
上一篇 python学习笔记12 python中的函数(上)

内置函数

在这里插入图片描述

数学类函数
  • abs() 求绝对值
n=-10
print(abs(n)) #10
  • sum() 求和 字符串类型的元素不行
list1=[1,2,3,4,5]
print(sum(list1)) #15
  • divmod() 传入两个数值,前一个除以后一个,得到两个数值:一个是商,一个是余数
x,y=divmod(10,3)
print(f'x:{x},y:{y}')   #x:3,y:1
  • round() 四舍五入
n=11.123
print(round(n,3)) #11.123
  • pow() 求幂次方
print(pow(2,3)) #8
聚合类函数
  • max() 求最大值

  • min() 求最小值

list=[0,1,2,3,4,5,67,54,23]
print(max(list))    #67
print(min(list))    #0
  • all() 判断一个列表中是否出现一个False

  • any() 判断一个列表中是否出现一个True

    list=['伊一',123,'',(1,2,3)]
    print(all(list))    #False
    print(any(list))    #True
    
和进制相关的函数
  • 二进制

    • bin() 将十进制的值转二进制

    • int() 将某一种进制转十进制

      print(bin(100)) #0b1100100
      print(int(0b1100100))   #100
      
  • 八进制

    • otc() 将十进制转八进制

      print(oct(100)) #0o144
      
  • 十进制

    整数默认都是十进制

  • 十六进制

    • hex() 将十进制转十六进制

      print(hex(100)) #0x64
      

练习题:将ip地址先转二进制,再转回十进制【点分十进制法】

字符类函数
  • ord() 将一个字符转成ASCII码数值

    print(ord('0')) #48
    print(ord('A')) #65
    print(ord('a')) #97
    
  • chr() 将数值转成对应的ASCII码字符

    print(chr(97))  #a
    
类型转换相关函数

int() str() bool() list() dict() tuple() set() bytes()

b2=bytes('中国','UTF-8')
print(b2,type(b2))  #b'\xe4\xb8\xad\xe5\x9b\xbd' <class 'bytes'>
获取输出类函数
  • input() print() len() open()

    获取索引和元素

list1=[100,222,643,47,85,46]
for i,j in enumerate(list1):
    print(i,j)

在这里插入图片描述

  • id() 获取对象的地址值

  • callable() 判断一个变量是否是一个函数

    def fun1():
        pass
    print(callable(fun1)) #True
    
  • sorted() 排序

    list1=[415,65,23,78,556,2]
    print(f'list1:{list1}') #list1:[415, 65, 23, 78, 556, 2]
    list2=sorted(list1)
    print(f'list1:{list2}') #list1:[2, 23, 65, 78, 415, 556]
    list3=sorted(list1,reverse=True)
    print(f'list1:{list3}') #list1:[556, 415, 78, 65, 23, 2]
    list4=sorted(list1,reverse=False)
    print(f'list1:{list4}') #list1:[2, 23, 65, 78, 415, 556]
    

    自定义排序依据

    list1=['啦啦啦:1007','噜噜噜:1009','咕咕咕:1001','呵呵呵:1004','嘻嘻嘻:1002']
    def fun1(e):
        return int(e.split(':')[1])
    list2=sorted(list1,key=fun1)
    print(f"list1:{list2}")#list1:['咕咕咕:1001', '嘻嘻嘻:1002', '呵呵呵:1004', '啦啦啦:1007', '噜噜噜:1009']
    
  • zip() 将两个序列中的元素一一对应

list1=[1,2,3,4,5,6]
# list1[001,002,003,004,005,006] #报错是因为以0开头的是八进制,可以用1,2,3...表示,或者使用字符串"001","002","003"
list2=['啦啦啦','噜噜噜','嘎嘎嘎','咕咕咕','呜呜呜','哈哈哈']
for i,j in zip(list1,list2):
    print(f'学号:{i},姓名:{j}')

在这里插入图片描述

函数生成式

每执行一个__next()__操作读取到一个yield

def fun1():
    print('开始了')
    yield 1
    print("1在上面")
    yield 2
    print('2在上面')
    yield 3
    yield 4
    yield 5

res1=fun1()
print("hi,伊一")
print(res1.__next__())
print(res1.__next__())

在这里插入图片描述

有yield()关键字的函数,结果是可以使用for循环的

def fun1():
    print('hello 1')
    yield 1
    print("hello 2")
    yield 2
    print('hello 3')
    yield 3
    print('hello 4')
    yield 4
    print('hello 5')
    yield 5

res1=fun1()

for i in res1:
    print(i)
    print('---------------')
def fun1():
    for i in range(1,3):
        yield i
res1 = fun1()
for j in res1:
    print(j)
    print("-----------")

'''
1
-----------
2
-----------
'''

函数我们就讲到这里啦,下一节我们开启python中的模块学习
点赞收藏关注,一起打卡python学习吧


http://www.kler.cn/a/420814.html

相关文章:

  • AI常见同义词-关键概念
  • Lumos学习王佩丰Excel第十九讲:Indirect函数
  • 开源ISP介绍(1)——开源ISP的Vivado框架搭建
  • xiaolin coding 图解 MySQL笔记——事务篇
  • window 下用Ollama 开发一个简单文档问答系统
  • 【C++】编程题目分析与实现回顾:从浮点数运算到整型转换的全面解读
  • 40分钟学 Go 语言高并发:【实战课程】性能瓶颈分析与优化实战
  • 基于Matlab合成孔径雷达(SAR)回波信号建模与多指标质量评估
  • nodejs建立TCP服务器端和TCP客户端之间的连接
  • VisionPro、Mac、IPad、如何连接Windows 文件互传
  • YOLOv8-ultralytics-8.2.103部分代码阅读笔记-loss.py
  • 深入探索 CnosDB 可观测性最佳实践:Metrics
  • 架构师:Dubbo 服务请求失败处理的实践指南
  • 蓝桥杯真题——砍竹子(C语言)
  • 如何在Spark中使用gbdt模型分布式预测
  • 中国电信张宝玉:城市数据基础设施建设运营探索与实践
  • 【前端】JavaScript 中的 this 与全局对象 window深度解析
  • diffusion model: prompt-to-prompt 深度剖析
  • 设计模式:15、生成器模式
  • TinyXML2的一些用法
  • dpwwn02靶场
  • 探讨播客的生态系统
  • 第 41 章 - Go语言 软件工程原则
  • 目标检测标注图像
  • 目标检测模型和图像分割模型
  • ES6 对象扩展全解析:属性简写、表达式、super 关键字等的深度应用