Python——内置函数(待完善)
内置函数(68个),分为六大类
思维导图:
1. 迭代器/生成器相关(3个)
(1)range
for i in range(10): #0-9 print(i) for i in range(1,11): #1-10 print(i) for i in range(1,11,2): #1,3,5,7,9 print(i)
(2)next
(3)iter
2. 基础数据类型相关(38个)
(1)和数字相关(14个)
<1>数据类型(4个)
bool
int
float
小数:有限循环小数,无限循环小数,无限不循环小数
浮点数:有限循环小数,无限循环小数
complex
<2>进制转换(3个)
bin
oct
hex
<3>数学运算(7个)
abs
# 绝对值 print(abs(5)) #5 print(abs(-5)) #5
divmod
#除余运算 print(divmod(7,2)) #(3,1) print(divmod(9,2)) #(4,1)
round
# 精确值 print(round(3.14159,2)) #3.14
pow
# 幂运算 print(pow(2,3)) print(pow(3,2)) # 幂运算之后取余 print(pow(2,3,3)) print(pow(3,2,1))
sum
#求和 ret = sum([1,2,3,6,4,5]) print(ret) #21 ret = sum([1,2,3,6,4,5],10) print(ret) #31
min
#最小值 print(min([1,2,3,4])) #1 print(min(1,2,3,4)) #1 print(min(-1,2,3,-4)) #-4 print(min(1,-2,3,-4,key = abs)) #1
max
# 最大值 print(max([1,2,3,4])) #4 print(max(1,2,3,4)) #4 print(max(-1,2,3,-4)) #3 print(max(1,-2,3,-4,key = abs)) #-4
(2)和数据结构相关(24个)
<1>序列(13个)
a. 列表和元祖
list
tuple
b. 相关内置函数
reversed
# reversed() 保留原列表,返回一个反向的迭代器 l = [1,2,3,4,5] l2 = reversed(l) print(l2) #<list_reverseiterator object at 0x00000212B09287F0>
slice
c. 字符串
str
format
bytes
# bytes() 转换成bytes类型 # gbk-->utf-8:先对gbk进行解码decode('gbk')成unicode,再编码encode('utf-8')成utf-8 print(bytes('你好',encoding='GBK')) #b'\xc4\xe3\xba\xc3' #Unicode转换成GBK的bytes print(bytes('你好',encoding='GBK').decode('GBK')) #你好 print(bytes('你好',encoding='utf-8')) #b'\xe4\xbd\xa0\xe5\xa5\xbd' #Unicode转换成utf-8的bytes # 网络编程只能传二进制 # 文件存取、照片和视频以二进制存储 # html网页爬取到的也是编码
bytearray
memoryview
ord
chr
ascii
repr
# repr 让变量原封不动输出 name = 'egg' print('你好%s'%name) #你好egg : %s_str print('你好%r'%name) #你好'egg' :%r_repr
<2>数据集合(3个)
a. 字典
dic
b. 集合
set
frozenset
<3>相关内置函数(8个)
len
enumerate
all
any
zip
# zip() 拉链方法 l = [1,2,3] l2 = ['a','b','c','d'] l3 = ('*','**',[1,2,3]) d = {'k1':1,'k2':2} print(zip(l,l2)) #<zip object at 0x000001708A005F48> for i in zip(l,l2): print(i) #(1, 'a') (2, 'b') (3, 'c') for i in zip(l,l2,l3): print(i) #(1, 'a', '*') (2, 'b', '**') for i in zip(l,l2,l3,d): print(i) #(3, 'c', [1, 2, 3]) (1, 'a', '*', 'k1') (2, 'b', '**', 'k2')
filter
判断奇偶
# filter() 过滤器 def is_odd(x): return x % 2 == 1 ret = filter(is_odd,[1,4,6,7,9,12,17]) print(ret) for i in ret: print(i) #1 7 9 17 # 下面的效果同上 ret2 = [i for i in [1,4,6,7,9,12,17] if i % 2 == 1] print(ret2) #[1, 7, 9, 17]
过滤字符串
def is_str(s): if type(s) == str: return True ret = filter(is_str,[1,'hello','xc',6,5,'cx']) print(ret) #<filter object at 0x00000274A0F440F0> for i in ret: print(i) #hello xc cx
删除列表中的空元素 filter使用
def is_not_empty(s): return s and str(s).strip() ret = filter(is_not_empty,[1,'',[],'hello','xc',None,6,5,'cx']) print(ret) for i in ret: print(i)
过滤出1-100中平方根是整数的数
from math import sqrt # print(sqrt(64)) # 8.0 def pfg(x): res = sqrt(x) return res%1 ==0 ret = filter(pfg,range(1,101)) print(ret) for i in ret: print(i)
map
# filter 执行之后的结果集合 <= 执行之前的个数 —— 只筛选不改变值 # map 执行之后的结果集合 <= 执行之前的个数 —— 值可能发生变化 # map() ret = map(abs,[1,+4,6,-8]) for i in ret: print(i) #1 4 6 8
sorted
# sorted()——不改变原列表,生成新的列表,占用内存 l = [1,-4,6,-10] l.sort(key=abs) #sort在原列表的基础上排序 print(l) #[1, -4, 6, -10] l1 = [1,-4,6,-10] print(sorted(l)) #[-10, -4, 1, 6] print(l1) #[1, -4, 6, -10] print(sorted(l1,reverse = False)) #[-10, -4, 1, 6] print(sorted(l1,key = abs,reverse = True)) #[-10, 6, -4, 1] print(l1) #[1, -4, 6, -10]
列表按照每一个元素的len排序
l = [' ',[1,2],'cv','hello world'] r = sorted(l,key = len) print(r) #[[1, 2], 'cv', ' ', 'hello world']
3. 作用域相关(12个)
4. 面向对象相关(9个)
5. 反射相关(4个)
6. 其他(12个)
(1)字符串类型代码的执行(3个)
<1> eval
<2> exec
# exec和eval都可以执行字符串类型的代码 # 区别: # eval:有返回值 # 只能用在明确知道要执行的代码是什么 # 适合处理有结果的简单计算 # exec:无返回值 # 适合处理简单的流程控制(如下打印***) code = '''for i in range(10): print(i*'*') ''' exec(code) exec('print(123)') #123 eval('print(123)') #123 print(exec('1+2+3+4')) #None,没有返回值 print(eval('1+2+3+4')) #10,有返回值
<3> compile
(2)输入输出(2个)
<1> input
ret = input('请输入:') print(ret)
<2> print
print('我们的祖国是花园',end='') #默认end='\n' print('我们的祖国是花园',end='') #我们的祖国是花园我们的祖国是花园 print(1,2,3,4,5,sep=' * ') #1 * 2 * 3 * 4 * 5——sep='多个值中间的分隔符' f = open('file','w') print('aaaa',file=f) #不打印到屏幕,写入文件 f.close
(3)内存相关(2个)
<1> hash
# 对于相同可以哈希的数据的hash值,在一次执行过程中总是不变的 # 字典查询速度快:key:value-------->通过hash(key)-->找到value print(hash(12345)) #12345 print(hash('gsgvsbsu')) #-8492621632380807 print(hash(('1','aaa'))) #6824233723365785542 print(hash([])) #unhashable
<2> id
(4)文件操作相关(1个)
open
f = open('1.txt') #打开文件 print(f.writable()) #False——是否可写 print(f.readable()) #True——是否可读
(5)模块相关(1个)
import
import time print(time.time()) #1538054908.6478863 time = __import__('time') print(time.time()) #1538054908.6478863
(6)帮助(1个)
help
(7)调用相关(1个)
callable
(8)查看内置属性(1个)
dir
# dir——查看一个变量拥有的方法 print(dir([])) print(dir(1))
运行结果:
长得丑就应该多读书。我爱学习,只爱学习,最爱学习!