Python 2.7流程控制

1 if语句

if x < 0:
    print 'Negative'
elif x == 0:
    print 'Zero'
else:
    print 'More'

2 for语句

a = ['a', 1, 2, "ss"]
for x in a:
    print x
# 基于列表的副本进行迭代,用于修改原列表
a = ['s', "this", "is", "len"]
for x in a[:]:
    if len(x) > 2: a.insert(0, x)

note:使用:复制。

3 range()函数

内置函数range()用于生成等差数值序列

range(3) #[0, 1, 2]
range(1, 4) #[1, 2, 3]
range(0, 20, 10) #[0, 10]
# rang()迭代技巧
a = ['ss', 'this', 'is', 'a', 'test']
for x in range(len(a)):
    print x, a[x]

4 break与continue语句,循环中的else子句

break:跳出最近一级循环
continue :循环执行下一次迭代
else:for迭代完成后或while条件为false的情况下执行else子句,如果循环被break,不执行。

# 判断2到10中的素数
for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print n, 'equals', x, '*', n/x
            break
    else:
        print n, 'is a prime number'

5 pass 语句

pass语句什么也不做,用于语法上需要有语句,但无行为的场合。

# 创建最小结构类
class MyEmptyClass:
    pass

6 定义函数

# 定义一个返回斐波那契数列的函数
def fib(n):
    """Return a list containing the Fibonacci series up to n."""
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a+b
    return result

# 调用方法
result = fib(100)

note:函数没有返回值的话,返回None。
note:函数第一行语句为可选字符串文本,用于描述方法。
note:函数调用为传值调用。
note:函数体被认为是用户自定义函数类型的变量值。
note:列表对象的方法append()用于向列表尾部添加元素。

7 函数定义细节

7.1 默认参数值
# 函数定义
    def fff(a, b=4, c= 'ccc'):
        if a in range(0, 3):
            print 'ok!'
        print b
        print c
        
# 函数调用
fff(1)
fff(2, 5)
fff(5, 3, 'ttt')

note:函数定义的默认值只被初始化一次,但如果初始化的默认值为列表之类的可变对象,会导致每次调用对此参数的改动保留下来。

7.2 关键字参数
# 函数定义
def test(a, b=1, c=2):
    print a, b, c
    
#关键字调用
test(111, c=0, b=99)
7.3 可变参数列表

函数调用可变数量的参数。
这些参数会被封装进一个元组。
普通的参数放置在可变参数之前。

# 定义函数
def war(sss, *args):
    print sss
    print args
#调用函数
war("aaa", args)
7.4 参数列表的分拆

传入一个参数列表,将此列表中的值分别作为参数传入函数。

# 传入多个参数
list(range(3, 6))
# 传入一个列表
args = [3, 6]
# 拆列表
list(range(*args))

#定义函数
def aaa(aa, bb, cc):
    print aa, bb, cc
#定义字典
d = {aa:"www", bb:"hk", cc:"com"}
# 拆字典
aaa(**d)
7.5 Lambda形式

用于定义短小的匿名函数对象。

# 定义函数
def make_new_fun(n):
    return lambda x: x + n
# 返回新定义的函数
f = make_new_fun(3)
#调用新定义的函数
f(2)

note:make_new_fun返回一个lambda定义的函数对象。
note:f调用的是make_new_fun返回的函数。

7.6 文档字符串

第一行为对象用途的简介。
如果文档有多行,第二行需要空出。
Python不会从多行文档字符串中去除缩进,需要手动清除。

# 定义函数:
def my_doc():
    "Test doc."
# 查询函数文档字符串
print my_doc.__doc__

详细教程
Python 2.7 中文文档

猜你喜欢

转载自blog.csdn.net/qq_32165041/article/details/83050906