Python的常用内置函数介绍
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.取绝对值(abs)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(abs(-9))
8
9
10 以上代码执行结果如下:
11
12 print(abs(-9))
二.布尔运算and运算(all)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(all([])) #传入的必须是一个列表
8 print(all([1,3,4]))
9 print(all([0,1,2]))
10 print(all([1,3,None]))
11 print(all([1,""]))
12 print(all(i for i in range(1,3))) #当然传入一个列表生成器也是可以的
13 print(all([i for i in range(1,3)])) #和上面一行是等效的,Python会自动帮助列表生成器补充“[]”
14
15
16 #以上代码执行结果如下:
17 True
18 True
19 False
20 False
21 False
22 True
23 True
三.布尔运算or运算(any)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(any(""))
8 print(any([0,"",()]))
9 print(any([0,1]))
10
11 #以上代码执行结果如下:
12 False
13 False
14 True
四.二进制转换(bin)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(bin(3))
8 print(bin(7))
9 print(bin(20))
10
11
12 以上代码执行结果如下:
13 0b11
14 0b111
15 0b10100
五.八进制转换(oct)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(oct(9))
8 print(oct(21))
9
10
11
12 #以上代码执行结果如下:
13 0o11
14 0o25
六.十六进制转换(hex)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(hex(7))
8 print(hex(14))
9 print(hex(12))
10 print(hex(21))
11
12
13
14 #以上代码执行结果如下:
15 0x7
16 0xe
17 0xc
18 0x15
七.布尔运算(bool)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(bool(0))
8 print(bool(None))
9 print(bool(""))
10 print(bool("yinzhengjie"))
11
12
13
14 #以上代码执行结果如下:
15 False
16 False
17 False
18 True
八.字符串转换(bytes)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 Name = "yinzhengjie"
9 print(Name)
10 print(bytes(Name,encoding="utf-8")) #将字符串"yinzhengjie"转换成“utf-8”编码的字节
11 print(Name.encode("utf-8")) #这种方式和上面的执行小伙一样
12
13
14
15 #以上代码执行结果如下:
16 yinzhengjie
17 b'yinzhengjie'
18 b'yinzhengjie'
九.判断函数是否可以被调用(callable)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 def PersonalIntroduction(Name):
9 print("Hello! My name is %s"% Name)
10
11 print(callable(PersonalIntroduction)) #判断“PersonalIntroduction”这个函数是否可以被调用
12
13
14
15 #以上代码执行结果如下:
16 True
十.将ASCII编码表正解(chr)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 print(chr(81)) #将ASCII编码表中的数字编号对应的字母打印出来
9 print(chr(66))
10
11
12 #以上代码执行结果如下:
13 Q
14 B
十一.将ASCII编码表反解(ord)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 print(ord("A")) #与chr内置函数相反,是将字母对应在ASCII编码表中的数字找出来。
9 print(ord("a"))
10
11
12 #以上代码执行结果如下:
13 65
14 97
十二.实数与虚数的判断(complex)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 X = 1 + 2j #等效于"X = complex(1 + 2j)"
9
10 Y = 3 - 2j
11 print(X.real) #实数
12 print(X.imag) #虚数
13
14 print(Y.real)
15 print(Y.imag)
16
17
18 #以上代码值解析结果如下:
19 1.0
20 2.0
21 3.0
22 -2.0
十三.查看一个对象拥有哪些可以调用的方法(dir)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 import os
9
10 print(dir(os)) #查看一个对象有哪些方法
11
12
13
14
15 #以上代码执行结果如下:
16 ['DirEntry', 'F_OK', 'MutableMapping', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT', 'O_RANDOM', 'O_RDONLY', 'O_RDWR', 'O_SEQUENTIAL', 'O_SHORT_LIVED', 'O_TEMPORARY', 'O_TEXT', 'O_TRUNC', 'O_WRONLY', 'P_DETACH', 'P_NOWAIT', 'P_NOWAITO', 'P_OVERLAY', 'P_WAIT', 'PathLike', 'R_OK', 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'W_OK', 'X_OK', '_Environ', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_execvpe', '_exists', '_exit', '_fspath', '_get_exports_list', '_putenv', '_unsetenv', '_wrap_close', 'abc', 'abort', 'access', 'altsep', 'chdir', 'chmod', 'close', 'closerange', 'cpu_count', 'curdir', 'defpath', 'device_encoding', 'devnull', 'dup', 'dup2', 'environ', 'errno', 'error', 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fdopen', 'fsdecode', 'fsencode', 'fspath', 'fstat', 'fsync', 'ftruncate', 'get_exec_path', 'get_handle_inheritable', 'get_inheritable', 'get_terminal_size', 'getcwd', 'getcwdb', 'getenv', 'getlogin', 'getpid', 'getppid', 'isatty', 'kill', 'linesep', 'link', 'listdir', 'lseek', 'lstat', 'makedirs', 'mkdir', 'name', 'open', 'pardir', 'path', 'pathsep', 'pipe', 'popen', 'putenv', 'read', 'readlink', 'remove', 'removedirs', 'rename', 'renames', 'replace', 'rmdir', 'scandir', 'sep', 'set_handle_inheritable', 'set_inheritable', 'spawnl', 'spawnle', 'spawnv', 'spawnve', 'st', 'startfile', 'stat', 'stat_float_times', 'stat_result', 'statvfs_result', 'strerror', 'supports_bytes_environ', 'supports_dir_fd', 'supports_effective_ids', 'supports_fd', 'supports_follow_symlinks', 'symlink', 'sys', 'system', 'terminal_size', 'times', 'times_result', 'truncate', 'umask', 'uname_result', 'unlink', 'urandom', 'utime', 'waitpid', 'walk', 'write']
十四.查看对象的帮助信息(help)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 def yzj():
9 "Add by yinzhengjie"
10 pass
11
12 print(help(yzj)) #查看函数的帮助信息
13
14
15
16
17 #以上代码执行结果如下:
18 Help on function yzj in module __main__:
19
20 yzj()
21 Add by yinzhengjie
22
23 None
十五.取商和余数(divmod(10,3))
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7
8 TotalCount = 10
9 PerCount = 3
10 res = divmod(TotalCount,PerCount) #可以用于分页的案例操作
11 if res[1] > 0:
12 page = res[0] + 1
13
14 print(page)
15
16
17 #以上代码执行结果如下:
18 4
十六.给可迭代对象添加序号(enumerate)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 array = ["yinzhengjie","18"]
8 for i in enumerate(array):
9 print(i)
10
11
12
13 #以上代码执行结果如下:
14 (0, 'yinzhengjie')
15 (1, '18')
十七.设置不可变集合(frozenset)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 s = frozenset({1,2,3}) #设置不可变集合
8 print(s)
9
10
11 s2 = set([100,200,300])
12 s2.add(400)
13 s2.pop()
14 print(s2)
15
16
17 #以上代码执行结果如下:
18 frozenset({1, 2, 3})
19 {100, 400, 300}
十八.全局变量(globals)与局部变量(locals)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(globals()) #查看全局变量;
8 print(locals()) #查看当前作用域的局部变量;
9 print(globals() is locals()) #由于改行代码在全局作用域写的,全局作用域的变量就是本地变量;
10
11
12
13 #以上代码执行结果如下:
14 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x006E65B0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/Code/pycharm/文件存放处/python学习笔记/DAY8/1.内置函数.py', '__cached__': None}
15 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x006E65B0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/Code/pycharm/文件存放处/python学习笔记/DAY8/1.内置函数.py', '__cached__': None}
16 True
十九.计算hash值
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 s1 = "yinzhengjie"
8 s2 = "yinzhengjie"
9
10 print(hash(s1))
11 print(hash(s2))
12
13
14
15 #以上代码执行结果如下:
16 -578215773
17 -578215773
二十.判断数据类型(isinstance)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 Name = "尹正杰"
8 print(type(Name))
9 print(isinstance(Name,str))
10
11
12
13 #以上代码执行结果如下:
14 <class 'str'>
15 True
二十一.取最大值(max)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(max([100,200,300])) #取最大值
8 print(max((3,5,7)))
9 print(
10 max(
11 i for i in range(10)
12 )
13 )
14
15
16 #以上代码执行结果如下:
17 300
18 7
19 9
二十二.算数运算(pow)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(pow(3,2)) #计算3的2次方的值
8 print(pow(3,2,2)) #计算3的2次方在于相除取余数
9
10
11
12
13 #以上代码执行结果如下:
14 9
15 1
二十三.range用法
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 for i in range(0,5):
8 print(i)
9
10 for i in range(0,5,2):
11 print(i)
12
13 for j in range(-5,0):
14 print(j)
15
16 for j in range(5,0,-1):
17 print(j)
18
19
20
21 #以上代码执行结果如下:
22 0
23 1
24 2
25 3
26 4
27 0
28 2
29 4
30 -5
31 -4
32 -3
33 -2
34 -1
35 5
36 4
37 3
38 2
39 1
二十四.列表反转(reversed)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 list_1 = ["a1","a2","a3","a4","a5","a6","a7","a8","a9"]
8 print(list_1[2:5:2])
9 print(list_1[:])
10 print(list_1[::2])
11 print(list_1[::-1])
12
13 print(list(reversed(list_1))) #将列表进行反转,和“print(list_1[::-1])”功能一样
14
15
16
17 #以上代码执行结果如下:
18 ['a3', 'a5']
19 ['a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9']
20 ['a1', 'a3', 'a5', 'a7', 'a9']
21 ['a9', 'a8', 'a7', 'a6', 'a5', 'a4', 'a3', 'a2', 'a1']
22 ['a9', 'a8', 'a7', 'a6', 'a5', 'a4', 'a3', 'a2', 'a1']
二十五.四舍五入运算(round)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 print(round(6.5568321,3)) #表示对“6.5568321”进行四舍五入保留三位小数点
8
9
10
11
12 #以上代码执行结果如下:
13 6.557
二十六.取切片操作(slice)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 l = ["a1","a2","a3","a4","a5","a6","a7","a8","a9"]
8 print(l[2:5:2])
9
10 x = slice(2,5,2)
11 print(l[x])
12
13
14
15 #以上代码执行结果如下:
16 ['a3', 'a5']
17 ['a3', 'a5']
二十七.计算int类型的之和(sum)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 s1 = (i for i in range(101))
8 s2 = [100,-200,300]
9 print(sum(s1)) #只能计算int类型的数字之和。
10 print(sum(s2))
11
12
13
14
15 #以上代码执行结果如下:
16 5050
17 200
二十八.拉链函数(zip)
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3 #@author :yinzhengjie
4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
5 #EMAIL:y1053419035@qq.com
6
7 s1 = "yinzhengjie"
8 s2 = "123456789"
9
10 for i in zip(s1,s2):
11 print(i)
12
13
14
15 #以上代码执行结果如下:
16 ('y', '1')
17 ('i', '2')
18 ('n', '3')
19 ('z', '4')
20 ('h', '5')
21 ('e', '6')
22 ('n', '7')
23 ('g', '8')
24 ('j', '9')