Python函数方法和示例

废话不BB,都在代码里。

# 传入元组
def func(x,*arg):
	result = (x)
	for i in  arg:
		result += (i)
	return result

# 传入元组和字典
def func2(*args,**kwargs):
	print(args)
	print(kwargs)

# 递归
def fib(n):
	if n == 0 or n == 1:
		return n
	else:
		return fib(n-1)+fib(n-2)

# 函数传参
def fool(func):
	print(func(1,2,3))

# 内建函数zip()
a= ['a','b','c','d']
b = [1, 2, 3]
for k,v in zip(a,b):
	print((k, v))

# 函数嵌套
def foo():
	a= 3
	def bar():
		print('in')
		return a
	print('out')
	return bar

# lambda表达式
def lam(nums):
	l = lambda x: x+3
	n = []
	for i in nums:
		n.append(l(i))
	return n

x= 2
def funcx():
	global x
	x = 9

# 闭包:在一个内部函数中,对外部作用域的变量进行引用
def func3(x):
	def fun4(y):
		print(x+y)
		return x+y

	# 没括号是返回函数对象本身
	return fun4

def func5():
	x = 1
	def fun6():
		x = 2
		print('x::'+str(x))

	print ('---' + str(x))
	#有括号就已经调用了
	return fun6()

# 装饰器,顾名思义,就是增强函数或类的功能的一个函数。
def _calc(func):
	def wrapper(*args,**kwargs):
		print(func.__name__)

		return func(*args,**kwargs)
	return wrapper

@_calc
def fooo():
	print('i love py')

#
def _calcl(txt):
	def _calc(func):
		def wapper(*args,**kargs):
			print('%s----------%s'%(txt,func.__name__))
			return func(*args,**kargs)
		return wapper
	return _calc

@_calcl('AAAAAAAAA')
def foooo():
	print('zzzzzzzzzzz')

# 静态方法,不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样
@staticmethod
# 类方法,不需要self参数,但第一个参数需要是表示自身类的cls参数。
@classmethod
def test():
	pass

if __name__ == '__main__':
	print(func(1,2,3))
	func2((1, 2, 3),{"a": 1, "b": 2})
	fool(func)
	f = foo()
	print(f())
	print(lam([1,2,3,4,5]))
	# 过滤器
	print(list(filter(lambda c:c!='l','hello')))
	# 闭包
	f1 = func3(3)
	f2 = func5()
	print(f1,f1(1))
	print(f2)
	#装饰器
	fooo()
	foooo()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值