Python初体验之幼功语法

作者: 全球彩票app苹果版  发布:2020-01-03

Python初体验之根基语法(四),python初体验

富有测量检验语句基于Python 2.7.3 , Ubuntu 12.04

自学Python,假诺何地说的不对劲,还请指正。谢谢。

示范绝抢先百分之五十源于乐乎vamei的python教程

 

1.生生不息对象

#!/usr/bin/env python
#coding=UTF-8

#包含一个next()方法 每次循环调用next()
#直到StopIteration异常出现 停止调用next()方法
f = open('test.txt')

for line in f:
    print line

图片 1

 

#生成器 自定义一个循环对象
#定义与函数类似  只是return改为yield
#每次循环使用一个yield的返回值
def gen():
    a = 10
    yield a
    a = a**2
    yield a
    a = a+10
    yield a
    yield 525
#该生成器共有4个yield,用作循环器时,会进行4次循环
for a in gen():
    print a

图片 2

 

生成器 generator

#对于形如下的是生成器 可以简写为 G = ( x for x in range(m))
# 名为生成器表达式 (Generator Expression)
def gen():
    for i in range(4):
        yield i

G = (x for x in range(4))

for a in G:
    print a

 

表推导

#表推导 list comprehension 快速生成表
#表推导的机制 实际上是利用了循环对象
L = []
for i in range(10):
    L.append(i*2)
    print L

#简写形式 使用中括号
L = [x*2 for x in range(10)]
print L

 

测验演习:

#test zip() 聚合函数
#聚合后 [(1,7),(3,12),(5,13)]
#设定y>10 所以 x取3和5.  L=[6,10]
a = [1,3,5]
b = [7,12,13]
L = [x*2 for (x,y) in zip(a,b) if y > 10]
print L

 

2.函数对象

函数也是目的,将函数名作为参数字传送递

def func(a, b):
    return a + b

def test(f, a, b):
    print 'test'
    print f(a, b)

test(func, 1, 2)

test函数的率先个参数f正是叁个函数对象。将func传递给f,test中的f(卡塔尔就具备了func(State of Qatar的效应。

 

map()函数

def func(a, b):
    return a + b

# map()的功能是将函数对象依次作用于表的每一个元素
# 每次作用的结果储存于返回的表re中
# map()将每次从两个表中分别取出一个元素,带入所定义的函数。
re = map(func, [1, 2, 3, 4], [2, 3, 4, 5])
print re

 

filter(卡塔尔国函数  filter通过读入的函数来筛选数据

def func(a):
    if a > 100:
        return True
    else:
        return False

print filter(func, [10, 99, 101, 500])

回去结果为 [101,500]

在Python 3.X中,filter重临的不是表,而是循环对象。

 

reduce(卡塔尔函数 供给函数本人能选择四个参数。reduce可以累进地将函数作用于各类参数。

def func(a, b):
    return a * b

re = reduce(func, [1, 2, 3, 4])
print re

图片 3

reduce(State of Qatar函数在3.0里边不能够直接用的,它被定义在了functools包里面,必要引进包

 

至极 与别的高端语言特别管理相差无几 只是器重字有变化 其它多了叁个else 的分层

try:
    ...
except exception1:
    ...
except exception2:
    ...
except:
    ...
else:
    ...
finally:
    ...

 

流程如下,

try->异常->except->finally

try->无异常->else->finally

在try程序段中,大家放入轻易犯错的某个。大家得以跟上except,来验证假若在try部分的口舌发生StopIteration时,程序该做的政工。若无产生分外,则except部分被跳过。随后,程序将继续运行,实际不是通透到底中断。要是try中有不行产生时,将推行相当的着落,实践except。格外稀有比较,看是或不是是exception1, exception2...,直到找到其归于,试行相应的except中的语句。如若except后边未有此外参数,那么表示全体的exception都交给这段程序管理。要是不能够将丰盛交给合适的靶子,万分将持续向上层抛出,直到被捕捉或许招致主程序报错。

全数测验语句基于Python 2.7.3 , Ubuntu 12.04 自学Python,要是何地说的不确切,还请指正。感激。 示...

本文由全球彩票历史版本发布于全球彩票app苹果版,转载请注明出处:Python初体验之幼功语法

关键词:

上一篇:可变迭代对象在for循环中的风险Risk
下一篇:没有了