python 12

Posted yzm1017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 12相关的知识,希望对你有一定的参考价值。

1. 生成器 yeild

生成器的本质就是一个迭代器
迭代器和生成器的区别: 迭代器是Python中内置的一种节省空间的工具,是python自带的;生成器是程序员自己写的。
def func():
    if 3>2:
        yield "你好"  # 停止,会记录执行到的位置
    if 4>2:
        yield "我好"
    yield "大家好"
g = func()      # 产生一个生成器
print(g.__next__())
print(g.__next__())
print(g.__next__())    # 可写成  print(next(g))

# 可循环打印
for i in g:
    print(i)

定义一个生成器:
    基于函数,
    函数体中存在yield就是一个生成器
    函数名() 就产生一个生成器

生成器:
    节省空间 -- 惰性机制
    不能逆行
    一次性
    一个next对应一个yield  可以多写yiled,返回多次
#生成器应用场景:
def func():
    lst = [1,3,5,7,9]
    yield from lst   # from 将一个可迭代对象的元素逐个返回
g = func()
for i in g:
    print(i)   # 1 3 5 7 9
    
def func():
    lst = [1,2,3,4,5,6,7,8,9]
    yield from lst
    count = 9
    while count:
        yield count  # yield能够临时停止for、while循环
        count -= 1
g = func()
for i in g:
    print(i)

2. 推导式

2.1 列表推导式:

#[变量(加工后的变量) for循环 加工方式]
print([i for i in range(20) if i%2 ==0])

2.2 生成器推导式:

# (变量(加工后的变量) for循环 加工条件)
g = (i for i in range(50) if i % 2 == 1)
for i in g:
    print(i)

2.3 字典推导式:

# 键:值 for循环 加工条件
print(i:i+1 for i in range(10) if i % 2 == 0)

2.4 集合推导式:

# 变量(加工后的变量) for循环 加工条件
print(i for i in range(10) if i % 2 == 0)

3. 内置函数(一)

eval():执行字符串类型的代码,并返回最终结果
exec():执行字符串类型的代码
    
s = """
for i in range(10):
    print(i)
"""    
print(exec(s))   # 循环打印

hash():获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。
help():函数用于查看函数或模块用途的详细说明。
callable():函数用于检查一个对象是否是可调用的。
int:函数用于将一个字符串或数字转换为整型。
float:函数用于将整数和字符串转换成浮点数。
complex():函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数.
bin:将十进制转换成二进制并返回。
oct:将十进制转化成八进制字符串并返回。
hex:将十进制转化成十六进制字符串并返回。
divmod():计算除数与被除数的结果,返回一个包含商和余数的元组 (a // b, a % b)。
round(5.323,2):保留浮点数的小数位数,默认保留整数。
pow():求x**y次幂。(三个参数为x**y的结果对z取余)
bytes:用于不同编码之间的转化。
ord():输入字符找当前字符编码的位置
chr:输入当前编码的位置数字找出其对应的字符
repr:返回一个对象的string形式(原形毕露)。
all:可迭代对象中,全都是True才是True
any:可迭代对象中,有一个True 就是True
globals():查看全局空间的变量,以字典形式体现
local():查看当前空间的变量

以上是关于python 12的主要内容,如果未能解决你的问题,请参考以下文章

centos 6.4 升级python到版本2.7.12

centos 6.4 升级python到版本2.7.12

Python学习记录-2016-12-12

Python--异常处理--12

编程基础之Python12Python中的语句

重新安装 python 2.7.12 和 python 3.5.2