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'> # 字符串