老男孩 Python 基础知识练习(三)

1、列举布尔值为 False 的值
空,None,0, False, ”, [], {}, ()

2、写函数:
根据范围获取其中 3 和 7 整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件的数字的总和
如: def func(start,end):

 1 def func(x,y):2 3     n = []4     sum = 05     for i in range(x,y):6         if (i % 3 == 0 and i % 7 == 0):7             sum += i8             n.append(i)9     print(len(n))
10     print(sum)
11
12 func(1,100)

执行结果:

1 4
2 210

3、函数的默认返回值是什么?
None

4、简述break/continue/return的区别
Break:用于**退出当前循环体**
continue:跳出本次循环,继续执行下次循环
return:程序返回,不再执行下面的代码

5、函数传递参数时,是引用还是复制值?并证明提示:可以用 id 进行判断

答:是引用,

ps:

1 def f1(arg):
2     print(id(arg))
3
4 n=1111111
5 print(id(n))
6 f1(n)

执行结果:

1 26219232
2
3 26219232

6、简述三元运算书写格式以及应用场景

python的三元运算书写格式:
变量名 = 变量1 if 条件判断成立 else 变量2

解释:条件成立 变量名值为变量1 否则为变量2

7、简述 lambda 表达式书写格式以及应用场景
1、书写格式:函数名=lambda 形参:功能 不写函数名也可以

2、应用场景

将简单的函数书写成 匿数名函数,减少代码

8、使用 set 集合获取两个列表l1=[11,22,33],l2=[22,33,44]中相同的元素集合

法1:

1 l1=[11,22,33]
2 l2=[22,33,44]
3
4 n1=set(l1)
5 n2=set(l2)
6 print(n1.intersection(n2))

执行结果:

1 {33, 22}

法2:

1 l1=[11,22,33]
2 l2=[22,33,44]
3 set(11)&set(12)

9、定义函数统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果返回给调用者

 1 def num(st):2     a = 03     b = 04     c = 05     for i in st:6         if i.isupper():     #判断是否是大小字母7             a += 18         elif i.islower():   #判断是否是小写字母9             b += 1
10         elif i.isdigit():   #判断是否是数字
11             c += 1
12     return a, b, c,
13
14 sf = "sefisehfi294723dASE"
15 cc = num(sf)
16 print(cc)

执行结果:

1 (3, 10, 6)

10、简述函数的位置参数、关键字参数、默认参数、可变长参数的特点以及注意事项

位置参数:按形参的位置传入,叫位置参数就是普通参数

关键字参数:传入实参时指定形参的值

默认参数:形参直接指定默认值的参数

可变长参数:*args **kwargs,一个只能接收没有位置参数的实参或参入的列表,元组,俩可以接收关键字参数和字典格式。

11、检查代码,如有错误请改正(禁止运行代码):

a.

1 def func(x,y,z):
2     print(x,y,z)
3
4 func(1,2,3)

输出结果为:

1 1 2 3

b.

1 def func(x,z,y=5):    #有赋值的参数,传入的参数必须在右边,否则会报错
2     print(x,y,z)
3 func(1,3,3)

输出结果为:

1 1 3 3

c.

1 def func(x,y,*z):
2     print(x,y,z)
3
4 func(1,2,3,4,5,6)

输出结果为:

1 1 2 (3, 4, 5, 6)

d.

1 def func(x,y,*z):
2     print(x,y,z)
3
4 func(1,2,3,4,5,6,6)

输出结果为:

1 1 2 (3, 4, 5, 6, 6)

e.

1 def func(x,*z,**y):
2     print(x,y,z)
3
4 func(1,2,3)

输出结果为:

1 1 {} (2, 3)

f.

1 def func(x,*y,**z):
2     print(x,y,z)
3
4 func(1,name=2,age=3)

输出结果为:

1 1 () {'age': 3, 'name': 2}

g.

1 def func(x,*y,**z):
2     print(x,y,z)
3
4 func(1,2,3,4,name=2,age=3)

输出结果为:

1 1 (2, 3, 4) {'age': 3, 'name': 2}

h.

1 def func(x=2,*y,**z):
2     print(x,y,z)
3
4 func(name=2,age=3)

输出结果为:

1 2 () {'age': 3, 'name': 2}

13、书写输出结果(禁止运行代码):

a.

1 def func(*y,**z):
2     print(y,z)
3
4 func(1,2,3,4,5)

输出结果为:

1 (1, 2, 3, 4, 5) {}

b.

1 def func(*y,**z):
2     print(y,z)
3
4 func([1,2,3,4,5])

输出结果为:

1 ([1, 2, 3, 4, 5],) {}

c.

1 def func(*y,**z):
2     print(y,z)
3
4 func(*[1,2,3,4,5])

输出结果为:

1 (1, 2, 3, 4, 5) {}

d.

1 def func(*y,**z):
2     print(y,z)
3
4 func(*[1,2,3,4,5],name="alex",age=19)

输出结果为:

1 (1, 2, 3, 4, 5) {'age': 19, 'name': 'alex'}

e.

1 def func(x,*z,**y):
2     print(x,y,z)
3
4 func(1,2,3)

输出结果为:

1 1 {} (2, 3)

f.

1 def func(*y,**z):
2     print(y,z)
3
4 func(*[1,2,3,4,5],**{"name":"alex","age":19})

输出结果为:

1 (1, 2, 3, 4, 5) {'age': 19, 'name': 'alex'}

14、书写执行结果(禁止运行代码)

 1 def func1(x=1,*y,**z):2     print(x,y,z)3     return y4     print(x)5 6 def func2(arg):7     ret=func1(name=arg)8     print(ret)9
10 result = func2("Fuck")
11 print(result)

输出结果为:

1 1 () {'name': 'Fuck'}
2 ()
3 None

15、书写执行结果(禁止运行代码)

1 def func(arg):
2     arg.append(55)
3
4 li=[11,22,33,44]
5 func(li)
6 print(li)
7 li=func(li)
8 print(li)

输出结果为:

1 [11, 22, 33, 44, 55]
2
3 None

16、书写执行结果(禁止运行代码)

 1 def f1(arg):2     print(arg+100)3 4 def f2(arg):5     ret=f1(arg+1)6     print(arg)7     print(ret)8 9 ret=f2(7)
10 print(ret)

输出结果为:

1 108
2 7
3 None
4 None

17、简述 Python3 中的 range 函数和 Python2.7 中的 range 函数有什么区别?
答:区别:在于返回值的不同

python3.x range 不会生成值,只有用的时候才会生成

python2.7.x range 会直接生成一个列表,值已经生成

区别示例:
python2.x中的range返回的是一个列表

1 >>> range(1,10)  #打印出1-10的数字,python默认从0开始
2 [1, 2, 3, 4, 5, 6, 7, 8, 9]

python3.x中的range返回的是一个迭代值

#错误的方法

1 >>> range(1,10)
2 range(1, 10)

#正确的方法,要想打印出列表,需要加list

1 >>> list(range(1,10))
2 [1, 2, 3, 4, 5, 6, 7, 8, 9]

18、书写执行结果(禁止运行代码)

a、

1 a="oldboy%"
2 print(a)

输出结果为:

1 oldboy%

b、

1 b="oldboy%d%%"%(12,)
2 print(b)

输出结果为:

1 oldboy12%

19、简述对象和类的关系

如果值是某类型,那这个值就是这个类的对象

20、书写执行结果(禁止运行代码)

1 def func(a1):
2     return a1 + 100   #func值被系统垃圾回收机制回收。
3
4 func = lambda a1:a1 + 200

  def func(a1)
5      return a1 + 200    #下面这个func覆盖掉上面那个a1的值=a1+200=210
6 ret = func(10) 7 print(ret)     

输出结果为:

1 210

21、内置函数 all 和 any 的区别

答:any是任意,而all是全部。

all   : 当传入空可迭代对象时返回True,当可迭代对象中有任意一个不为True,则返回False

any : 当传入空可迭代对象时返回False,当可迭代对象中有任意一个不为False,则返回True

22、简述文件打开模式’r’和’rb’的区别

答:

r   是只读模式打开,默认以utf-8格式

rb 是以二进制格式打开

23、将字符串”老男人”转换成 UTF-8 编码的字节类型

1 name = "老男人"
2 #print(bytes(name, encoding='utf-8'))
3 print(bytes(name, encoding='utf-8').decode('utf-8'))

执行结果:

1 老男人

24、利用内置函数将十进制数字12,分别转换成二进制、八进制、十六进制表示的字符串

1 print(bin(12))   #二进制
2 print(oct(12))   #八进制
3 print(hex(12))   #十六进制

执行结果:

1 0b1100      #二进制
2 0o14        #八进制
3 0xc         #十六进制

25、简述内置函数 globals()、locals()作用

globals()  获取所有的全局变量

locals()    获取所有局部变量

26、利用内置函数 zip(),实现功能

l1=[“alex”,22,33,44,55]
l2=[“is”,22,33,44,55]
l3=[“good”,22,33,44,55]
l4=[“guy”,22,33,44,55]

请获取字符串s=”alex_is_good_guy”

ps1:

 1 l1 = ["alex", 22, 33, 44, 55]2 l2 = ["is", 22, 33, 44, 55]3 l3 = ["good", 22, 33, 44, 55]4 l4 = ["guy", 22, 33, 44, 55]5 6 #print(list(zip(l1,l2,l3,l4)))7 n1 = list(zip(l1,l2,l3,l4))8 n2 = n1[0]9 n3 = '_'.join(n2)
10 print(n3)

执行结果:

1 alex_is_good_guy

ps2:

1 print("_".join(list(zip(l1,l2,l3,l4))[0]))

27、判断输出结果是否相同?并可得到什么结论?

1 def f1(arg):
2     print(id(arg))
3
4 n=1111111
5 print(id(n))
6 f1(n)

输出的两个值是否相同:相同

1 执行结果:
2     11277024
3
4     11277024

28、书写执行结果(禁止运行代码)
a.

1 NAMELIST=["alex","eric"]
2
3 def func():
4     NAMELIST=123
5
6 func()
7 print(NAMELIST)

输出结果为:

1 ['alex', 'eric']

b.

1 NAMELIST=["alex","eric"]
2
3 def func():
4     global NAMELIST
5     NAMELIST=123
6
7 func()
8 print(NAMELIST)

输出结果为:

1 123

c.

1 NAMELIST=["alex","eric"]
2
3 def func():
4     NAMELIST.append("seven")
5
6 func()
7 print(NAMELIST)

输出结果为:

1 ['alex', 'eric', 'seven']

d.

1 NAMELIST = ["alex", "eric"]
2
3 def func():
4     NAMELIST = 123
5     global NAMELIST
6
7 func()
8 print(NAMELIST)

输出结果为:

1 123
2
3 D:/python/job8/job.py:335: SyntaxWarning: name 'NAMELIST' is assigned to before global declaration
4   global NAMELIST

29、书写执行结果(禁止运行代码)
a.

 1 name = "root"2 def func():3     name = "seven"4     def outer():5         name = "eric"6         def inner():7             global name8             name = "蒙逼了吧..."9         print(name)
10     print(name)
11
12 ret = func()
13 print(ret)
14 print(name)

输出结果为:

1 seven
2 None
3 root

b.

 1 name = "root"2 def func():3     name = "seven"4     def outer():5         name = "eric"6         def inner():7             global name8             name = "蒙逼了吧..."9         print(name)
10     o = outer()
11     print(o)
12     print(name)
13
14 ret = func()
15 print(ret)
16 print(name)

输出结果为:

1 eric
2 None
3 seven
4 None
5 root

c.

 1 name = "root"2 def func():3     name = "seven"4     def outer():5         name = "eric"6         def inner():7             global name8             name = "蒙逼了吧..."9         print(name)
10         inner()
11     o = outer()
12     print(o)
13     print(name)
14
15 ret = func()
16 print(ret)
17 print(name)

输出结果为:

1 eric
2 None
3 seven
4 None
5 蒙逼了吧...

d.

 1 name = "root"2 def func():3     name = "seven"4     def outer():5         name = "eric"6         def inner():7             nonlocal name8             name = "蒙逼了吧..."9         print(name)
10         inner()
11     o = outer()
12     print(o)
13     print(name)
14
15 ret = func()
16 print(ret)
17 print(name)

输出结果为:

1 eric
2 None
3 seven
4 None
5 root

30、书写执行结果并解释每一步操作

a.

1 name = "苍老师"
2
3 def outer(func):
4     name = 'alex'
5     func()
6
7 def show():
8     print(name)
9 outer(show)

执行结果:

1 苍老师

b.

 1 name = "苍老师"2 3 def outer():4     name = "波多"5     def inner():6         print(name)7     return inner()8 9 ret = outer()
10 print(ret)

输出结果为:

1 波多
2 None

c.

 1 name = "苍老师"2 3 def outer():4     name = "波多"5     def inner():6         print(name)7     return inner8 9 ret = outer()
10 ret()
11 print(ret)
12 result = ret()
13 print(result)

输出结果为:

1 波多
2 <function outer.<locals>.inner at 0x01225660>   #inner内存地址
3 波多
4 None

d.

 1 name = "苍老师"2 3 def outer():4     name = "波多"5     def inner():6         print(name)7     return inner8 9 ret = outer()
10 print(ret)
11 result = ret()
12 print(result)

输出结果为:

1 <function outer.<locals>.inner at 0x01715660>
2 波多
3 None

e.

 1 name = "苍老师"2 3 def outer(func):4     def inner():5         name = "李杰"6         func()7     return inner8 9 def show():
10     print(name)
11
12 outer(show)()

执行结果:

1 苍老师

31、书写执行结果并解释每一步操作

a.

1 def outer(func,z,y):
2     func(z)
3
4 def show(x):
5     return x * x
6
7 ret = outer(show,9,23)
8
9 print(ret)

输出结果为:

1 None

b.

1 def outer(func, z, y):
2     return func(z)
3 def show(x):
4     return x * x
5
6 ret = outer(show,9,23)
7 print(ret)

输出结果为:

1 81

c.

1 def outer(func,z,y):
2     func(z,y)
3
4 f1 = lambda x,y:x+y
5 ret = outer(f1,11,23)
6 print(ret)

输出结果为:

1 None

d.

1 def outer(func, z, y):
2     return func(z, y)
3
4 f1 = lambda x,y:x + y
5 ret = outer(f1, 11, 23)
6 print(ret)

输出结果为:

1 34

32、写输出结果

a.

 1 def f5(arg):2     arg.append('偷到 500 万')3 4 def f4(arg):5     arg.append('开第四个门')6     f5(arg)7     arg.append('关第四个门')8 9 def f3(arg):
10     arg.append('开第三个门')
11     f4(arg)
12     arg.append('关第三个门')
13
14 def f2(arg):
15     arg.append('开第二个门')
16     f3(arg)
17     arg.append('关第二个门')
18
19 def f1(arg):
20     arg.append('开一个门')
21     f2(arg)
22     arg.append('关一个门')
23
24 user_list = []
25 result = f1(user_list)
26 print(user_list)
27 print(result)

输出结果为:

1 ['开一个门', '开第二个门', '开第三个门', '开第四个门', '偷到 500 万', '关第四个门', '关第三个门', '关第二个门', '关一个门']
2 None

b.

 1 def f5(arg):2     arg = arg + 53 4 def f4(arg):5     arg = arg + 46     f5(arg)7     arg = arg + 48 9 def f3(arg):
10     arg = arg + 3
11     f4(arg)
12     arg = arg + 3
13
14 def f2(arg):
15     arg = arg + 2
16     f3(arg)
17     arg = arg + 2
18
19 def f1(arg):
20     arg = arg + 1
21     f2(arg)
22     arg = arg + 1
23
24 num = 1
25 result = f1(num)
26 print(num)
27 print(result)

输出结果为:

1 1
2 None

c.

 1 def f5(arg):2     arg = arg + 53     return arg4 5 def f4(arg):6     arg = arg + 47     f5(arg)8     arg = arg + 49     return arg
10
11 def f3(arg):
12     arg = arg + 3
13     f4(arg)
14     arg = arg + 3
15     return arg
16
17 def f2(arg):
18     arg = arg + 2
19     f3(arg)
20     arg = arg + 2
21     return arg
22
23 def f1(arg):
24     arg = arg + 1
25     f2(arg)
26     arg = arg + 1
27     return arg
28
29 num = 1
30 result = f1(num)
31 print(num)
32 print(result)

输出结果为:

1 1
2 3

d、利用递归实现32 题中c题的功能

 1 def fnuc(x,y=0):2     y += 13     if y == 5:4         return x + y5     x += y6     func(x,y)7     x += y8     return x9
10 num = 1
11 result = fnuc(num)
12 print(num)
13 print(result)

33、利用递归实现1*2*3*4*5*6*7

ps1:

 1 #参数t保存每次计算的结果,n保持递增,然后进行计算2 3 def func(n,t):4     t=t*n5     if n>=7:6         return t7     n+=18     return func(n,t)9
10 print(func(2,1))

执行结果:

1 5040

ps2:

1 from functools import reduce
2 print(reduce(lambda x,y:x*y,[x for x in range(1,8)]))

执行结果:

1 5040

34、写程序

a.利用filter、自定义函数获取 l1 中元素大于 33 的所有元素l1=[11,22,33,44,55]

ps1:

1 def f1(args):
2     if args>33:
3         return True
4
5 l1 = [11,22,33,44,55]
6 ret = filter(f1,l1)
7 print(list(ret))

执行结果:

1 [44, 55]

ps2:

filter+lambda方式

1 l1 = [11,22,33,44,55]
2 print(list(filter(lambda x:x>33,l1)))

执行结果:

1 [44, 55]

b.利用filter、lambda 表达式获取 l1 中元素小于 33 的所有元素l1=[11,22,33,44,55]

1 l1 = [11,22,33,44,55]
2 print(list(filter(lambda x:x<33,l1)))

执行结果

1 [11, 22]

c.利用map、自定义函数将所有是奇数的元素加 100

l1=[11,22,33,44,55]

d.利用map、lambda 表达式将所有是偶数的元素加 100

l1=[11,22,33,44,55]

35、写程序
a.文件操作时 with 的作用?

whih 打开文件执行完毕后自动关闭

b.写程序:利用 with 实现同时打开两个文件(一读,一写,并将读取的内容写入到写入模式的文件中)

1 with open("a", "r") as x, open("b","w") as y:
2     y.write(x.read())

36、写函数:
如有以下两个列表
l1=[…]
l2=[]
第一个列表中的数字无序不重复排列,第二个列表为空列表
需求:
取出第一个列表的最小值放到第二个列表的首个位置,
取出第一个列表的最小值(仅大于上一次的最小值)放到第二个列表的首个位置,
取出第一个列表的最小值(仅大于上一次的最小值)放到第二个列表的首个位置,

依此类推,从而获取一个有序的列表 l2,并将其返回给函数调用者。

deffunc(l1,l2):
pass

答:

1 l1 = [11,33,44,2,66]
2 l2 = []
3 def foo(x,y):
4       for item in range(len(x)):
5                   v = min(x)
6                   y.insert(0,v)
7                    x.remove(v)
8         return y
9 print(foo(l1,l2))

37、猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多吃了一个。以后每天都吃前一天剩下的一半再加一个。到第 10 天刚好剩一个。问猴子第一天摘了多少个桃子?

解题思路:

这题得倒着推。第10天还没吃,就剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子p个,可得:p * 1/2 - 1 = 1,可得 p = 4。以此类推,即可手算出。

代码思路为:第10天还没吃之前的桃子数量初始化 p = 1,之后从9至1循环9次,根据上述公式反推为 p = (p+1) * 2 可得第1天还没吃之前的桃子数量。for循环中的print()语句是为了验证推算过程而增加的。

代码如下:

ps:

1 p = 1
2 print('第10天吃之前就剩1个桃子')
3 for i in range(9, 0, -1):
4     p = (p+1) * 2
5     print('第%s天吃之前还有%s个桃子' % (i, p))
6 print('第1天共摘了%s个桃子' % p)

执行结果:

 1 第10天吃之前就剩1个桃子2 第9天吃之前还有4个桃子3 第8天吃之前还有10个桃子4 第7天吃之前还有22个桃子5 第6天吃之前还有46个桃子6 第5天吃之前还有94个桃子7 第4天吃之前还有190个桃子8 第3天吃之前还有382个桃子9 第2天吃之前还有766个桃子
10 第1天吃之前还有1534个桃子
11 第1天共摘了1534个桃子

ps2:

1 s = 1
2 func = lambda x: (x + 1) * 2
3 for i in range(9):
4     s = func(s)
5 print(s)

ps3:

 1 def func(x, day):2     day -= 13     if day == 0:4         return x5     x = (1 + x) * 26     ret = func(x, day)7     return ret8 9 ret = func(1, 10)
10 print(ret)

转自:
python基础-基础知识考试day5 (包括:函数递归等知识) - 努力哥 - 博客园
https://www.cnblogs.com/nulige/p/6128674.html

转载于:https://www.cnblogs.com/jyfootprint/p/9409913.html

python基础-基础知识(包括:函数递归等知识)相关推荐

  1. c语言函数递归相关知识及应用

    文章目录 一.函数递归理论知识 1.函数递归概念 2.函数递归的几点注意 二.函数递归的应用 1.使用递归完成n的阶乘 2.用递归方式实现打印一个整数的每一位 3.写一个递归函数输入一个非负整数,返回 ...

  2. Python day10 global关键字、函数递归、匿名函数、map函数的用法详解

    1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...

  3. Python学习笔记--8.6 函数--递归

    #递归:函数自己调用自己#递归最多递归999次.count=0def say(): global count count+=1 print('say') print(count) say()say() ...

  4. python递归函数是指_python 函数递归作业求解析

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 新手学到 递归函数这一课,看老师留了个作业,我试着写了代码,应该算完成任务,但是不确定是否是最优的,麻烦各位大佬帮忙指点下 就是列表查找二刀法的问题,要求 ...

  5. Python基础知识——函数的基本使用、函数的参数、名称空间与作用域、函数对象与闭包、 装饰器、迭代器、生成器与yield、函数递归、面向过程与函数式(map、reduce、filter)

    文章目录 1 函数的基本使用 一 引入 二 定义函数 三 调用函数与函数返回值 2 函数的参数 一 形参与实参介绍 二 形参与实参的具体使用 2.1 位置参数 2.2 关键字参数 2.3 默认参数 2 ...

  6. python开发基础04-函数、递归、匿名函数、高阶函数、装饰器

    匿名函数 lamba lambda x,y,z=1:x+y+z 匿名就是没有名字 def func(x,y,z=1):return x+y+z匿名 lambda x,y,z=1:x+y+z #与函数有 ...

  7. python 函数递归_Python零基础之三元表达式、函数递归、匿名函数教程!超级详细!...

    目录 一.三元表达式 二.函数递归 递归调用的定义 递归分为两个阶段:递归,回溯 三.匿名函数 什么是匿名函数? 有名字的函数与匿名函数的对比 lambda匿名函数的应用 四.内置函数 #注意:内置函 ...

  8. python基础二 函数 递归 装饰器 迭代器 生成器 内置函数 二分法应用

    函数 迭代器 生成器 拆包和装包 tup=("j1","a1","c1","k1") a,b,c,d=tup print ...

  9. python基础知识-Python语言基础知识总结

    本文主要向大家介绍了Python语言基础知识总结,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 可以简便的方法: (1)lambda x,y:x*y (2)list1 = lis ...

最新文章

  1. 计算机桌面文件管理窗口,隐藏Win10此电脑窗口的6个额外文件夹
  2. python manager是进程安全的么_Python在进程之间共享锁
  3. 264,avs重要的变量:
  4. 10种顶级javascript框架比较-The Top 10 Javascript MVC Frameworks
  5. Qt工作笔记-使用toVariant().toMap()分割Json文件(666解析法)
  6. OpenCV3学习(4.3)——图像形态学(膨胀,腐蚀)
  7. html表单中动态添加下拉框,antd Select下拉菜单动态添加option里的内容操作
  8. 通过shell进行数学计算
  9. VC++ 6.0 快捷键
  10. 本地如何使用oracle数据库,使用sqlplus连接oracle本地数据库的方式
  11. 戴尔便携式计算机 故障,老DELL笔记本电脑常见故障“通病”问题
  12. 【Android】使用deviceowner 配置手机设置 (Monkey自动化测试删去状态栏、设定输入法、静音、APP自动权限授予、Kiosk模式打开)
  13. 论用户体验测试:牛逼的功能千篇一律,好的用户体验万里挑一
  14. 微信开发-业务域名、JS接口安全域名、网页授权域名
  15. 2021-Deep Video Matting via Spatio-Temporal Alignment and Aggregation
  16. MBProgressHUD等待框背景色与菊花等待框颜色修改
  17. Linux中关于一个文件的详细信息
  18. 如何在Tableau Desktop中创建自定义调色板 - 优阅达
  19. Java编程那些事儿11——JDK的获得、安装和配置
  20. 生活像一把无情的刻刀,让人情何以堪

热门文章

  1. jmeter导入DB数据再再优化
  2. 第二章 函数式数据结构
  3. Java动态代理全面分析
  4. 一个测试新人的职业规划——三个月
  5. 经典算法详解 之 递归算法
  6. IIS之错误解决之道
  7. vue中v-on指令的使用之Vue知识点归纳(四)
  8. IOS-—UICollectionView使用综述(一 )(基础篇--垂直列表方式,横向相册方式)
  9. 删除一个非空的无用表空间
  10. 微服务写的最全的一篇文章