一、作业代码
#1.处理文件,用户指定要查找的文件和内容,将文件中包含要查找内容的每一行都输出到屏幕 def func(file,list_1): with open ("file",encoding="utf-8") as f: for i in f: if list_1 in i: yield i g = func("file","x") for i in g: print(i.strip())
#2.写生成器,从文件中读取内容,在每一次读取到的内容之前加上‘ ** * ’之后再返回给用户。 def func(file,word): with open(file,encoding="utf-8") as f: for i in f: yield word+i g = func("file","*****") for i in g: print(i)
二、for 循环 和生成器表达式
# 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(g)) # print(list(g1)) # print(list(g2)) def add(n,i): return n+i def test(): for i in range(4): yield i g=test() # for n in [1,10,5]: # g=(add(n,i) for i in g) n = 1 g=(add(n,i) for i in test()) n = 10 g=(add(n,i) for i in (add(n,i) for i in test())) n = 5 g=(15,16,17,18) print(list(g))
三、内置函数
(一)、作用域相关。
# print(locals()) #返回本地作用域中的所有名字
# print(globals()) #返回全局作用域中的所有名字
# global 声明变量的关键字
# nonlocal 声明变量关键字
(二)、迭代器和生成器相关。
(1)next(迭代器) = = 迭代器.__next__()
(2)
迭代器 = 可迭代对象.__iter__()
迭代器 = iter(可迭代对象) iter()的作用等同于__iter__()
(3)range(10) #0---9
range(1,11) # 1-----10
range(1,11,2) # 1----10,步长2.
(三)、其它
1、帮助相关
(1)dir(对象),查看对象所具有的方法。比较常用的查询方法。
(2)callable(对象),查看对象能否被调用
(3)help(str),str相关的所有方法。
(4) import time #导入time模块。
(5)open()#和文件相关。
2、和内存相关的。
(1)id()一个变量所在的内存地址。
(2)hash()#对于相同可哈希数据的哈希值在一次程序执行中是不变的。
#- 字典的寻址方式
3、输入输出
(1)input()用于接收用户输入。
(2)print()
print('我们的祖国是花园',end='') #指定输出的结束符
# print('我们的祖国是花园',end='')
# print(1,2,3,4,5,sep='|') #指定输出多个值之间的分隔符
# f = open('file','w')
# print('aaaa',file=f) #输出到指定的文件“file”
# f.close()
(2-2)打印进度条的例子。
# import time
# for i in range(0,101,2):
# time.sleep(0.1)
# char_num = i//2
# per_str = '\r%s%% : %s\n' % (i, '*' * char_num) \
# if i == 100 else '\r%s%% : %s' % (i,'*'*char_num)
# print(per_str,end='', flush=True)
4、字符串类型代码的执行。
(1)exec 和 eval
# exec('print(123)')
# eval('print(123)')
# print(eval('1+2+3+4')) # 有返回值
# print(exec('1+2+3+4')) #没有返回值
# exec和eval都可以执行 字符串类型的代码
# eval有返回值 —— 有结果的简单计算
# exec没有返回值 —— 简单流程控制
# eval只能用在你明确知道你要执行的代码是什么
(四)基础数据类型相关
1、数据类型。
(1)complex 复数。
(2)float 浮点数。#有限循环小数和无限循环小数属于浮点数,无限不循环小数不属于浮点数。
(3)bool 布尔值
(4)int 整数
#以上只有在数据类型强制转换的时候采用。
2、进制转换。
(1)bin 二进制 0b 二进制
(2)oct 八进制 0o 八进制
(3)hex 十六进制。 0x 十六进制。
3、数字运算
(1)abs 绝对值
(2)divmod(7,2)返回3,1,除余方法,商在前,余数在后。
(3)round (3.141592,2) #返回3.14,用于小数位数精确。
(4)pow(2,3) 幂运算,2的3次方。
(5)sum(可迭代对象) 求和
(6)min(iterable,*args)计算最小值
# print(min([1,2,3,4]))
# print(min(1,2,3,4))
# print(min(1,2,3,-4))
# print(min(1,2,3,-4,key = abs)) #取绝对值找最小值。
(7)max()求最大值,用法同min()