python menrry_lambda 表达式+python内置函数

#函数

def f1(a,b):

retrun  a+b

#lambda方式,形参(a,b):返回值(a+b)

f2=lambda a,b : a+b

在一些比较简单的过程计算就可以用lambda

python内置函数

abc 获取绝对值

all 循环对象,都为真就返回真否则为假

>>> li

[1, 2, 3]

>>> all(li)

True

#0为假

>>> li=[0,1,2,3]

>>> all(li)

False

bool 真假判断,把一个对象转成bool值

any 和all差不多只要有个为真就为真

ascii(对象),对象类中找__repr__,获取返回值。对象如果是列表那么就去list方法中找,对象是字典就去dict中找(python2.7没有这个方法)

class abc:

def __repr__:

return "nihao"

f1=abc()

ret=ascii(f1)

print ret

nihao

#bin  二进制   0b开头

#oct  八进制    0o开头

#int 十进制

#hex 十六进制 0xe开头

二进制转换,下面方法也可用到其它进制转换上

>>> int(0b1111)#0b开头python默认就是二进制,这里就不需要指定base参数,

15

>>> int('1111',base=2)#不是0b开头的话这里需要指定一下类型,这里为2进制

15

#bytes  字节

#bytesarray   字节列表

chr()#将数字转成字符(ascill),ascill占用一个字节8位,0-256

ord()#将字符转成数字(ascill)

随机验证码:

import random

yz=''

for i in range(6):

if i ==1 or i ==5:

num=random.randrange(0,10)

yz=str(num)+yz

else:

num=random.randrange(65,91)

yz=chr(num)+yz

print(yz)

结果:

0RBH0Q

callable 查看方法是否可以执行,返回布尔值

>>> def run():print "11"

>>> a='111'

>>> callable(a)

False

>>> callable(run)

True

compile 编译,这个函数可以把字符串翻译成python可执行的代码。如 :"def aa():print1 "这个就是一个字符串,通过这个函数就可以转成函数用了

divmod  这个也很有用举个例子网站分页,1000条数据,每页展示50条,需要多少页?

>>> divmod(1000,50)

(20, 0)     #20页就够用了

eval #将表达式解释成python代码  例如:eval("1+2"),这样就可以直接计算。eval带返回值

exec 将字符串翻译成python代码,和eval的区别在于这个没有返回值,"for i in range(10):print i"   eval是没有办法执行这个的

#循环可以迭代的对象,返回为true就是筛选通过

filter(函数,可迭代的对象)

def f1(x):

if x>22:

return True

else:return False

ret=filter(f1,[11,100,5,60])

print(ret)

返回

[100, 60]

map(函数,可迭代的对象),将2个数组的值加起来

ret=map(lambda x,y:x+y,[11,100,5,60],[22,66,15,15])

print(ret)

globals #获取所有全局变量

locals#获取所有局部变量

hash#将对象进行hash运行算,这样就可以用一个带索引的值可以在以后的查找中快速定位,ye可以将一个很长的串减小空间

>>> f1="aaaaaaasdaxzczxvcxvzxvc00..asd"

>>> hash(f1)

-936964852

isinstance #判断某个对象是否是某个类创建的

>>> li=[1,2,3]

>>> r=isinstance(li,list)

>>> print r

True

issubclass#盘对某个类是不是子类

next#取迭代器下一个值

iter#迭代器,生成一个可以迭代的对象,当值取完后再next将报异常,一般和yield生成器配合使用。只有用的时候才会运行

>>> obj=iter(range(5))

>>> next(obj)

0

>>> next(obj)

1

>>> next(obj)

2

max#取出最大值

>>> max([11,22,33])

33

min#回去最小值

>>> min([11,22,33])

11

pow#求指数,2的10次方

>>> pow(2,10)

1024

repr#这个和ascii一样返回类的__repr__方法,区别在于ascii遇到中文会进行处理

reversed#将值反转

round#四舍五入

slice#切片,一般不会用到。可以切片的对象直接就可以处理

sum#求和

zip#将2个可迭代的对象进行组合,如果2个可迭代的对象个数不一致,那将被删除

>>> a=[1,2,3,4,5]

>>> b=['a','b','c','d','e']

>>> zip(a,b)

[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

__import__ #跟import 作用一样

a=__import__(getpass)

a.xxxxx  #有点类似于别名了

sorted#排序

列表中也有个sort排序,实际上你用sorted(li)排序的时候也是调用list下的sort方法

>>> li=[12,1,5,9,2]

>>> li.sort()

>>> li

[1, 2, 5, 9, 12]

如果排序中包含汉子或者字符,字母转成ascii码,然后根据数字对比,汉子也会转成'xas/sd/'这样编码,这样也可以用ascii来转换了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值