python基础(day15)

一、作业代码

#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()

猜你喜欢

转载自www.cnblogs.com/qukouxiaoxue/p/9595269.html