Python基础(七)内置函数
今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数:

下面就一一介绍一下内置函数的用法:
1、abs()
返回一个数值的绝对值,可以是整数或浮点数等。
|
1
2
3
4
5
6
|
print(abs(-18)) print(abs(0.15))result:180.15 |
2、all(iterable)
如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False。
|
1
2
3
4
5
6
7
8
9
10
11
|
print(all(['a','b','c','d'])) #列表list,元素都不为空或0,返回TrueTrueprint(all(['a','b','','d'])) #如果存在一个为空的元素,返回FalseFalseprint(all([0,1,2,3])) #如果存在为0的元素,同样返回FalseFalseprint(all([])) #空元组和空列表返回值为TrueTrueprint(all(()))True |
3、any(iterable)
如果iterable的任何元素不为0、''、False,all(iterable)返回True,如果iterable为空,返回Fasle。
注意:此函数与all()函数的在于,any()函数中有任意一个元素为0、''、False不影响整体,会返回True,而all()函数中必须是全部不包含特殊元素才会返回True,只要有一个特殊元素,会直接返回False.
|
1
2
3
4
5
6
7
8
9
10
|
print(any(['a','b','c','d'])) #列表list,元素都不为空或0Trueprint(any(['a','b','','d'])) #列表list,存在一个为空的元素,返回TrueTrueprint(any([0,False])) #如果元素全部是0,Fasle,返回FasleFalseprint(any([])) #any函数中空列表和空元组返回FasleFalseprint(any(()))False |
4、bin()
将一个整数转换成一个二进制字符串,结果以'0b'为前缀。
|
1
2
3
4
5
6
7
8
|
print(bin(32)) #将十进制转换成二进制print(bin(64))print(bin(128))result:0b1000000b10000000b10000000 |
5、hex()
将一个整数转换成一个小写的十六进制字符串,结果以'0x'为前缀。
|
1
2
3
4
5
6
|
print(hex(255)) #将整数转换成十六进制print(hex(192))result:0xff0xc0 |
6、oct()
将一个整数转换成八进制的字符串,结果以'0o'为前缀。
|
1
2
3
4
5
6
|
print(oct(255)) #将整数转换成八进制print(oct(192))result:0o3770o300 |
7、bool()
返回一个布尔值,True或False。
|
1
2
3
4
5
6
7
8
|
print(bool()) #bool值缺省为FalseFalseprint(bool(0))Falseprint(bool('jack'))Trueprint(bool(""))False |
8、bytes()
将一个字符串转换成你想要的编码格式的字节。
|
1
2
3
4
5
|
print(bytes('你好',encoding='utf-8')) #将字符串转换成utf-8编码格式的字节b'\xe4\xbd\xa0\xe5\xa5\xbd' print(bytes('你好',encoding='gbk')) #将字符串转换gbk编码格式的字节b'\xc4\xe3\xba\xc3' |
9、chr()
介绍chr()函数之前先看一下ASCII码对照表:

chr()函数就是返回整数对应的ASCII码对照表里的字符,取值范围[0~255]之间的正数。
ord()函数作用正好和chr()函数相反,不再介绍,请看下面例子:
|
1
2
3
4
5
6
7
8
9
|
n = chr(65) #根据十进制找到在ascii码里对应的字符print(n)result:Aa= ord("a") #根据字符找到在ascii码里对应的十进制print(a)result:97 |
10、compile(source,filename,mode)
将source编译为,代码对象能够通过exec语句来执行或者eval()进行求值。
source:字符串或者对象;
filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值;
model:编译代码的种类,可以指定为'exec','eval','single'。
|
1
2
3
4
5
6
|
code="for i in range(0,10):print(i)" cmpcode = compile(code,'','exec') #可以将字符串转换成python代码执行print(cmpcode)result:<code object <module> at 0x000002A54E938ED0, file "", line 1> |
11、exec()
exec语句用来执行储存在字符串或文件中的Python语句。
|
1
2
3
4
|
exec("print('hello,world')") #执行exec()里的python语句result:hello,world |
12、eval()
eval()函数将字符串str当成有效的表达式来求值并返回计算结果。
|
1
2
3
4
5
6
7
8
9
|
ret = eval("8*8") #执行表达式并返回结果print(ret)#result:64t = exec("8*8") #执行python代码,可以接收或字符串,没有返回值print(t)#result:None |
13、divmod(a,b)
divmod(a,b)方法是计算a,b的商和余数,即:a//b 余几,返回结果为元组。以后做网页翻页的时候会。
|
1
2
3
4
5
|
num = divmod(9,2) #9//2print(num)#result:(4,1) #结果为商4余1 |
14、enumerate(iterable,start=0)
返回一个枚举对象。iterable必须是序列,迭代器,或者其他支持迭代的对象。
|
1
2
3
4
5
6
7
8
9
10
|
dic = {'name':'jack', 'age':18, 'sex':'boy',}for i in enumerate(dic.keys(),start=0): print(i)#result:(0, 'name')(1, 'sex')(2, 'age') |
15、filter()
对于序列中的元素进行筛选,最终获取符合条件的序列。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
filter() #循环第二个参数,让每个循环元素执行函数,如果函数返回值为True,表示元素合法filter内部实现方法:for item in 第二个参数: r = 第一个参数(item) if r: result(item)return result#例:def f1(args): if args>22: return Trueli=[11,22,33,44]ret = filter(f1,li) print(list(ret)) #返回值为一个迭代器,所以使用list()函数来返回 |
像上面这种简单的函数可以使用lambda函数来执行:
|
1
2
3
|
li = [11,22,33,44]ret = filter(lambda a:a>22,li) #通过lambda函数处理,lambda是有返回值的,条件成立返回Trueprint(list(ret)) |
16、map(函数,可迭代的对象)
遍历序列,对序列中每个元素进行操作,最终获取新的列表。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
li = [11,22,33,44]new_list = map(lambda a:a+100,li)print(new_list)#result:[110,122,133,144]li = [11, 22, 33]sl = [1, 2, 3]new_list = map(lambda a, b: a + b, li, sl)print(list(new_list))#result:[12, 24, 36] |
17、reduce()
对于序列内所有元素进行累计操作:
|
1
2
3
4
5
6
|
li = [11,22,33]result = reduce(lambda arg1,arg2:arg1 + arg2,li)print result#result: #注意在Python3中已经没有了reduce函数66 |
18、isinstance()
判断对象是不是类的实例。
|
1
2
3
4
5
6
|
li = [11,22,33]n = isinstance(li,list) #判断li是不是list类的实例print(n) #result:True #返回True/False |
19、len()
判断字符串长度。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
s = "你好"print(len(s)) #在python3中len函数既可以取的字符的长度,也可以取字节的长度 #python2.*中len函数只可以取字节的长度#result:2s = "你好"b = bytes(s,encoding='utf-8')print(len(b))#result:6分别使用2.*和3.*循环“你好”,查看结果:2.7 for 循环“你好” #输出6个空字符3.5 for 循环“你好”查看结果 #输出"字符串结果" |
20、max()、min()、sum()
max():取最大值; min():取最小值; sum():取总的值
|
1
2
3
4
5
6
7
|
li=[11,22,33]print(max(li)) #最大值33print(min(li)) #最小值11print(sum(li)) #总和66 |
21、pow(x,y)
pow()返回x的y次方的值。
|
1
2
3
4
|
print(pow(2,3)) #计算2的3次方8print(pow(2,4)) #计算2的4次方16 |
22、round()
round() 方法返回浮点数x的四舍五入值。
|
1
2
3
4
|
print(round(2.3)) #四舍五入2print(round(2.8))3 |
23、random()
random方法返回随机生成的一个实数,它在[0,1]范围内。
|
1
2
3
4
|
import randomprint('random:',random.random())#result: random: 0.7037348886029884 |
24、choice()
choice()方法返回一个列表,元组或字符串的随机项。
|
1
2
3
4
5
6
7
8
9
|
import random#取列表或元组的随机值print("choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9]))print("choice('A String') : ", random.choice('A String'))#result:choice([1, 2, 3, 5, 9]) : 9 #执行一次值会变一次choice('A String') : i |
25、randrange()
返回指定递增基数集合中的一个随机数,基数缺省值为1,听这个意思不是太好理解,下面举例说明:
|
1
2
3
4
5
6
7
8
9
10
|
import random#随机输出100到1000间的偶数print("rangrange(100,1000,2):",random.randrange(100,1000,2))#随机输出100到1000间的其他数print("rangrange(100,1000,2):",random.randrange(100,1000,3))#result:rangrange(100,1000,2): 260rangrange(100,1000,2): 511 |
下面将上面三个函数放在一起,来做一道题,生成6位的随机数,其中包括大写字母,数字?
|
1
2
3
4
5
6
7
8
9
|
import randomli= []for i in range(6): #循环6次 temp = random.randrange(65,91) #random随机数从ascii码里取65到91 c = chr(temp) #将随机数找到ascii码表里找到具体字符 li.append(c) #追加到空列表里result = "".join(li) #再用join的方式将列表转换成字符串print(result) #结果全是大写字母 |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
li = [] #定义空列表for i in range(6): #循环6次 r= random.randrange(0,5) #生成一个0-4的随机值,然后根据r的值判断数字出现的位置 if r ==2 or r==4: #如果第一次循环r==2或者4的时候,条件满足,在列表里随机添加一个数字 num = random.randrange(0,10) #生成一个0-9的随机数 li.append(str(num)) else: temp = random.randrange(65,91) #如果上面条件不成立,添加字符串 c = chr(temp) li.append(c)result = "".join(li)print(result) |
26、zip()
利用每个可迭代元素,制作一个迭代器来聚合元素。
|
1
2
3
4
5
6
7
8
9
|
l1 = ['北京',11,22,33]l2 = ['欢迎',11,22,33]l3 = ['你',11,22,33]r=zip(l1,l2,l3)#print(list(r)) # [('北京', '欢迎', '你'), (11, 11, 11), (22, 22, 22), (33, 33, 33)]temp = list(r)[0]ret ="".join(temp)print(ret) |
今天的内置函数就介绍到这,由于还没有学习面向对象编程,一些内置函数会在学完面向对象编程以后,在更新。
Python基础(七)内置函数的更多相关文章
- 十六. Python基础(16)--内置函数-2
十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
- 第六篇:python基础_6 内置函数与常用模块(一)
本篇内容 内置函数 匿名函数 re模块 time模块 random模块 os模块 sys模块 json与pickle模块 shelve模块 一. 内置函数 1.定义 内置函数又被称为工厂函数. 2.常 ...
- python基础(15):内置函数(一)
1. 内置函数 什么是内置函数? 就是python给你提供的,拿来直接⽤的函数,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68个内置函数.他们就是pyth ...
- python基础(内置函数+文件操作+lambda)
一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...
- Python基础:内置函数
本文基于Python 3.6.5的标准库文档编写,罗列了英文文档中介绍的所有内建函数,并对其用法进行了简要介绍. 下图来自Python官网:展示了所有的内置函数,共计68个(14*4+12),大家可以 ...
- Python基础编程 内置函数
内置函数 内置函数(一定记住并且精通) print()屏幕输出 int():pass str():pass bool():pass set(): pass list() 将一个可迭代对象转换成列表 t ...
- 学习PYTHON之路, DAY 4 - PYTHON 基础 4 (内置函数)
注:查看详细请看https://docs.python.org/3/library/functions.html#next 一 all(), any() False: 0, Noe, '', [], ...
- Python基础_内置函数
Built-in Functions abs() delattr() hash() memoryview() set() all() dict() help() min() setat ...
- python基础(16):内置函数(二)
1. lamda匿名函数 为了解决⼀些简单的需求⽽设计的⼀句话函数 # 计算n的n次⽅ def func(n): return n**n print(func(10)) f = lambda n: n ...
随机推荐
- php部分--session的三种用法
一.在不同页面之间显示用户的信息 二.控制登录 1.登录页面 <body> <form action="loginchuli.php" method=" ...
- C中变量名通过宏定义转换成char*类型字符串
#include <iostream> #include <stdlib.h> #define name_to_str(name)(#name) int main() { in ...
- timer--计时器
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Unity3d 引擎原理详细介绍
体系结构 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则. Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,用于 ...
- C#可扩展编程之MEF学习
MEF系列文章: C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo C#可扩展编程之MEF学习笔记(二):MEF的导出(Export)和导入(Import) C#可扩展编程之MEF学习 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十三)之附加功能-自定义皮肤
前言 本篇要讲的算是一个layim代码功能扩充.在原来的laim中已经有自带的换肤功能,而且在skin配置中,你可以添加自己想要的皮肤图片路径.这些内容在接下来都不会涉及,本篇要讲的是自定义皮肤功能, ...
- Spring MVC 4.2 增加 CORS 支持 Cross-Origin
基于XML的配置: <mvc:cors> <mvc:mapping path="/api/**" allowed-origins="http://dom ...
- 如何有效的使用C#读取文件
如何有效的使用C#读取文件 你平时是怎么读取文件的?使用流读取.是的没错,C#给我们提供了非常强大的类库(又一次吹捧了.NET一番),里面封装了几乎所有我们可以想到的和我们没有想到的类,流是读取文件 ...
- Windows下使用scapy+python2.7实现对pcap文件的读写操作
scapy在linux环境中对pcap文件进行操作非常方便,但在windows下,特别是在python2.7环境下却会碰到各种各样的依赖包无法使用的问题,最明显的可能就属dnet和pcap的pytho ...
- 电源开关IC
RT9701:IO控制的电源开关.宽输入电压(2.2~6v),1.1A的连续输出电流.用在USB开关电压,热插拔和电池电池充电器的场合应用