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()])

 

posted @ 2018-08-01 21:19  前往Python取经之路  阅读(127)  评论(0编辑  收藏  举报