新手Python第四天(器具)

栏目: Python · 发布时间: 6年前

内容简介:新手Python第四天(器具)

Python 生成器

生成器和生成表达式

a=[i*2 for i in range(10)]#生成表达式

b=(i*2 for i in range(10))#生成器

生成器的特点:优点(不占用内存空间,生成速度快),缺点(不能切片,只能保存当前值,前值不能获取)

Python 创建生成器


#1.生成器
b=(i*2 for i in range(10))
#2.函数生成器
def func(x):
    count=0
    while count<x:
        yield count  #保存当前函数的中断状态(断点)
        count += 1
f=func(10)

View Code

Python 生成器的方法


print(f.__next__())#调用下一个元素
print(f.send(1))#发送一个元素

View Code

Python 生成器的循环


for i in (i*2 for i in range(10)):
    print(i)

View Code

Python 迭代器

可迭代对象和迭代器

可迭代对象:可以用for循环的对象都是可迭代对象,如列表元组字典字符串

迭代器:内部有__next__()方法的对象都是迭代器,如生成器,但迭代器不是生成器

Python 迭代器的转换

#可迭代对象变成迭代器
iter([1,2,3])

Python 迭代器和迭代对象的判断


from collections import Iterable
from collections import Iterator
print(isinstance([1,2,3,4],Iterable))#判断是不是可迭代对象
print(isinstance(iter([1,2,3,4]),Iterator))#判断是不是迭代器

View Code

Python 迭代器的方法

print(iter([1,2,3]).__next__()) #调用下一个

Python 迭代器循环


for i in iter([1,2,3,4]):
    print(i)
#while循环不建议使用,迭代器是无穷尽的无法计算最后一个值,只有用try去判断

View Code

Python 内置函数(判断)


print(bool(1))#布尔值判断
print(all([0,1,1]))#全部为真才为真
print(any([0,1,1]))#有一个为真才为真
print(callable([]))#是不是一个方法,是不是可以调用

View Code

Python 内置函数(转换)


for i in enumerate(['a','b','c']):#获取下标和内容
    print(i)
print(bin(11))#十进制转二进制
print(oct(11))#十进制转八进制
print(hex(15))#十进制转十六进制
bytes('a',encoding='utf-8')#转化成二进制格式
tuple()  # 列表变成元组
frozenset([1,2,3,4])#不可变集合,和元组一样
chr(99)#返回ascii对应的字符
float()#转化浮点
repr(range(10))#把对象转化成字符串
print(type(ascii([1,2,3])))#变成一个字符串的形式,没什么用
a=bytearray('abcd',encoding='utf-8')
a[0]=99#字符串和二进制格式不可以修改,但这个可以修改
print(a)

View Code

Python 内置函数(计算)


print(pow(2,5))#次方
print(abs(-1))#计算绝对值
print(divmod(5,2))#返回商和余数
print(sum([1,2,3,4]))#对一个列表求和
round(1.2222,2)#保留小数点后几位
print(max([1,2,3]))#返回最大值
print(min([1,2,3]))#返回最小值
for i in filter(lambda n:n<5,range(10)):#过滤
    print(i)
for i in map(lambda n:n<5,range(10)):#返回前面的结果
    print(i)

View Code

Python 内置函数(查看)


help()#帮助
print()#打印
print('{name}'.format(name='22'))#格式化输出
type('a')#查看数据类型
print(dir({}))#查看内置方法
vars()#返回一个对象所有的属性名
globals()#打印全局变量的key和value
def func1():
    a=1
    print(locals())#打印全部的局部变量
func1()

View Code

Python 内置函数(列表和迭代器)


reversed([1,2,3])#翻转
print(sorted([2,1,3,4]))#排序
print(sorted({2:22,1:33,}.items()))#key排序
print(sorted({2:22,1:33,}.items(),key=lambda x:x[1]))#value排序
zip([1,2,3,4],['a','b','c','d'])#拉链
range(10)#从0取到10不包括10的一个迭代器
next()#迭代器使用的next方法
list=[1,2,3,4,5,6,7,8,9,10]
print(list[slice(2,5)])#对一个类表切片 没啥用

View Code

Python 内置函数(其他)


#eval()#执行简单的代码块
#exec()#执行多段代码块
__import__('auth')#字符串导入一个模块
#exit()#退出
#hash()#加密
code='''for i in range(10)'''
#compile()#编译 没啥用
complex()#复数用不到
import functools
print(functools.reduce(lambda a,b:a+b,range(10)))#求和
#super
#memoryview
#property
#credits()
#copyright()
#delattr()

View Code

Python json写文件(跨平台)


import json
data={'user':'admin','password':'000000'}
f_json=open('json.text','w')
#写入json文件
json.dump(data,f_json)
#f_json.write(json.dumps(data))
f_json.close()

View Code

Python json读取文件


import json
f_json=open('json.text','r')
#json读文件
load_json=json.load(f_json)
#load_json=json.loads(f_json.read())
f_json.close()

View Code

Python pickle写文件(限定python)


import pickle
data={'user':'admin','password':'000000'}
f_pickle=open('pickle.text','wb')
#写入文件
pickle.dump(data,f_pickle)
#f_pickle.write(pickle.dumps(data))
f_pickle.close()

View Code

Python pickle读取文件


import pickle
f_pickle=open('pickle.text','rb')
#读取文件
data_load_pickle=pickle.load(f_pickle)
#data_load_pickle=pickle.loads
f_pickle.close()

View Code

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

神经网络在应用科学和工程中的应用

神经网络在应用科学和工程中的应用

萨马拉辛荷 / 2010-1 / 88.00元

《神经网络在应用科学与工程中的应用:从基本原理到复杂的模式识别》为读者提供了神经网络方面简单但却系统的介绍。 《神经网络在应用科学和工程中的应用从基本原理到复杂的模式识别》以神经网络在科学数据分析中所扮演角色的介绍性讨论作为开始,给出了神经网络的基本概念。《神经网络在应用科学和工程中的应用从基本原理到复杂的模式识别》首先对用于实际数据分析的神经网络结构进行了综合概述,继而对线性网络进行了大量......一起来看看 《神经网络在应用科学和工程中的应用》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具