python var函数_Python 函数

Python中函数使用def定义的函数还有就是lambda 定义的函数。

使用def关键字声明的函数,返回使用return关键字,如果到达函数仍然没有遇到return语句,就会自动返回None.

a = None

def bind_var():

a = []

for i in range(5):

a.append(i)

print(a)

print(bind_var())

函数有两种连接变量的方式:全局变量,本地变量。在使用全局变量的时候,在使用关键字global表示这个变量是个全局变量,如果不使用global会被默认为本地变量。

a = None

def bind_vvar():

global a

a = []

bind_vvar()

print(a)在python可以返回多个值,也就是相当于一个元组,在C++中有tuple的类型,可供来返回多个值,而在python中我们可以直接返回多个值。

def f():

a = 5

b = 7;c=8

return a,b,c

a,b,c = f()

print(a,b,c)

在Python中每一个函数都是一个对象,可以将函数作为一个参数传递到其他的函数中,相当于一种回调的使用。lambda是一种匿名函数,在c++中也有lambda函数,在Python定义匿名函数可以直接使用lambda关键字。匿名函数没有一个显示的__name__属性。

exp_val = lambda x : x*x

print(exp_val(10))

了解到一个新的词语,柯里化函数:部分参数应用,它是通过部分参数应用的方式从已有的函数产生新的函数,内建的functools可以使用pratial函数简化处理:

from functools import partial

def add_numbers(x,y):

return x+y

add_five = partial(add_numbers,5)

print(add_five(10))

这与C++ 的bind函数很像,可以对函数使用占位符并确定某些位置的参数,形成一个新的函数对象。Python中通过一致的方式遍历序列这也就是迭代器模式。迭代器在Python中是一种用在上下文中向Python解释器生成对象的对象。生成器是构造新的可遍历序列的一种简洁的方式,如果需要创建生成器需要使用yield关键字,即将return换成yield关键字即可。

def squares(n = 10):

for i in range(1,n+1):

yield i**2

gen = squares()

print(gen)

print(list(gen))

生成器表达式可以很方便的创建生成器,生成器表达式与列表的推导式很相似,只需要将列表推导式的中括号换成小括号就行。生成器表达式也可以代替列表推导式。

gen = (x**2 for x in range(1,11))

print(gen)

print(list(gen))

mapping = dict((x,x**2) for x in range(1,11))

print(mapping)

itertools模块是适用于大多数数据集合算法的生成器,可以查看相应的文档来学习

错误和异常处理使用try/except捕获和处理异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值