python-函数基础

##函数基础

不定长传参

不定长传参数 *args **kawargs

def print_me(arg1,*args):#*args为不定长参数,其中的args看为元组,kwargs字典
	print(arg1)
	
	for arg in args:
		print("*args: ",arg)

print_me(10)
print_me(70,60,50)
#70
#*args:60
#*args:50

data=(60,50)
print_me(70,*data)
#70
#*args:60
#*args:50

###可变对象与不可变对象

  • Python中,一切皆是对象
  • 可变对象:定义以后可改变
    • 列表 list
    • 字典 dict
  • 不可变对象:定义后不能修改,但是可以覆盖
    • 数值型:整型int,浮点型float……
    • 字符串:str
    • 元组:tuple
    • 空:None
      默认参数必须指向不可变对象

def	func(num=None):
	if num is None:
		num=[]
	num.append(0)
	return num
	

###作用域

变量类型作用域访问权限
局部变量函数内部被声明的函数内访问
全局变量函数外部整个程序范围内访问

全局变量和局部变量最好不重名

  • 匿名函数lambda
    • 定义函数执行的行为/效果
    • 函数名=lambda 参数列表:表达式
  • map/reduce
    • map(函数,序列) [对序列中的元素执行函数操作]

      data=["abx\n","xyz\n"]
      clean_data=map(lambda x: x[:-1],data)
      print(list(clean_data))
      

	- reduce(函数,序列)#迭代运算
		```python
		from functools import reduce
		result=reduce(lambda x,y: x+y,[47,11,42,13])
		print(list(result))
		```

	- filter(函数,序列)
		- 返回序列中使得函数成立的元素,并组成新的序列

		


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值