python学习day15 内置函数

时间:2022-02-13 19:17:22
#昨日复习
    #迭代器
        #可迭代协议——含有iter方法都是可迭代对象
        #迭代器协议——含有iter和next方法都是迭代器
        #特点:
            #节省内存空间
            #方便逐个取值,但一个可迭代对象只能遍历一次
    #生成器——本质就是自己写的迭代器
        #生成器函数
            #含有yield关键字的函数都是生成器函数
            #特点:
                #调用之后函数内部代码不执行,返回一个生成器
                #每次从生成器中取一个值就会执行一段代码,遇到yield关键字就停止
            #取值方式:
                #for:如果没有break就会遍历完该生成器
                #next:每次之取一个值
                #send:不能用在第一个,在取值的同时传一个参数在取值的位置
                #数据类型强制转换:会一次性把值读到内存中
        #生成器表达式
            #(符合条件要放在生成器中的值 for i in 可迭代对象 for 条件)

# # 3.处理文件,用户指定要查找的文件和内容,将文件中包含要查找内容的每一行都输出到屏幕
# def check_file(filename, aim):
#     with open(filename, encoding='utf-8') as f:
#         for i in f:  # 文件句柄循环
#             if aim in i:
#                 yield i
#
#
# g = check_file('测试文件', 'python')
# for i in g:
#     print(i.strip())
#
#
# # 4.写生成器,从文件中读取内容,在每一次读取到的内容之前加上‘***’之后再返回给用户。
# def check_file(filename):
#     with open(filename, encoding='utf-8') as f:
#         for i in f:  # 文件句柄循环
#             yield '***'+i.strip()
#
# g = check_file('测试文件')
# for i in g:
#     print(i)

# 面试题讲解
# def demo():
#     for i in range(4):
#         yield i
#
# g = demo()
#
# g1 =(i for i in g)
# g2 =(i for i in g1)
# print(list(g1))   #[0, 1, 2, 3]
# print(list(g2))   #[]一个生成器只能遍历一次

# def add(n,i):
#     return  n + i
#
# def text():
#     for i in range(4):
#         yield i
#
# g = text()
# # for n in [1,10]:  #遇到for加生成器就打散
# #     g = (add(n,i) for i in g)
# n = 1
# g = (add(n,i) for i in g)#1,2,3,4
# n = 10
# g = (add(n,i) for i in (add(n,i) for i in text()))
# print(list(g))    #调用时才执行生成器

#内置函数
#如果某个方法属于某个数据类型,就用点调用
#否则就是内置函数和自定义函数
    #作用域
        # print(locals())     #返回本地作用域中所有的名字
        # print(globals())    #返回全局作用域中所有的名字
    #迭代器
        #迭代器.__next__() = next(迭代器)
        #可迭代对象.__iter__()=iter(可迭代对象)
        #range()是一个可迭代对象,但不是一个迭代器
    #其他
        #dir()查看一个变量所拥有的方法
        #help()查看帮助
        #print()-->print(1,2,3,4,5,seq='\)可以指定分隔符
        
    #变量
        #callable查看是否是函数,返回布尔值
    #文件操作
        #open()
    #内存
        #id()
        #hash()
    #字符串
        #evil()执行字符串类型的代码,有返回值,有结果的简单运算
        #exec()执行字符串类型的代码,无返回值,无结果的流程控制
        #input()接受的是一个字符串
    #计算
        #round()小数精确
        #pow()幂运算
        #sum()求和
        # min()最小值
        # min()最大值

python学习day15 内置函数