内置函数:
内置函数是指内置到python解释器中的函数
以下是Python3版本所有的内置函数:
1. abs() 获取绝对值
示例:
1
2
3
|
print
(
abs
(
-
1
))
print
(
abs
(
0
))
print
(
abs
(
-
10
))
|
其结果是:
1
2
3
|
1
0
10
|
2. all() 接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False
示例:
1
2
3
|
print
(
all
(""))
print
(
all
((
1
,
' '
,
2
,
None
)))
#输入一个元组,挨个从元组(1,' ',2,None)中取值,当传入none的话,返回false,故最后结果是false
print
(
all
([
1
,
3
,
6
,
8
]))
|
其结果是:
1
2
3
|
True
False
True
|
3. any() (与all有点相反)接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False
示例:
1
2
3
|
print
(
any
(""))
#传入空的字符串
print
(
any
((
1
,
' '
,
2
,
None
)))
#输入一个元组,挨个从元组(1,' ',2,None)中取值,有一个为真,即全部为真
print
(
any
([
0
,
1
]))
|
其结果是:
1
2
3
|
False
True
True
|
4. bin(), 将十进制转换成二进制
示例:
1
|
print
(
bin
(
3
))
|
执行结果是:
1
|
0b11
|
5. oct(), 将十进制转换成8进制
示例:
1
|
print
(
oct
(
8
))
|
执行结果是:
1
|
0o10
|
6. hex() 将十进制转换成16进制
示例:
1
|
print
(
hex
(
8
))
|
执行结果是:
1
|
0x8
|
7.bool() 测试一个对象是True还是False.
示例:
1
2
3
|
print
(
bool
(
0
))
print
(
bool
(
None
))
print
(
bool
(''))
|
执行结果是:
1
2
3
|
False
False
False
|
8.bytes() 将一个字符串转换成字节类型
示例:
1
|
print
(bytes(
"hello"
,encoding
=
"utf-8"
))
|
其执行结果是:
1
|
b
'hello'
|
9. str() 将字符类型/数值类型等转换为字符串类型
示例:
1
2
|
print
(
str
(
1
))
print
(
str
(
8
))
|
其执行结果是:
1
2
|
1
8
|
10. challable() 判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例
示例:
1
2
3
4
|
print
(
callable
(
sum
))
print
(
callable
(
max
))
print
(
callable
([
1
,
2
,
3
]))
print
(
callable
({
"a"
:
1
}))
|
其执行结果是:
1
2
3
4
|
True
True
False
False
|
11.chr(),查看十进制数对应的ASCII字符
示例:
1
2
|
print
(
chr
(
67
))
print
(
chr
(
68
))
|
执行结果是:
1
2
|
C
D
|
12. ord() 查看某个ASCII对应的十进制数
示例:
1
2
|
print
(
ord
(
"A"
))
print
(
ord
(
"g"
))
|
执行结果是:
1
2
|
65
103
|
13.real() 输出实数
示例:
1
2
3
|
x
=
2
-
4j
print
(x.real)
#输出实数
print
(x.imag)
#输出虚数
|
执行结果是:
1
2
|
2.0
-
4.0
|
14.imag()输出复数
示例:
1
2
3
|
x
=
2
-
4j
print
(x.real)
#输出实数
print
(x.imag)
#输出虚数
|
执行结果是:
1
2
|
2.0
-
4.0
|
15. dir() 不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表,以及可调用的方法
示例:
1
2
3
|
print
(
dir
())
print
(
dir
(
sum
))
#查看sum对象下有什么可调用的方法
print
(
help
(
sum
))
|
执行结果是:
1
2
3
4
5
6
7
8
9
10
11
12
|
[
'__annotations__'
,
'__builtins__'
,
'__cached__'
,
'__doc__'
,
'__file__'
,
'__loader__'
,
'__name__'
,
'__package__'
,
'__spec__'
]
[
'__call__'
,
'__class__'
,
'__delattr__'
,
'__dir__'
,
'__doc__'
,
'__eq__'
,
'__format__'
,
'__ge__'
,
'__getattribute__'
,
'__gt__'
,
'__hash__'
,
'__init__'
,
'__init_subclass__'
,
'__le__'
,
'__lt__'
,
'__module__'
,
'__name__'
,
'__ne__'
,
'__new__'
,
'__qualname__'
,
'__reduce__'
,
'__reduce_ex__'
,
'__repr__'
,
'__self__'
,
'__setattr__'
,
'__sizeof__'
,
'__str__'
,
'__subclasshook__'
,
'__text_signature__'
]
Help
on built
-
in
function
sum
in
module builtins:
sum
(iterable, start
=
0
,
/
)
Return the
sum
of a
'start'
value (default:
0
) plus an iterable of numbers
When the iterable
is
empty,
return
the start value.
This function
is
intended specifically
for
use with numeric values
and
may
reject non
-
numeric types.
None
|
16.divmod() 分别取商和余数
示例:
1
|
print
(
divmod
(
33
,
20
))
#取33除以20的商和余数,并以元组的方式呈现
|
执行结果是:
1
|
(
1
,
13
)
|
17. enumerate() (输出索引和值)返回一个可以枚举的对象,该对象的next()方法将返回一个元组
示例:
1
2
3
4
|
for
i
in
enumerate
([
'a'
,
'b'
,
'c'
,
'd'
]):
print
(i)
for
i
in
enumerate
({
'x'
:
1
,
'y'
:
2
}):
print
(i)
|
执行结果是:
1
2
3
4
5
6
|
(
0
,
'a'
)
(
1
,
'b'
)
(
2
,
'c'
)
(
3
,
'd'
)
(
0
,
'x'
)
(
1
,
'y'
)
|
18.eval() 将字符串中的表达式提取出来并运行
示例:
1
|
print
(
eval
(
"1+2+5*4/2"
))
|
执行结果是:
1
|
13.0
|
19. filter() 过滤器,在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据
示例:
1
2
3
4
5
6
7
8
|
name_l
=
[{
"name"
:
"tom"
,
"age"
:
222
},
{
"name"
:
"alex"
,
"age"
:
333
},
{
"name"
:
"jack"
,
"age"
:
133
},
{
"name"
:
"sun"
,
"age"
:
363
},
]
res
=
filter
(
lambda
d:d[
"age"
]>
200
,name_l)
for
i
in
res:
print
(i)
|
执行结果是:
1
2
3
|
{
'name'
:
'tom'
,
'age'
:
222
}
{
'name'
:
'alex'
,
'age'
:
333
}
{
'name'
:
'sun'
,
'age'
:
363
}
|
20.float() 将一个字符串或整数转换为浮点数
示例:
1
|
print
(
float
(
"123456"
))
|
执行结果是:
1
|
123456.0
|
21.format() 格式化输出字符串
22. frozenset() 不可变集合
示例:
1
2
3
|
frozenset
#不可变集合
f
=
frozenset
({
1
,
2
,
3
,
4
})
print
(
type
(f))
|
执行结果是:
1
2
|
<
class
'frozenset'
=
"">
<
/
class
>
|
23.set() 集合
示例:
1
2
3
4
5
|
# set
s
=
{
1
,
2
,
3
,
4
,
4
}
print
(s)
s.add(
5
)
print
(s)
|
执行结果是:
1
2
|
{
1
,
2
,
3
,
4
}
{
1
,
2
,
3
,
4
,
5
}
|
set() 集合和 frozenset() 不可变集合的区别是:
set和frozenset最本质的区别是前者是可变的,后者是不可变的。当集合对象会被改变时(例如删除,添加元素),只能使用set
24.globals() 返回一个描述当前全局变量的字典
示例:
1
|
print
(
globals
())
|
执行结果是:
1
2
|
{
'__name__'
:
'__main__'
,
'__doc__'
:
None
,
'__package__'
:
None
,
'__loader__'
: <_frozen_importlib_external.SourceFileLoader
object
at
0x0000000002169710
>,
'__spec__'
:
None
,
'__annotations__'
: {},
'__builtins__'
: <module
'builtins'
=
"
" (built-in)="
">,
'__file__'
:
'C:/Users/Administrator/PycharmProjects/py_fullstack_s4/day25/内置函数.py'
,
'__cached__'
:
None
}
<
/
module>
|
25.hash() 哈希值,是一种算法,用来校验数据的(hash不能用逆推,不能根据hash值来反推结果)
示例:
1
2
3
4
|
s
=
'hello'
print
(
hash
(s))
s
=
'h'
print
(
hash
(s))
|
执行结果是:
1
2
|
5785457468649946891
3261640564835463479
|
如果两个值相同,则hash值也是一样的
示例:
1
2
3
4
|
a
=
"abcdddd"
b
=
"abcdddd"
print
(
hash
(a))
print
(
hash
(b))
|
执行结果是:
1
2
|
-
6798321890605724422
-
6798321890605724422
|
26. id() 返回对象的内存地址
示例:
1
2
3
4
5
6
7
8
9
10
11
|
print
(
id
(
"xuyuanyuan"
))
a
=
1
b
=
2
print
(
id
(a))
print
(
id
(b))
print
(a
is
b)
x
=
'a'
y
=
'a'
print
(
id
(x))
print
(
id
(y))
print
(x
is
y)
|
执行结果是:
1
2
3
4
5
6
7
|
32180912
1428464736
1428464768
False
5650000
5650000
True
|
27.input() 获取用户输入内容
示例:
1
|
a
=
input
(
"请输入您的密码:"
)
|
执行结果:
1
|
请输入您的密码:
|
28.int() 将一个字符串或数值转换为一个普通整数
示例:
1
|
print
(
int
(
1
))
|
执行结果是:
1
|
1
|
29.isinstance() 检查对象是否是类的对象,返回True或False
示例:
1
2
3
|
num
=
1
#num=int(1)
print
(
type
(num))
#查看num的类型
print
(
isinstance
(num,
int
))
#判断num是否为int类型
|
执行结果是:
1
2
3
|
<
class
'int'
=
"">
True
<
/
class
>
|
30.iter() 可用来判断是否是可迭代对象
示例:
1
2
3
4
5
6
|
l
=
[
1
,
2
,
3
,
4
]
i
=
iter
(l)
print
(
next
(i))
print
(
next
(i))
print
(
next
(i))
print
(
next
(i))
|
执行结果是:
1
2
3
4
|
1
2
3
4
|
31.len() 返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)
示例:
1
2
|
l
=
[
1
,
2
,
3
,
4
]
print
(
len
(l))
|
执行结果是:
1
|
4
|
32. list() 转换成列表
示例:
1
2
|
l
=
{
1
,
2
,
3
,
4
,
5
,
12
}
print
(
list
(l))
|
执行结果是:
1
|
[
1
,
2
,
3
,
4
,
5
,
12
]
|
33.locals() 打印当前可用的局部变量的字典
示例:
1
|
print
(
locals
())
|
执行结果是:
1
2
|
{
'__name__'
:
'__main__'
,
'__doc__'
:
None
,
'__package__'
:
None
,
'__loader__'
: <_frozen_importlib_external.SourceFileLoader
object
at
0x0000000001DA9710
>,
'__spec__'
:
None
,
'__annotations__'
: {},
'__builtins__'
: <module
'builtins'
=
"
" (built-in)="
">,
'__file__'
:
'C:/Users/Administrator/PycharmProjects/py_fullstack_s4/day25/内置函数.py'
,
'__cached__'
:
None
,
'l'
: [
1
,
2
,
3
,
4
]}
<
/
module>
|
34. map() 合并映射
示例:
1
2
3
4
5
6
7
8
|
#map# 合并映射
l
=
[
1
,
2
,
3
,
4
,
5
]
# 方法一:
x
=
[i
*
*
2
for
i
in
l]
#求平列表里的平方值,并以列表的方式呈现
print
(x)
# 方法二:
res
=
map
(
lambda
x:x
*
*
2
,l)
print
(
list
(res))
|
执行结果是:
1
2
|
[
1
,
4
,
9
,
16
,
25
]
[
1
,
4
,
9
,
16
,
25
]
|
35.max() 返回给定元素里最大值
1 max(iterable [,args...][, key]) 2 如果只提供iterable参数(可迭代),函数返回可遍历对象(如:字符串,元组或列表)中最大的非空元素。 3 如果提供多个参数,那么返回值最大的那个参数。 4 可选参数key是单参数的排序函数。 5 如果提供key参数,必须是以命名的形式,如:max(a, b, c, key = fun)
示例1:
1
2
|
print
(
max
(
1
,
2
,
3
,
4
,
10
,
3
))
print
(
min
(
1
,
2
,
3
,
4
,
10
,
3
))
|
执行结果是:
1
2
|
10
1
|
示例2:
1
2
3
4
5
6
7
8
9
10
|
salaries
=
{
"egon"
:
20
,
"alex"
:
40
,
"wupeiqi"
:
30
,
"yuanhao"
:
10
}
def
get_value(k):
return
salaries[k]
print
(
max
(salaries,key
=
get_value))
#取工资最高的人的名字
print
(
min
(salaries,key
=
get_value))
#取工资最低的人的名字
print
(
max
(salaries,key
=
lambda
k:salaries[k]))
#取工资最高的人的名字
print
(
min
(salaries,key
=
lambda
k:salaries[k]))
#取工资最低的人的名字
|
执行结果是:
1
2
3
4
|
alex
yuanhao
alex
yuanhao
|
36. min() 返回给定元素里最小值
1 min(iterable [,args...][, key]) 2 如果只提供iterable参数,函数返回可遍历对象(如:字符串,元组或列表)中最小的非空元素。 3 如果提供多个参数,那么返回值最小的那个参数。 4 可选参数key是单参数的排序函数。 5 如果提供key参数,必须是以命名的形式,如:max(a, b, c, key = fun)
示例1:
1
2
|
print
(
max
(
1
,
2
,
3
,
4
,
10
,
3
))
print
(
min
(
1
,
2
,
3
,
4
,
10
,
3
))
|
执行结果是:
1
2
|
10
1
|
示例2:
1
2
3
4
5
6
7
8
9
10
|
salaries
=
{
"egon"
:
20
,
"alex"
:
40
,
"wupeiqi"
:
30
,
"yuanhao"
:
10
}
def
get_value(k):
return
salaries[k]
print
(
max
(salaries,key
=
get_value))
#取工资最高的人的名字
print
(
min
(salaries,key
=
get_value))
#取工资最低的人的名字
print
(
max
(salaries,key
=
lambda
k:salaries[k]))
#取工资最高的人的名字
print
(
min
(salaries,key
=
lambda
k:salaries[k]))
#取工资最低的人的名字
|
执行结果:
1
2
3
4
|
alex
yuanhao
alex
yuanhao
|
37.next() 返回促进运行
示例:
1
2
3
4
5
|
l
=
[
1
,
2
,
3
,
4
,
5
]
i
=
iter
(l)
print
(
next
(i))
print
(
next
(i))
print
(
next
(i))
|
执行结果是:
1
2
3
|
1
2
3
|
38.open() 打开文件
示例:
1
2
3
|
with
open
(
"a.txt"
,) as f:
line
=
f.readlines()
print
(line)
|
执行结果是:
1
|
[
'nnnajjab xubs\n'
,
'bxbsbeux'
]
|
39.pow() 先求次方再取余
示例:
1
|
print
(
pow
(
3
,
3
,
4
))
#求3的3次方,再除以4,得到的余数
|
执行结果是:
1
|
3
|
40.range() 根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数
示例:
1
2
|
for
i
in
range
(
1
,
5
):
print
(i)
|
执行结果:
1
2
3
4
|
1
2
3
4
|
41. reversed() 反转,逆序对象
示例:
1
2
|
l
=
[
1
,
30
,
3
,
45
,
9
,
19
]
print
(
list
(
reversed
(l)))
|
执行结果:
1
|
[
19
,
9
,
45
,
3
,
30
,
1
]
|
42.slice() 切片功能
示例:
1
2
3
|
l
=
[
1
,
30
,
3
,
45
,
9
,
19
]
s
=
slice
(
1
,
3
)
print
(l[s])
|
执行结果是:
1
|
[
30
,
3
]
|
43.sorted() 排序
示例:
salaries={"egon":20, "alex":40, "wupeiqi":30, "yuanhao":10}# sorted#排序(可升降排序)print(sorted(salaries,key=lambda a:salaries[a]))#将工资从小到大排序
执行结果:
1
|
[
'yuanhao'
,
'egon'
,
'wupeiqi'
,
'alex'
]
|
44.str() 转换成字符串
示例:
1
2
|
l
=
[
1
,
2
,
3
,
4
]
print
(
type
(
str
(l)))
|
执行结果是:
1
2
|
<
class
'str'
=
"">
<
/
class
>
|
45.sum() 求和
示例:
1
2
|
l
=
[
1
,
2
,
3
,
4
]
print
(
sum
(l))
|
执行结果是:
1
|
|
46.vars() 取的结果为字典
示例:
1
2
|
print
(
vars
())
print
(
vars
()
is
locals
())
|
执行结果是:
1
2
3
|
{
'__name__'
:
'__main__'
,
'__doc__'
:
None
,
'__package__'
:
None
,
'__loader__'
: <_frozen_importlib_external.SourceFileLoader
object
at
0x0000000001DB9710
>,
'__spec__'
:
None
,
'__annotations__'
: {},
'__builtins__'
: <module
'builtins'
=
"
" (built-in)="
">,
'__file__'
:
'C:/Users/Administrator/PycharmProjects/py_fullstack_s4/day25/内置函数.py'
,
'__cached__'
:
None
}
True
<
/
module>
|
47.zip() 将对象逐一配对,以元组的方式
示例:
1
2
3
4
5
|
# zip#拉链,以元祖的方式
s
=
"hello"
l
=
[
1
,
2
,
3
,
4
,
5
]
for
i
in
zip
(s,l):
print
(i)
|
执行结果是:
1
2
3
4
5
|
(
'h'
,
1
)
(
'e'
,
2
)
(
'l'
,
3
)
(
'l'
,
4
)
(
'o'
,
5
)
|
48.__import__()
示例:
1
2
3
4
|
import
time
print
(time)
m
=
__import__
(
"time"
)
#可以传参
print
(m)
|
执行结果:
1
2
3
|
<module
'time'
=
"
" (built-in)="
">
<module
'time'
=
"
" (built-in)="
">
<
/
module><
/
module>
|