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', '中', '号']

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

                                                                             笔者:拍省先生  

python基础-第四篇-4.1内置函数的更多相关文章

  1. Python基础学习参考(三):内置函数

    一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...

  2. python基础语法20 面向对象5 exec内置函数的补充,元类,属性查找顺序

    exec内置函数的补充 exec: 是一个python内置函数,可以将字符串的代码添加到名称空间中; - 全局名称空间 - 局部名称空间 exec(字符串形式的代码, 全局名称空间, 局部名称空间) ...

  3. python基础之递归,匿名,内置函数

    递归函数: 什么是递归函数? 函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身. 递归必须要有两个明确的阶段: ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少 ②回溯 ...

  4. Python全栈开发之4、内置函数、文件操作和递归

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5476760.html 一.内置函数 Python的内置函数有许多,下面的这张图全部列举出来了,然后我会把一些常用的拿 ...

  5. python成长之路第三篇(3)_内置函数及生成器迭代器

    打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.lambda表达式 2.map内置函数 3.filter内置函数 4.reduce内置函数 5.yield生成器 ...

  6. Py修行路 python基础 (十八) 反射 内置attr 包装

    一.isinstance 和 issubclass1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象.2.issubclass(sub, super)检查sub类是否是 ...

  7. python语言(四)关键字参数、内置函数、导入第三方模块、OS模块、时间模块

    一.可变参数 定义函数时,有时候我们不确定调用的时候会传递多少个参数(不传参也可以).此时,可用包裹(packing)位置参数(*args),或者包裹关键字参数(**kwargs),来进行参数传递,会 ...

  8. python整型-浮点型-字符串-列表及内置函数(上)

    整型 简介 # 是否可变类型: 不可变类型 # 作用:记录年龄.手机号 # 定义: age = 18 # --> 内部操作 age = int(18) # int('sada') # 报错 in ...

  9. python自动化day3-函数、递归、内置函数

    一.什么是函数 修理工===>程序员 具备某一功能的工具===>函数 要想使用工具,需要事先准备好,然后拿来就用且可以重复使用要想用函数,需要先定义,再使用 二.函数基础 1.函数分类 # ...

随机推荐

  1. Makefile 8——使用依赖关系文件

    Makefile中存在一个include指令,它的作用如同C语言中的#include预处理指令.在Makefile中,可以通过include指令将自动生成的依赖关系文件包含进来,从而使得依赖关系文件中 ...

  2. 替换元素节点replaceChild()

    替换元素节点replaceChild() replaceChild 实现子节点(对象)的替换.返回被替换对象的引用. 语法: node.replaceChild (newnode,oldnew ) 参 ...

  3. Android Studio 工具栏添加图标

    本文中 Android Studio 的版本为 Android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异.在工具栏中添加一些常用的图标有利于我们开发,举例说明: ...

  4. 【BZOJ】1620: [Usaco2008 Nov]Time Management 时间管理(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1620 一开始想不通啊.. 其实很简单... 每个时间都有个完成时间,那么我们就从最大的 完成时间的开 ...

  5. 通过公网IP主机建立ssh隧道

    环境描述 hostA: 有公网IP的linux主机 hostB: 私有路由器后端无公网IPlinux主机,能够ssh连接到hostA hostC: 个人pc机 隧道创建步骤 step1 在hostB上 ...

  6. ubuntu 16.04安装 navicat

    原文地址:http://www.cnblogs.com/wbJson/p/5655537.html 下载地址:http://download2.navicat.com/download/navicat ...

  7. hdu 1425:sort(排序,经典题。快排模板)

    sort Time Limit : 6000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  8. 国际化信息-->MVC

    假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题.对 ...

  9. jQuery的end()方法使用详解

    end()方法的定义和用法: end()方法能够回到最近的一个"破坏性"操作之前,即将匹配的元素列表变为前一次的状态.如果没有破坏性操作将返回一个空集.破坏性操作的概念:指任何改变 ...

  10. hdu 2918(IDA*)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2918 思路:这道题与前面几道类似,可以说是被秒杀了!!!构造启发式函数h()=(cnt+3)/4(cn ...