用Python玩数据-笔记二

1、条件判断
语法表示:注意缩进,一般4个空格

if expression:
    代码块
else:
    代码块

多个if的情况,同等缩进即为同一条件结构

if expression:
    代码块
elif expression1:
    代码块
else:
    代码块

2、內建函数range()和xrange()

range(start,end,setp=1)

start起始值包含,缺省值为0,end终值不包含,step步长不能为0,缺省值为1
range函数生成的是一个列表,而xrange放回的是一个生成器
在python3中已经没有xrange函数了
3、循环结构while和for
while直到expression为假跳出循环

while expression:
    代码块

for循环,常用与次数固定的情况还有迭代的情况:字符串、列表、元组、字典和文件。常用于列表解析和生成器迭代。

for i in range(0,10):
    print i

列表由[]表示,如果我要生成1-10之间奇数,如果是用圆括号的返回的是生成器表达式。

[for i+1 in range(10) if i%2==0]
(for i+1 in range(10) if i%2==0)

循环的控制语句break和continue
break终止当前循环,执行循环之后的语句
continue终止当前语句,重新进入循环
循环中的else:如果循环代码从break处终止,跳出循环;如果是正常结束循环,则执行else中放入代码

for i in range(10):
    print i
else:
    print i
---------------
while(i<10):
    i++
else:
    print i

4、自定义函数
关键字def
第一行是Docstring,一般需要编写,如何查看其它函数的Docstring呢?

print range.__doc__#查看其它函数的docstring
def addMe2Me(x):
    'apply operate'
    return (x+x)

函数的调用括号不能少,函数的默认值,给x付给默认值,默认参数要放在参数列表的最后,参数传递时可以改变参数的位置。

def f(x=True):
    if x:
        print 'true'
    print 'ok'

传递函数:函数可以像参数一样传递给另外一个函数

def addMe2Me(x):
    'apply operate'
    return (x+x)
def self(f,y):
    print f(y)
self(addMe2Me,2)

lambda表达式,也就是匿名函数

r=lambda x:x+x
r(5)
10
def ma_add(x,y): return x+y
my_add=lambda x,y:x+y

5、递归
斐波那契数列
递归函数必须要有边界条件,即递归的出口。递归的话有时间比较消耗资源,但是有时间有没有明显的循环条件,而有明显的递归条件。
6、变量作用域
函数里面的是局部变量
如果全局变量等于局部变量,局部变量会覆盖全局变量
如果要在函数体内修改全局变量的值,需要使用global语句

a=2
def f(x):
    global a
    print a
    a=9
    print a+x
f(8)
print a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值