Python基础(七)内置函数
今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数:
下面就一一介绍一下内置函数的用法:
1、abs()
返回一个数值的绝对值,可以是整数或浮点数等。
1
2
3
4
5
6
|
print ( abs ( - 18 )) print ( abs ( 0.15 )) result: 18 0.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,返回True True print ( all ([ 'a' , 'b' ,' ',' d'])) #如果存在一个为空的元素,返回False False print ( all ([ 0 , 1 , 2 , 3 ])) #如果存在为0的元素,同样返回False False print ( all ([])) #空元组和空列表返回值为True True print ( 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,元素都不为空或0 True print ( any ([ 'a' , 'b' ,' ',' d'])) #列表list,存在一个为空的元素,返回True True print ( any ([ 0 , False ])) #如果元素全部是0,Fasle,返回Fasle False print ( any ([])) #any函数中空列表和空元组返回Fasle False print ( any (())) False |
4、bin()
将一个整数转换成一个二进制字符串,结果以'0b'为前缀。
1
2
3
4
5
6
7
8
|
print ( bin ( 32 )) #将十进制转换成二进制 print ( bin ( 64 )) print ( bin ( 128 )) result: 0b100000 0b1000000 0b10000000 |
5、hex()
将一个整数转换成一个小写的十六进制字符串,结果以'0x'为前缀。
1
2
3
4
5
6
|
print ( hex ( 255 )) #将整数转换成十六进制 print ( hex ( 192 )) result: 0xff 0xc0 |
6、oct()
将一个整数转换成八进制的字符串,结果以'0o'为前缀。
1
2
3
4
5
6
|
print ( oct ( 255 )) #将整数转换成八进制 print ( oct ( 192 )) result: 0o377 0o300 |
7、bool()
返回一个布尔值,True或False。
1
2
3
4
5
6
7
8
|
print ( bool ()) #bool值缺省为False False print ( bool ( 0 )) False print ( bool ( 'jack' )) True print ( 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:A a = 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:64 t = 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//2 print (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 True li = [ 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是有返回值的,条件成立返回True print ( 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:2 s = "你好" 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)) #最大值 33 print ( min (li)) #最小值 11 print ( sum (li)) #总和 66 |
21、pow(x,y)
pow()返回x的y次方的值。
1
2
3
4
|
print ( pow ( 2 , 3 )) #计算2的3次方 8 print ( pow ( 2 , 4 )) #计算2的4次方 16 |
22、round()
round() 方法返回浮点数x的四舍五入值。
1
2
3
4
|
print ( round ( 2.3 )) #四舍五入 2 print ( round ( 2.8 )) 3 |
23、random()
random方法返回随机生成的一个实数,它在[0,1]范围内。
1
2
3
4
|
import random print ( '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 ): 260 rangrange( 100 , 1000 , 2 ): 511 |
下面将上面三个函数放在一起,来做一道题,生成6位的随机数,其中包括大写字母,数字?
1
2
3
4
5
6
7
8
9
|
import random li = [] 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 ...
随机推荐
- 2016HUAS_ACM暑假集训2G - Who's in the Middle
这个题真的没什么好说的.一个排序就能解决的问题.唯一感到不爽的是这道题不是0msAC的,希望各位大神能够给我点指导. 头文件#include<algorithm>,注意一下排序函数的用法就 ...
- (转)The AlphaGo Replication Wiki
The AlphaGo Replication Wiki 摘自:https://github.com/Rochester-NRT/RocAlphaGo/wiki/01.-Home Contents : ...
- windows多线程相关
1.多线程同步的方法 a)entercirticalsection leaveciriticalsection b)Mutex互斥对象 waitforsingleobject releasemutex ...
- 2、C#入门第2课
1.XML文件读取 XmlDocument xml; string path = "F:\\C#\\功2016.xml"; if (System.IO.File.Exists(pa ...
- 1、C#入门第一课
C# 读作C Sharp,所以程序文件的扩展名为.cs 新建项目-窗体应用程序 所谓的Visual C#就是指的可视化编程,主要在设计窗口布置好自己的控件(一些具有一定功能的小部件,例如如可以点击的按 ...
- .NET垃圾回收:非托管资源,IDispose和析构函数的结合
http://blog.jobbole.com/85436/ 原文出处: 田小计划 欢迎分享原创到伯乐头条 前面一篇文章介绍了垃圾回收的基本工作原理,垃圾回收器并不是可以管理内存中的所有资源.对于 ...
- PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)
目录: 一.Thrift1和Thrift2的简要介绍 1) 写在前面 2) Thrift1和Thrift2的区别 二.Thrift0.9.2的安装 1) 安装依赖插件 2) Thrift0.9.2的 ...
- System.Windows.Media.Imageing.BItmapImage 这么用才不会占用文件
// Read byte[] from png file BinaryReader binReader = new BinaryReader(File.Open(filepath, FileMode. ...
- Fatal error: Call to undefined function imagettftext()解决办法
Fatal error: Call to undefined function imagettftext()解决办法 我的问题是php编译安装时指定了gd的目录,其实不用指定.就可以了 博客分类: ...
- Maven进价:Maven构建错误汇总
问题:The method of type must override asuperclass? annotation:@Override的原因 办法:项目右键->build path-> ...