python列表推导式生成随机数_python 列表推导式和生成式,部分内置函数

可迭代对象: str,list,dict,tuple,set,range

文件句柄:是迭代器

with open('01 今日内容大纲', encoding='utf-8') as f1:

# f1.read()

# print('__iter__' in dir(f1))

# print('__next__' in dir(f1))

# l1 = [1, 2, 3]

# from collections import Iterable

# from collections import Iterator

# print(isinstance(l1,Iterable))

# print(isinstance(l1,Iterator))

# print(isinstance(l1,list))

列表推导式

l1 = []

# for i in range(1,14):

# l1.append(i)

# print(l1)

# l1 = []

# for i in range(1,14):

# l1.append('python%d期' % i)

# print(l1)

# 列表推导式

# l2 = [i for i in range(1, 14)]

# [变量(加工后的变量) for 变量 in iterable] 循环模式

# print(l2)

# l3 = [ 'python%s期' % i for i in range(1, 14)]

# print(l3)

优点:

# 1,节省代码,一行搞定.

# 2,看着高大上.

# 缺点:

# ,不好排错.

#整体:

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

# 列表推导式比较有魔性.

分类:

# [变量(加工后的变量) for 变量 in iterable] 循环模式

# [变量(加工后的变量) for 变量 in iterable if 条件] 筛选模式

l1 = [i for i in range(1, 31) if i % 3 == 0]

# print(l1)

# 10以内所有数的平方

# print([i*i for i in range(11)])

# 30以内所有能被3整除的数的平方

# print([i**2 for i in range(31) if i % 3 == 0])

# 100 以内所有的奇数.

# print([i for i in range(1,101,2)])

# print([i for i in range(101) if i % 2 == 1])

生成表达式

l1 = ['python%s期' % i for i in range(1,14)]

# print(l1)

# g_obj = ('python%s期' % i for i in range(1,14)) # 循环模式

# g_obj1 = ('python%s期' % i for i in range(1,14) if i % 2 == 0) # 循环模式

# print(g_obj)

# print(g_obj.__next__())

# print(g_obj.__next__())

# print(g_obj.__next__())

# print(g_obj.__next__())

# for i in g_obj1:

# print(i)

生成器:两种方式:

# 生成器函数. yield

# 生成器表达式

# 为什么有生成器:

# 生成器本身是自己用python代码构建的,这样就满足了个性化需求,满足以后你工作中需要

names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],

# ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]

# l2 = [name for i in names for name in i if name.count('e') == 2]

# l1 = []

# for i in names:

# for name in i:

# if name.count('e') == 2:

# l1.append(name)

# print(l1)

# print(l2)

这是字典的

mcase = {'a': 10, 'b': 34}

# print({mcase[i]: i for i in mcase})

内置函数

1.1作用域相关

globals()永远是全局的.

locals()当前位置的所有变量以及函数名等数据.

def func1():

# a1 = 2

# b1 = 3

# # print(globals())

# def func2():

# c = 666

# print('*****',locals())

# func2()

# print(locals())

# func1()

# print(locals())

# print(globals())

1.2其他相关

eval  执行的是字符串,可以执行字符串的内容比如数字的相加和字典

exec  执行的是字符串,可以执行字符串的循环

complie

print('1 + 3')

# print(eval('1+3'))

# print(eval('3 * 3'))

# dic = eval("{'name': 'alex'}")

# print(dic,type(dic))

code = '''

for i in range(1, 11):

print(i)

'''

# exec(code)

# compile:将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。

输入相关的操作

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

内存相关操作

hash  获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。

rint(hash('name'))

# print(hash(7117817419752622577))

# print(hash('name1'))

# print(hash('name2'))

# print(hash('name3'))

# print(hash(100))

id用于获取对象的内存地址。

1.2.3

文件操作相关

open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

1.2.4

模块相关__import__

#

# __import__:函数用于动态加载类和函数 。

1.2.5

help 函数用于查看函数或模块用途的详细说明。

1.2.6

callable:函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

def func1():

print(111)

a = 666

print(callable(a))

print(callable(func1))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值