今天来介绍一下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基础(七)内置函数的更多相关文章

  1. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  2. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  3. 第六篇:python基础_6 内置函数与常用模块(一)

    本篇内容 内置函数 匿名函数 re模块 time模块 random模块 os模块 sys模块 json与pickle模块 shelve模块 一. 内置函数 1.定义 内置函数又被称为工厂函数. 2.常 ...

  4. python基础(15):内置函数(一)

    1. 内置函数 什么是内置函数? 就是python给你提供的,拿来直接⽤的函数,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68个内置函数.他们就是pyth ...

  5. python基础(内置函数+文件操作+lambda)

    一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...

  6. Python基础:内置函数

    本文基于Python 3.6.5的标准库文档编写,罗列了英文文档中介绍的所有内建函数,并对其用法进行了简要介绍. 下图来自Python官网:展示了所有的内置函数,共计68个(14*4+12),大家可以 ...

  7. Python基础编程 内置函数

    内置函数 内置函数(一定记住并且精通) print()屏幕输出 int():pass str():pass bool():pass set(): pass list() 将一个可迭代对象转换成列表 t ...

  8. 学习PYTHON之路, DAY 4 - PYTHON 基础 4 (内置函数)

    注:查看详细请看https://docs.python.org/3/library/functions.html#next 一 all(), any() False: 0, Noe, '', [], ...

  9. Python基础_内置函数

        Built-in Functions     abs() delattr() hash() memoryview() set() all() dict() help() min() setat ...

  10. python基础(16):内置函数(二)

    1. lamda匿名函数 为了解决⼀些简单的需求⽽设计的⼀句话函数 # 计算n的n次⽅ def func(n): return n**n print(func(10)) f = lambda n: n ...

随机推荐

  1. 2016HUAS_ACM暑假集训2G - Who's in the Middle

    这个题真的没什么好说的.一个排序就能解决的问题.唯一感到不爽的是这道题不是0msAC的,希望各位大神能够给我点指导. 头文件#include<algorithm>,注意一下排序函数的用法就 ...

  2. (转)The AlphaGo Replication Wiki

    The AlphaGo Replication Wiki 摘自:https://github.com/Rochester-NRT/RocAlphaGo/wiki/01.-Home Contents : ...

  3. windows多线程相关

    1.多线程同步的方法 a)entercirticalsection leaveciriticalsection b)Mutex互斥对象 waitforsingleobject releasemutex ...

  4. 2、C#入门第2课

    1.XML文件读取 XmlDocument xml; string path = "F:\\C#\\功2016.xml"; if (System.IO.File.Exists(pa ...

  5. 1、C#入门第一课

    C# 读作C Sharp,所以程序文件的扩展名为.cs 新建项目-窗体应用程序 所谓的Visual C#就是指的可视化编程,主要在设计窗口布置好自己的控件(一些具有一定功能的小部件,例如如可以点击的按 ...

  6. .NET垃圾回收:非托管资源,IDispose和析构函数的结合

    http://blog.jobbole.com/85436/ 原文出处: 田小计划   欢迎分享原创到伯乐头条 前面一篇文章介绍了垃圾回收的基本工作原理,垃圾回收器并不是可以管理内存中的所有资源.对于 ...

  7. PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)

    目录: 一.Thrift1和Thrift2的简要介绍 1) 写在前面 2) Thrift1和Thrift2的区别  二.Thrift0.9.2的安装 1) 安装依赖插件 2) Thrift0.9.2的 ...

  8. System.Windows.Media.Imageing.BItmapImage 这么用才不会占用文件

    // Read byte[] from png file BinaryReader binReader = new BinaryReader(File.Open(filepath, FileMode. ...

  9. Fatal error: Call to undefined function imagettftext()解决办法

    Fatal error: Call to undefined function imagettftext()解决办法   我的问题是php编译安装时指定了gd的目录,其实不用指定.就可以了 博客分类: ...

  10. Maven进价:Maven构建错误汇总

    问题:The method of type must override asuperclass? annotation:@Override的原因 办法:项目右键->build path-> ...