henda 发表于 2017-4-24 10:55:15

Python:控制语句

//Python中的缩进是用来表示语法块的(跟java中的{}一个功能)
//比如
>>> 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)

>>>range(1,5)

//迭代索引列表
>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...   print i, a
//类似于java中的for循环效果:
for(int i=0;i<a.length;i++){
System.out.println(i+""+a);
}
//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

//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)

>>> f(2)

>>> f(3)

//如果你不想在不同的函数调用之间共享参数默认值,可以如下面的实例一样编写函数:
>>> def f(a, L=None):
>>>    if L is None: //注意判断None
//if L ==None
>>>      L = []
>>>    L.append(a)
>>>    return L
页: [1]
查看完整版本: Python:控制语句