filter

Filter(函数,可以迭代的对象)

循环可以迭代的对象,获取每一个参数,函数(参数)

 
 

def f1(x):

return True

filter(f1,[11,22,33,44])

 
 


def f1(x):
if x % 2 == 0:
return True
else
:
return False

ret = list(filter(f1, [11, 22, 33, 44]))
print(ret)

ret2 = list(filter(lambda x: x % 2 == 0, [11, 22, 33, 44, 55, 66, ]))
print(ret2)

 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

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 10054 –file C:/Users/Administrator/PycharmProjects/py/filter_test.py

pydev debugger: process 892 is connecting

 
 

Connected to pydev debugger (build 172.3317.103)

[22, 44]

[22, 44, 66]

Process finished with exit code 0

eval

eval:可以执行一个字符串形式的表达式

exec:执行这人python代码,没返回值

comple编译代码

ret = eval(“1+2″)

print(ret)

ret = eval(”a+60“,{”a”:99})

3

Chr odr

C = chr(66)

print(c)

i=ord(“a”)

print(i)

 

#!/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))

#all
i=oct(10)
print(i)
i=int(0x15)
print(i)
ii=int(0b110101010101)
print(ii)

i = int(“100”,base=13)
print(i)

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)