python 基础---内置函数
https://www.processon.com/view/link/5b61b3f0e4b067df59f5adc1
min max filter map sorted 可以和lambda合作,有key
内置函数
55个
带key的 max min filter map sorted
思维导图上红色和黄色方法必须会用
匿名函数
lambda 参数,参数2 : 返回值表达式
和五个特殊的内置函数可以结合使用
1 # print()
2 # input()
3 # len()
4 # type()
5 # open()
6 # tuple()
7 # list()
8 # int()
9 # bool()
10 # set()
11 # dir()
12 # id()
13 # str()
14
15
16 # print(locals()) #返回本地作用域中的所有名字
17 # print(globals()) #返回全局作用域中的所有名字
18 # global 变量
19 # nonlocal 变量
20
21 #迭代器.__next__()
22 # next(迭代器)
23 # 迭代器 = iter(可迭代的)
24 # 迭代器 = 可迭代的.__iter__()
25
26 # range(10)
27 # range(1,11)
28 # print('__next__' in dir(range(1,11,2)))
29
30 # dir 查看一个变量拥有的方法
31 # print(dir([]))
32 # print(dir(1))
33
34 # help
35 # help(str)
36
37 # 变量
38 # print(callable(print))
39 # a = 1
40 # print(callable(a))
41 # print(callable(globals))
42 # def func():pass
43 # print(callable(func))
44
45 import time
46 # t = __import__('time')
47 # print(t.time())
48
49 # 某个方法属于某个数据类型的变量,就用.调用
50 # 如果某个方法不依赖于任何数据类型,就直接调用 —— 内置函数 和 自定义函数
51
52 # f = open('1.复习.py')
53 # print(f.writable())
54 # print(f.readable())
55
56 #id
57 #hash - 对于相同可hash数据的hash值在一次程序的执行过程中总是不变的
58 # - 字典的寻址方式
59 # print(hash(12345))
60 # print(hash('hsgda不想你走,nklgkds'))
61 # print(hash(('1','aaa')))
62 # print(hash([]))
63
64 # ret = input('提示 : ')
65 # print(ret)
66
67 # print('我们的祖国是花园',end='') #指定输出的结束符
68 # print('我们的祖国是花园',end='')
69 # print(1,2,3,4,5,sep='|') #指定输出多个值之间的分隔符
70 # f = open('file','w')
71 # print('aaaa',file=f)
72 # f.close()
73
74 # import time
75 # for i in range(0,101,2):
76 # time.sleep(0.1)
77 # char_num = i//2
78 # per_str = '\r%s%% : %s\n' % (i, '*' * char_num) \
79 # if i == 100 else '\r%s%% : %s' % (i,'*'*char_num)
80 # print(per_str,end='', flush=True)
81 #progress Bar
82
83 # exec('print(123)')
84 # eval('print(123)')
85 # print(eval('1+2+3+4')) # 有返回值
86 # print(exec('1+2+3+4')) #没有返回值
87 # exec和eval都可以执行 字符串类型的代码
88 # eval有返回值 —— 有结果的简单计算
89 # exec没有返回值 —— 简单流程控制
90 # eval只能用在你明确知道你要执行的代码是什么
91
92 # code = '''for i in range(10):
93 # print(i*'*')
94 # '''
95 # exec(code)
96
97 # code1 = 'for i in range(0,10): print (i)'
98 # compile1 = compile(code1,'','exec')
99 # exec(compile1)
100
101 # code2 = '1 + 2 + 3 + 4'
102 # compile2 = compile(code2,'','eval')
103 # print(eval(compile2))
104
105 # code3 = 'name = input("please input your name:")'
106 # compile3 = compile(code3,'','single')
107 # exec(compile3) #执行时显示交互命令,提示输入
108 # print(name)
109 # name #执行后name变量有值
110 # "'pythoner'"
111
112
113 # 复数 —— complex
114 # 实数 : 有理数
115 # 无理数
116 # 虚数 :虚无缥缈的数
117 # 5 + 12j === 复合的数 === 复数
118 # 6 + 15j
119
120 # 浮点数(有限循环小数,无限循环小数) != 小数 :有限循环小数,无限循环小数,无限不循环小数
121 # 浮点数
122 #354.123 = 3.54123*10**2 = 35.4123 * 10
123 # f = 1.781326913750135970
124 # print(f)
125
126 # print(bin(10)) #二进制
127 # print(oct(10)) #八进制
128 # print(hex(10)) #十六进制
129
130 # print(abs(-5)) #绝对值
131 # print(abs(5))
132
133 # print(divmod(7,2)) # div除法 mod取余
134 # print(divmod(9,5)) # 除余
135
136 # print(round(3.14159,3)) #四舍五入保留几位
137 # print(pow(2,3)) #pow幂运算 == 2**3
138 # print(pow(3,2))
139 # print(pow(2,3,3)) #幂运算之后再取余
140 # print(pow(3,2,1))
141
142 # ret = sum([1,2,3,4,5,6]) #sum里面是可迭代的
143 # print(ret)
144
145 # print(min([1,2,3,4]))
146 # print(min(1,2,3,4))
147 # print(min(1,2,3,-4))
148 # print(min(1,2,3,-4,key = abs))
149
150 print(max([1,2,3,4]))
151 print(max(1,2,3,4))
152 print(max(1,2,3,-4))
153 print(max(1,2,3,-4,key = abs))
1 #!usr/bin/env python
2 # -*- coding:utf-8 -*-
3 # reversed()
4 # l = [1,2,3,4,5]
5 # # l.reverse()
6 # # print(l)
7 # l2 = reversed(l) #保留原列表,返回一个反向的迭代器
8 # print(l2)
9
10 # slice()
11 # l = (1,2,23,213,5612,342,43)
12 # sli = slice(1,5,2)
13 # print(l[sli])
14 # print(l[1:5:2])
15
16 # format
17 # print(format('test', '<20')) #左对齐
18 # print(format('test', '>40')) #右对齐
19 # print(format('test', '^40')) #^居中
20
21 # bytes 转换成bytes类型
22 # 我拿到的是gbk编码的,我想转成utf-8编码
23 # print(bytes('你好',encoding='GBK')) # unicode转换成GBK的bytes
24 # print(bytes('你好',encoding='GBK').decode('GBK'))
25 # print(bytes('你好',encoding='utf-8')) # unicode转换成utf-8的bytes
26
27 # 网络编程 只能传二进制
28 # 照片和视频也是以二进制存储
29 # html网页爬取到的也是编码
30
31 # bytearray 里面可更改
32 # b_array = bytearray('你好',encoding='utf-8')
33 # print(b_array)
34 # print(b_array[0])
35
36 # l = 'ahfjskjlyhtgeoahwkvnadlnv'
37 # l2 = l[:10]
38 # print(l2)
39
40 # memoryview
41 # 切片 —— 字节类型 不占内存
42 # 字节 —— 字符串 占内存
43
44 # 编码
45 # ord 字符按照Unicode转数字
46 # chr 数字按照Unicode转字符
47 # print(ord('a'))
48 # print(ord('1'))
49 # print(chr(97))
50
51 # ASCII码
52 # ascii() 只要是ascii码中的内容,就打印出来,不是就转换成\u
53
54 # repr 原形毕露 %r 就是调用repr
55 # print(repr('1'))
56 # print(repr(1))
57
58 # frozenset 不可变得集合,可当作key
59
60 # all 接受可迭代的,全为真输出True
61 # print(all(['a','',123]))
62 # print(all(['a',123]))
63 # print(all([0,123]))
64
65 # any 接受可迭代的,有一个为真输出True
66 # print(any(['',True,0,[]]))
67
68 # zip方法,拉链方法
69 # l = [1,2,3]
70 # l2 = ['a','b','c']
71 # print(zip(l,l2)) #内存地址,怀疑是迭代器
72 # for i in zip(l,l2): #用for试试
73 # print(i)
74 #
75 # # odd
76 # def is_odd(x):
77 # return x % 2 == 1
78
79 #filter 过滤方法
80 #filter(is_odd, [1, 4, 6, 7, 9, 12, 17]) #循环后面的可迭代的
81 #上面相当于[i for i in [1, 4, 6, 7, 9, 12, 17] if i % 2 == 1]
82 # ret =filter(is_odd, [1, 4, 6, 7, 9, 12, 17])
83 # print(ret) #内存地址,迭代器
84 # for i in ret:
85 # print(i)
86
87 # def is_str(s):
88 # if type(s) == str:
89 # return True
90
91 # ret = filter(is_str,[1, 'hello', 6, 7, 9, 'world', 17])
92 # print(ret)
93 # for i in ret:
94 # print(i)
95
96 # from math import sqrt
97 # def func(x):
98 # res = sqrt(x)
99 # if res % 1 ==0:
100 # return True
101 # ret = filter(func,range(1,101))
102
103 # for i in ret:
104 # print(i)
105
106 # ret = map(abs,[1,-4,6,-8])
107 # print(ret)
108 # for i in ret:
109 # print(i)
110
111 # filter 执行了filter之后的结果集合 <= 执行之前的个数
112 #filter只管筛选,不会改变原来的值
113 # map 执行前后元素个数不变
114 # 值可能发生改变
115
116 # sort
117 # l = [1,-4,6,5,-10]
118 # # l.sort(key = abs) # 在原列表的基础上进行排序,加了abs,按照绝对值排序
119 # # print(l)
120
121 # print(sorted(l,key=abs,reverse=True)) # 生成了一个新列表 不改变原列表 占内存
122 # print(l)
123
124 # l = [' ',[1,2],'hello world']
125 # new_l = sorted(l,key=len)
126 # print(new_l)
127 # print(l)
1 #!usr/bin/env python
2 # -*- coding:utf-8 -*-
3 # lambda匿名函数
4 # min max filter map sorted 可以和lambda合作
5 #普通函数
6 # def calc(n):
7 # return n*n
8 # print(calc(10))
9 #
10 # #lambda匿名函数
11 # calc = lambda n:n*n
12 # print(calc(10))
13
14 # def add(x,y):
15 # return x+y
16 #改写为Lambda
17 # add = lambda x,y:x+y
18 # print(add(1,2))
19
20 # dic={'k1':10,'k2':100,'k3':30}
21 # def func(key):
22 # return dic[key]
23 # print(max(dic,key=func)) #根据返回值判断最大值,返回值最大的那个参数是结果
24 # print(max(dic,key=lambda key:dic[key]))
25
26 # max([1,2,3,4,5,-6,-7],key=abs)
27
28 # ret = map(abs,[-1,2,-3,4])
29 # for i in ret:
30 # print(i)
31
32 # def func(x):
33 # return x**2
34 # ret = map(func,[-1,2,-3,4])
35 # for i in ret:
36 # print(i)
37 #
38 # ret = map(lambda x:x**2,[-1,2,-3,4])
39
40
41 # def func(x):
42 # return x>10
43 #
44 # res = filter(func,[5,8,11,9,15])
45 # for i in res:
46 # print(i)
47
48
49 # min max filter map sorted —— lambda
50
51 # d = lambda p:p*2
52 # t = lambda p:p*3
53 # x = 2
54 # x = d(x) #x = 4
55 # x = t(x) #x = 12
56 # x = d(x) #x = 24
57 # print(x)
58
59 # ret = zip((('a'),('b')),(('c'),('d')))
60 # ret = map(lambda t:{t[0]:t[1]},ret)
61 # print(list(ret))
62
63 #现有两元组(('a'),('b')),(('c'),('d')),
64 # 请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
65
66 # max min sorted filter map
67 # 匿名函数 == 内置函数
68 # zip
69 # ret = zip((('a'),('b')),(('c'),('d')))
70 # res = map(lambda tup:{tup[0]:tup[1]},ret)
71 # print(list(res))
72
73 # def multipliers():
74 # return [lambda x:i*x for i in range(4)]
75 # print([m(2) for m in multipliers()])