python控制语句入门例子

发布时间:2020-09-30编辑:脚本学堂
有关python控制语句的用法与实例,包括了while语句、if控制结构语句、for循环语句等的例子,python可变参数与位置参数的用法。

代码:
 

复制代码 代码示例:
//python缩进用来表示语法块 
//比如 
>>> a = 11 
>>>while a>10 : 
>>>        a = 10  // 
>>>        print a //同样的缩进表示这两条语句是属于while的 
//while(a>10){ 
//  a = 10 
//  print a 
//} 
-------------------------------------- 
//判断语句 
>>> a = 10 
>>> if a >10 : 
>>>        print a 
>>> elif a<10 : 
>>>    print 10 
>>> else : 
>>>        print 0 
-------------------------------------- 
//for循环语句 
>>> a=['nana','dandan'] 
>>> for x in a : 
>>>        print x 
//for+if  
//更改的时候创建一个a的copy 
>>> a=['nana','dandan'] 
>>> for x in a[:]: 
>>>        if len(x)>4 : 
>>>            a.insert(0,x) 
>>> a 
['dandan','nana','dandan'] 
---------------------------------------- 
//range() 函数:它生成一个等差级数链表 
>>>range(10) 
[0,1,2,3,4,5,6,7,8,9] 
>>>range(1,5) 
[1,2,3,4] 
 
//迭代索引列表 
>>> a = ['Mary', 'had', 'a', 'little', 'lamb'] 
>>> for i in range(len(a)): 
...     print i, a[i] 
 
//类似于java中的for循环效果: 
for(int i=0;i<a.length;i++){ 
    System.out.println(i+""+a[i]); 

 
//break continue 与java的类似 
//Python的for循环中,还可以有一个else 
>>> for n in range(2, 10): 
...     for x in range(2, n): 
...         if n % x == 0: 
...             print n, 'equals', x, '*', n/x 
...             break 
...     else: 
...         // loop fell through without finding a factor 
...         print n, 'is a prime number' 
... 
2 is a prime number 
3 is a prime number 
4 equals 2 * 2 
5 is a prime number 
6 equals 2 * 3 
7 is a prime number 
8 equals 2 * 4 
9 equals 3 * 3 
----------------------------------- 
//pass语句,pass语句啥也不干... 
----------------------------------- 
//定义函数 
def fib(n): 
"""求解菲波那契函数""" //可以加上函数的说明 
    a,b=0,a //函数体正式开始,必须是缩进的 
    while b<n 
        print b, 
        a,b=b,a+b 
                    //可以没有返回值如果不写return,则返回None 
 
fib(10) //调用函数 
 
//执行函数时会为局部变量引入一个新的符号表。所有的局部变量都存储在这个局部符号表中 
"""这句话不甚理解,可能是说执行函数的时候,会在内存中为局部变量开辟一块单独的内存空间(类似于java中的栈内存) 
 
这几句话不理解: 
引用参数时,会先从局部符号表中查找,然后是全局符号表,然后是内置命名表。 
因此,全局参数虽然可以被引用,但它们不能在函数中直接赋值(除非它们用 global 语句命名)。""" 
 
 
//返回值 
>>> def fib2(n): // return Fibonacci series up to n 
...     """Return a list containing the Fibonacci series up to n.""" 
...     result = [] 
...     a, b = 0, 1 
...     while b < n: 
...         result.append(b)    // see below 
...         a, b = b, a+b 
...     return result 
... 
>>> f100 = fib2(100)    // call it 
>>> f100                // write the result 
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] 
//return 语句从函数中返回一个值,不带表达式的 return 返回 None。过程结束后也会返回 None 。 
 
//可变参数 
//1、给参数设定默认值 
>>> def d(name,age=20,sex='woman'): 
>>>        print name,age,sex 
>>> d('dd') 
dd 20 woman 
>>> d('dd',25) 
dd 25 woman 
>>> d('dd','man') //注意这种情况,输出的结果不是 dd 20 woman 
dd man woman 
 
//默认参数是在函数定义的时候被解析的 
>>> i = 5 
>>> def f(arg=i) // 这个时候默认参数被解析 
>>>        print arg 
>>> i = 6 
>>> f() 
5 //结果 
//一般情况下默认参数只解析一次,但是当默认值是一个可变对象, 
//诸如链表、字典或大部分类实例时,会产生一些差异 
>>> def f(a, L=[]): 
>>>    L.append(a) 
>>>    return L 
>>> f(1) 
[1] 
>>> f(2) 
[1,2] 
>>> f(3) 
[1,2,3] 
//如果你不想在不同的函数调用之间共享参数默认值,可以如下面的实例一样编写函数:  
>>> def f(a, L=None): 
>>>    if L is None: //注意判断None  
//      if L ==None 
>>>        L = [] 
>>>    L.append(a) 
>>>    return L