python基础02-函数与字典

2018/03/02
(1)函数:
	#coding=utf-8
'''
Created on 2018年3月2日


@author: Administrator
'''
#定义函数,并加参数
def MyFirstFunction(x,y):
    print('this is my first function',x,y)
    return 
def FunctionAdd(a,b):
    sum=a+b
    return sum
#默认参数,关键字参数 (例子是两个概念,看下面引用)
def MyThirdFunction(a='我是',b='HERO'):
    print(a,b)
#搜集参数,当不确定有多少参数时
def MyFourthFunction(*params):
    print('参数长度:',len(params),'参数为:',params)
    


if __name__ == '__main__':
    #向上寻找函数,找到即执行,找不到就会报错
    #最好给x赋值
    for x in range(3):
        MyFirstFunction(x,x+1)
    x=FunctionAdd(1, 2)
    print(x)
    #引用默认参数
    MyThirdFunction()
    #引用关键字参数
    MyThirdFunction(b='苍井空',a='世界级大师:')
    MyThirdFunction('苍井空:','世界级大师')
    MyFourthFunction(1,'d',4)
    
	*形参和实参
		形参:定义函数时定义的参数
		实参:使用函数时传入的参数
	*函数文档
		*__doc__
	*关键字索引
(2)内嵌函数与闭包:


		#局部变量变为全局变量使用‘global’关键字:


		#支持内嵌函数,只能在func1中调用func2,外部不可见
		def func1():
			print('func1')
			def func2():
				print('func2')
			func2() 
		#闭包:如果在一个内部函数里,对外部作用域变量进行引用,内部函数就会定义为闭包
		def func3(x):
			def func4(y):
				return x*y
			return func4
		#闭包修改外部函数,使用闭包关键字
		def func5(x):
			def func6():
			   nonlocal x
			   x=x*x
			   return x
			return func6
		if __name__ == '__main__':
			#内嵌函数
			func1()
			#闭包第一种方法
			re=func3(10)(20)
			#闭包第二种方法
			re=func3(10)
			print(re(50))
			#修改闭包外部变量
			print(func5(10))


(2)lambda表达式,filter(),map()
#coding=utf-8
	'''
	Created on 2018年3月2日


	@author: Administrator
	'''
	#屌丝函数
	def Function1(x):
		return x%2
	if __name__ == '__main__':
		#(1)lambda表达式, 定义匿名函数
		# lambda语法: lambda 变量x :要执行的语句
		x=lambda a:a+1
		print(x(3))
		#filter()内置函数,过滤,返回为真的!!!
		#首先是屌丝函数写法
		a=[1,5,6,7,8]
		print(list(filter(Function1,a)))
		#下面是lambda表达式写法,简洁,给力!
		print(list(filter(lambda x:x%2,a)))
		#map()函数,将后面可迭代序列,放在前面的函数中加工,并返回加工后的序列,屌丝函数不再举例
		print(list(map(lambda x:x%2,a)))


(3)字典:
#coding=utf-8
'''
Created on 2018年3月2日


@author: Administrator
'''
#字典:python中唯一的映射类型
#元组,列表为序列类型
#{} 标志
if __name__ == '__main__':
  dict={1:'wang',2:'ha'}
  #print(dict['1'])
  dict=dict.fromkeys(range(10),'哈')
  #获取key
  for each in dict.keys():
      print(each)
  #获取value
  for each in dict.values():
      print(each)
  #获取(k,v)
  for each in dict.items():
      print(each)
  #如果get不到key ,则打印'te'
  print(dict.get(100,'te'))
  #清空字典
  #print(dict.clear())
  #浅拷贝copy()
  b=dict.copy()
  print(b)
  #pop 弹出值,popitem 弹出第一个kv对
  print(b.pop(4))
  print(b.popitem())
  
  #update 更新
  c={2:'wangran'}
  b.update(c)
  print(b)


  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值