lambda表达式

  1. lambda表达式是对简单函数的精简化表达
  2. 语法结构:函数名 = lambda:运算表达式
def f1(a):
a = a + 1
return a ret = f1(1)
print(ret) #结果为2 #lambda表达式
f2 = lambda a: a + 1
ret2 = f2(1)
print(ret2) #结果为2

python内置函数

  • abs()  求数字的绝对值

a = 12
a1 = abs(a)
print(a1) #结果为12 b = -13
b1 = abs(b)
print(b1) #结果为13
  • all(可迭代的) 循环每个元素,如果每个元素都为真,那么all的返回值为真(0,None,空列表,空字典,空字符串,空元组为假,如果你不确定真假,可以bool检验)     

ret1 = all([1,[0.2]])
print(ret1) #结果为True ret2 = all([None,1])
print(ret2) #结果为False ret3 = all((11,{},22))
print(ret3) #结果为False
  • any(可迭代的)  循环每个元素,只要有一真,则为真

ret1 = any([0,(),''])
print(ret1) #结果为False
ret2 = any((1,0,{}))
print(ret2) #结果为True
  • bin()  二进制

  • oct()  八进制

  • int()  十进制

  • hex()  十六进制

r1 = bin(11)  #十进制转二进制
print(r1) #结果为0b1011 r2 = oct(8) #十进制转八进制
print(r2) #结果为0o10 r3 = int('0b1000',base=2) #二进制转化为十进制
print(r3) #结果为8
r4 = int('0o10',base=8) #八进制转化为十进制
print(r4) #结果为8
#利用int的第二参数可以将其他进制转化十进制 r5 = hex(14) #十进制转化为十六进制
print(r5) #结果为0xe
  • bool() 判断真假,把一个对象转换成布尔值

a = {}
r1 = bool(a)
print(r1) #结果为False b = 12544
r2 = bool(b)
print(r2) #结果为True c = ''.isdigit
r3 = bool(c)
print(r3) #结果为True d = None
r4 = bool(d)
print(r4) #结果为False
  • chr()  返回整数对应的ASCII字符

  • ord() 作用和chr()相反,返回字符对应的ASCII编号

随机验证码实例:

import random  #首先要导入随机数模块

rand_num = ''  #初始化验证码

for i in range(6):   #定义随机码的长度为6
k = random.randrange(0,3) #给出一个让随机码组成不定的随机数
if k == 1: #对随机码进行判断,然后确定是给数字还是字母
a = random.randrange(0,10) #随机数字
rand_num += str(a)
elif k == 2:
i = random.randrange(97,123) #随机小写字母
a = chr(i)
rand_num += a
else:
i = random.randrange(65,91) #随机大写字母
a = chr(i)
rand_num += a print(rand_num)
  • divmod(被除数,除数)  返回商和余数组成的元组  应用方面:网站目录展示

t = divmod(10,3)
print(t,type(t)) #结果为(3, 1) <class 'tuple'>
  • eval() 可以执行字符串形式的表达式,并且有返回值

ret = eval('102+788')
print(ret) #结果为890 ret2 = eval('a+63',{'a':90})
print(ret2) #结果为153
  • exec() 直接执行字符串代码,无返回值

exec('for i in range(10):print(i)')
exec('print("明天你好")') #结果为 明天你好
  • filter(函数,可迭代的)    把循环的每个元素当做函数的参数并执行函数,筛选返回Ture的元素,元素组成的对象类型和range的类型差不多,没有创建在内存里,只有迭代是才创建

  函数内部实现过程:

#函数
def f1(args):
if args > 25:
return True
else:
return False #先循环列表
my_list = [] #符合函数条件的元素存储列表
li = [11,22,33,44,55]
for i in li:
a = f1(i)
if a == True:
my_list.append(i) print(my_list)
def f1(args):
if args > 25:
return True
else:
return False
li = [11,22,33,44,55]
ret = filter(f1,li)
print(ret)
for i in ret:
print(i) 结果为:
<filter object at 0x0000000000A5CC50>
33
44
55
  • map(函数,可迭代的)  对循环的元素进行函数运算,结果组成迭代器

  函数内部实现过程:

f2 = lambda x: x + 100 #运算式

my_list = []  #函数运算后的元素存储列表
li = (11,22,55,88,99,456,14258)
for i in li:
a = f2(i)
my_list.append(a) print(my_list) #结果为[111, 122, 155, 188, 199, 556, 14358]
f2 = lambda x: x + 100 #运算式

li = (11,22,55,88,99,456,14258)
ret = map(f2,li)
print(ret) for i in ret:
print(i) 结果为:
<map object at 0x0000000000A4CC50>
111
122
155
188
199
556
14358
  • globals()  获取当前程序所有的全局变量

  • locals()    获取当前程序所有局部变量

global a
global C
C = 'test'
test = 'haha'
b = 'init'
def function1():
global a
a = 123
b = 'string'
print(a)
print(b)
print(globals())
print(locals()) function1()
print(a)
print(b)
print(globals())
print(locals())
  • isinstance()  数据类型匹配

s = '景女神'
ret = isinstance(s,str)
print(ret) #结果为True num = 123
ret1 = isinstance(num,str)
print(ret1) #结果为False
  • max(可迭代的)   取最大值

  • min(可迭代的)    取最小值

  • sum(可迭代的)   求和

li = [11,22,33,44]
ret1 = sum(li)
print(ret1) #结果为110 ret2 = max(li)
print(ret2) #结果为44 ret3 = min(li)
print(ret3) #结果为11
  • pow(底数,指数) 求幂

ret1 = pow(2,10)
print(ret1) #结果为1024 ret2 = 2**10
print(ret2) #结果为1024
  • callable()  是不是可执行的

def f1():
return 123 r = callable(f1)
print(r) #结果为True f2 = 123
r1 = callable(f2)
print(r1) #j结果为False
  • __import__()   导入模块时并别名

  • round()  四舍五入

  • ascii()  到对象的类中找__repr__,获取其返回值

  • compile()  把字符串转换成python可执行的代码(代码编译)

  • hash() 对字典的key优化

  • iter(可迭代的)  创建一个可迭代的对象

python内置的排序方法

  • 排序中不能同时有两种数据类型

  • 数字排序,从小到大
li = [12,458,30,751,25,42]
ret = sorted(li)
print(ret)
  • 字符串排序,先数字,再字母,后中文
li = ['','中','alex','','wen','号','']
ret = sorted(li)
print(ret) #结果为['125', '25', '356326823', 'alex', 'wen', '中', '号']

欢迎大家对我的博客内容提出质疑和提问!谢谢

                                                                             笔者:拍省先生  

最新文章

  1. WPF 主题切换(Z)
  2. 20161127-emmagee
  3. jquery的blur之后,focus获取不到焦点的解决办法
  4. 11款扁平化设计的 Twitter Bootstrap 主题和模板
  5. http协议(五)web服务器
  6. yum安装mariadb
  7. ubuntu设置开机启动图形应用程序,替换默认图形桌面
  8. 【Irrlicht鬼火引擎】 安装配置Irrlicht鬼火引擎
  9. 隐藏或删除指定的html元素
  10. Socket在手机上的应用
  11. HTML之超链接
  12. jsfl 删除库指定内容
  13. 画PCB之电流与线宽的关系
  14. AndroidStudio2.2.2 打开ddms快捷键
  15. 实现SQL express版做自动备份数据库的方法
  16. blog迁移
  17. 概率校准与Brier分数
  18. pip导出安装包及批量安装
  19. Highways---poj1751最小生成树
  20. Java入门:基础算法之检查奇偶性

热门文章

  1. js控制伪元素样式
  2. 0065 MyBatis一级缓存与二级缓存
  3. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo
  4. response.setHeader各种用法
  5. pentestbox使用教程
  6. 如​何​使​用​P​H​P​开​发​高​效​的​W​E​B​系​统
  7. STL的map容器将第3个模板参数设为less_equal或greater_equal会怎样?
  8. 控制反转(Inversion of Control,英文缩写为IoC),另外一个名字叫做依赖注入(Dependency Injection,简称DI)
  9. 【BZOJ】1677: [Usaco2005 Jan]Sumsets 求和(dp/规律)
  10. &lt;mvc:annotation-driven /&gt;注解详解