新手Python第四天(器具)

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

内容简介:新手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

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

查看所有标签

猜你喜欢:

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

Understanding Machine Learning

Understanding Machine Learning

Shai Shalev-Shwartz、Shai Ben-David / Cambridge University Press / 2014 / USD 48.51

Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it of......一起来看看 《Understanding Machine Learning》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换