day 14 生成器推导式 +内置函数

一.生成器推导式

循环模式

list = [变量(加工后) for 变量   in 可迭代对象  ]

list = [变量(加工后) for 可迭代变量   in 可迭代对象 for 变量 in 可迭代变量 ]

例子: lis = [i for  i  in range(100)] # 将1到100之间的数存到 lis 列表里

升级: 筛选模式

list = [变量(加工后) for 变量   in 可迭代对象 条件  ]

list = [变量(加工后) for 可迭代变量   in 可迭代对象 for 变量 in 可迭代变量  条件]

优点:节省代码(内存)

缺点:不可排错

注意:凡是用列表推导式构造的列表对象,用其他方式都可构建.,非常复杂的列表,列表推导式是构建不出的.

 

二.内置函数

'''
print()
input()
range()
len()
max()
min()
open()
type()
int()
str()
list()
dict()
set()
dir()
tuple()
bool()
id()
iter()
next()
isinstance()

'''
'''
内置函数: 一些常用的功能,python都给你封装好了,供你直接使用.
   

a = 333
b = 222
#1.1作用域相关
#***  globals() locals()
# locals() 当前位置的所有变量以及函数名等数据.
# globals() 永远是全局的.
# def func1():
#     a1 = 2
#     b1 = 3
#     # print(globals())
#     def func2():
#         c = 666
#         print('*****',locals())
#     func2()
#     print(locals())
# func1()
# print(locals())
# print(globals())
# 1.2其他相关
# 1.2.1 字符串类型代码的执行 eval,exec,complie
#
# *** eval:执行字符串类型的代码,并返回最终结果。
# print('1 + 3')
# print(eval('1+3'))
# print(eval('3 * 3'))
# dic = eval("{'name': 'alex'}")
# print(dic,type(dic))
# *** exec:执行字符串类型的代码。

code = '''
for i in range(1, 11):
    print(i)
'''
# exec(code)
# compile:将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。
# 1.2.2 输入输出相关 input,print
#
#   *** input:函数接受一个标准输入数据,返回为 string 类型。
#
#   *** print:打印输出。
# print(1,2,3,sep='|') # 设置每个元素的连接符 sep='|'
# print(666,end='')  # end='\n' 默认换行
# print(555)
# f1 = open('log', encoding='utf-8', mode='w')
# print('随便写的内容',file=f1)
# f1.close()
1.2.3内存相关 hash id

# ** hash:获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。
# print(hash('name'))
# print(hash(7117817419752622577))
# print(hash('name1'))
# print(hash('name2'))
# print(hash('name3'))
# print(hash(100))
# print(hash(1))
# print(hash(True))
# ** id:用于获取对象的内存地址。
# l1 = [i for i in range(100) if i % 2 == 1]
# print(l1)
# count = 0
# for i in l1:
#     if i == 51:
#         print(count)
#     count += 1
# 1.2.3文件操作相关

#   open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
#
# 1.2.4模块相关__import__ 
#
# __import__:函数用于动态加载类和函数 。

# 1.2.5帮助
#
#   help:函数用于查看函数或模块用途的详细说明。
# print(help(str))
#  View Code
# 1.2.6调用相关
# ** callable:函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

posted @ 2018-06-20 15:32  mike1607  阅读(92)  评论(0)    收藏  举报