Python中内置函数
python提供了很多的内置函数,这些内置的函数在某些情况下,可以起到很大的作用,而不需要专门去
写函数实现XX功能,直接使用内置函数就可以实现,下面分别来学习内置函数的使用和案例代码。
abs(),bytes(),chr(),ord(),eval(),compile(),dir(),help(),divmod(),isinstance(),filter(),map(),
globals(),max(),min(),sum(),type(),len(),range(),input(),tuple()
1、abs(),该内置函数的作用是绝对值,不管数字是负数还是正数,结果都是正数,见实现的代码
截图:
2、bytes(),把字符串转为bytes,见设置一个原始字符串,转为bytes,并且编码是utf-8,下面来见
string与bytes之间的转换方法,见代码:
1
2
3
4
5
6
|
s = 'python语言' print ( '未转之前:' , type (s)) a = bytes(s,encoding = 'utf-8' ) print ( '字符串转为bytes后:' ,a, type (a)) b = str (a,encoding = 'utf-8' ) print ( 'bytes转为字符串后:' ,b, type (b)) |
见执行后的结果,见截图:
3、chr()把数字转换为字母,见截图:
4、ord()刚好与chr()相反,把字母转换为数字,见截图:
使用chr()与ord()可以实现随机的验证码,见实现的代码:
1
2
3
4
5
6
7
|
import random li = [] for i in range ( 6 ): r = random.randrange( 65 , 91 ) li.append( chr (r)) print (''.join(li)) |
5、eval()字符串转换成表达式并获取结果,见实现的过程以及结果:
6、compile()是把字符串编译成python代码,再由函数eval(),exec()执行,见实现的过程以及代码:
7、dir()可以快速的查看对象提供了那些方法,如查看列表的方法,见截图:
8、help()顾名思义查看帮助,如查看列表的备帮助,见截图:
9、divmod()是整除求余,如97除以10,整除是9,余数是7,见实现的结果:
10、isinstance()判断对象是否是某个类的实例,见实现的代码和实现的结果:
11、filter()函数是过滤,如从列表中过滤出xx来,见实现的代码:
如上函数是过滤出列表中大于2的值,过滤后的列表li为3,4,5,6,7,8,9,10,使用filter实现的代码为:
1
2
3
4
5
6
7
|
li = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] def f1(a): if a> 2 : return True res = filter (f1,li) print ( list (res)) |
结合匿名函数lambda函数后,实现的过程更加简单,见实现的代码:
1
2
3
4
|
li = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] res = filter ( lambda a:a> 2 ,li) print ( list (res)) |
12、map()函数可以实现迭代的增加,如有列表[0,1,2,3,4,5,6,7,8,9],都加10,实现的代码为:
1
2
3
4
5
6
7
8
|
li = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] def f1(): result = [] for i in li: result.append(i + 10 ) return result print (f1()) |
使用map函数,实现的代码为:
1
2
3
4
5
6
|
li = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] def f1(a): return a + 10 result = map (f1,li) print ( list (result)) |
结合lambda函数,实现的代码更加精简,见实现的代码:
1
2
3
4
|
li = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] result = map ( lambda a:a + 10 ,li) print ( list (result)) |
13、globals()代表所有的全局变量,locbals()代表所有的局部变量,见实现的代码和实际输出结果:
14、max()获取最大值,min()获取最小值,sum()获取和,见执行的结果截图:
15、type()查看类型,见结果:
16、len()方法
Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
len()方法语法:
len( s )
参数:s -- 对象。
返回值:返回对象长度
以下实例展示了 len() 的使用方法:
str = "runoob" len(str) # 字符串长度 # 6 l = [1,2,3,4,5] len(l) # 列表元素个数 # 5
17、range()
python range() 函数可创建一个整数列表,一般用在 for 循环中。
函数语法
range(start, stop[, step])
参数说明:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
实例
>>>range(10) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) # 步长为 5 [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) # 步长为 3 [0, 3, 6, 9] >>> range(0, -10, -1) # 负数 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []
以下是 range 在 for 中的使用,循环出runoob 的每个字母:
>>>x = 'runoob' >>> for i in range(len(x)) : ... print(x[i]) ... r u n o o b >>>
18、input()
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
注意:python3 里 input() 默认接收到的是 str 类型。
函数语法
input([prompt])
参数说明:
- prompt: 提示信息
实例
Python3.x: input()
>>>a = input("input:") input:123 # 输入整数 >>> type(a) <class 'str'> # 字符串 >>> a = input("input:") input:runoob # 正确,字符串表达式 >>> type(a) <class 'str'> # 字符串