lambda表达式


#!/usr/bin/env python
#-*-coding:utf-8-*-
def f1():
return 123
print(f1())
f2 = lambda : 123
print(f2())

def f3(a1,a2):
return a1+a2
f4=lambda a1,a2:a1+a2
print(f3(1,2))
print(f4(2,3))
 
 

 
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe "C:\Program Files\JetBrains\PyCharm 2017.2\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 2129 --file C:/Users/Administrator/PycharmProjects/py/lambdatest.py
pydev debugger: process 4308 is connecting
Connected to pydev debugger (build 172.3317.103)
123
123
3
5
Process finished with exit code 0

python传参不一样的一点

#!/usr/bin/env python
#-*-coding:utf-8-*-
import copy
def func(args):
args.append("123")
li=["1","2","3"]
def func2(args):
l=copy.deepcopy(args)
l.append("123")
print("l=",l)
func2(li)
print(li)

def func3(arg):
if len(arg)>2:
del arg[2:]
li=[11,22,33,44]
func3(li)
print(li)

def func4(arg):
arg=123
li = [11,22,33,44]
func4(li)
print(li)

 

 
结果:
l= ['1', '2', '3', '123']
['1', '2', '3']
[11, 22]
[11, 22, 33, 44]

函数之小细节

def f1(*args):

print(args)

print(args[2:])

f1(“kkkkkkksl lsakdfj a; 2132”,‘skls’,2346546461654646)

f1(*(“aaa”,123,’111′))

def f2(**kwargs):

print(kwargs)

f2(k1=“123”,k2=“kkk”)

f2(**{“k1″:112233,”k2″:”llll”})

可变参数中,如果直接放元组或列表(标红之处),需要在参中加入* 或**

函数

1、def 函数名(形式参数)

           函数体

           return "123"

2、执行函数

          函数名(实参)

3、形参,实参(默认按照顺序)

4、指定形参传入实参

5、函数可以有默认参数

有默认的参数一定要放在参数的尾部

6、动态参数

    *,元组,元组的元素

   **,字典,

def f1(*args,**kwargs)

7、为动态参数传入列表、字典、元组

*args, *列表

*kwargs,**字典

8、全局变量、局部变量

def func1():

      a=123

      print(a)

def fun2()

     a=456

     print(a)

函数

1、def 函数名(形式参数)

           函数体

           return "123"

2、执行函数

          函数名(实参)

3、形参,实参(默认按照顺序)

4、指定形参传入实参

5、函数可以有默认参数

有默认的参数一定要放在参数的尾部