点击上方蓝色“清菡软件测试”,关注并选择“设为星标”
要坚持啊!
作者:清菡 不会的东西很多,要学习的东西很多。想学的太多,但是行动力太少。心情像天上的云起伏不定,心情好的时候,文章就出来了。正是因为必须要学的东西太多,那么就一定要抓住重点,先学什么,后学什么,要分清主次。二十多岁的精力是有限的,已然没有太多时间去抱怨纠结,更何况你是个健康的人。一直对自己的要求很高,身边人对我的期待也高,小伙伴们需要的源码、视频后续都会有,不要着急,保质保量。新的一年,希望大家都快乐一些。
又到了金三银四跳槽季,很多小伙伴出去面试时,会问到 Python 相关知识,接口自动化,Web 自动化相关知识,有些小伙伴心里是知道答案的,但是回答得却不是很完美,归根结底,就是对知识点理解得不够透彻。今天整理了下常问问题,请耐心看完!注:求人不如求已,切记学会靠自己!!!
没用的东西就是垃圾。在程序中,没被引用的对象就是垃圾。这种垃圾对象过多以后会影响到程序的运行的性能,所以必须进行垃圾回收。所谓的垃圾回收就是将垃圾对象从内存中删除。
在 Python 中有自动的垃圾回收机制,自动将没有被引用的对象删除。所以我们不用手动处理垃圾回收。
class A:
def __init__(self):
self.name="A类"
# del是一个特殊方法,它会在对象被垃圾回收前调用。写出来这个方法的目的是:通过这个方法可以让你肉眼看到垃圾对象被回收。
def __del__(self):
print("A()对象被删除了~",self)
a=A()
b=a #又使用一个变量b,来引用a对应的对象。
print(a.name)
# a=None#将a设置为了None,此时没有任何的变量对A()对象进行引用,它就是变成了垃圾
#del a #删除的不是对象,删除的是变量
# del b
input("回车键退出....")
当你敲回车程序结束的时候,这些对象也会被自动删除。
需要把链接复制到百度打开视频:https://haokan.baidu.com/v?vid=409577335351076379&pd=bjh&fr=bjhauthor&type=video
having
和where
都是用来筛选用的,having
是筛选组,where
是筛选记录。区别:
having
where
用having
就一定要和group by
连用,用group by
不一定有having
。
需要把链接复制到百度打开:https://blog.csdn.net/yexudengzhidao/article/details/54924471
left join
:左连接,是以左表为基础,根据 on 后给出的两表条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出 on 后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。
right join
:右连接,是以右连接为基础,根据 on 后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表值列出 on 后条件与右表满足的部分。右连接全称为右外连接,是外连接的一种。
inner join
:内连接,同时将两表作为参考对象,根据 on 后给出的两表的条件将两表连接起来。结果则是两表同时满足 on 后的条件的部分才会列出。
mysql 中没有全外连接。
图片来自网络,画的特别好。哈哈哈
把链接复制到百度打开:http://blog.sina.cn/dpool/blog/s/blog_161231e190102wqog.html
第一步,查询进程关键字为 xinetd(TFTP 服务程序)
ps -aux|grep [name]
例如:ps -aux|grep xinetd
图片来自网络
这样就查询到了 pid。第二步,使用 netstat 命令查询端口占用。netstat -nap|grep [pid]
例如:netstat -nap|grep [15770]
图片来自网络
查询到占用的端口号为 69。
int
类、布尔值:bool
类、字符串:str
类、列表:list
类、元组:tuple
类、字典:dict
类、集合:set
类。
靠谱链接:https://www.cnblogs.com/littlefivebolg/p/8982889.html
这个链接需要复制到百度才能打开。
列表: 有序、可读写、元素可修改、列表用[]
、能通过下标访问。
元组: 有序、只读、元素不可修改、元组用()
、能通过下标访问。
集合: 无序、可读写、元素不可修改、不能通过下标访问、用{}
表示。
字典: 无序、可读写、元素可修改、能通过下标访问、用{}
表示。
元组和列表相比,比列表操作速度快,元组占用内存少。 字典和列表比较,字典查找和插入的速度快,占用大量内存。
靠谱链接:https://www.jianshu.com/p/5ede7fa96d83
这个链接需要复制到百度才能打开。
running 运行:在屏幕前台(位于当前任务堆栈的顶部) paused 暂停:失去焦点但仍然对用户可见(覆盖 activity 可能是透明或未完全遮挡) stopped 停止:完全被另一个 activity 覆盖 destroyed 销毁:退出,完全销毁
图片来自网络
靠谱链接:https://blog.csdn.net/xiajun2356033/article/details/78741121?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.control
这个链接需要复制到百度才能打开。
不同的操作系统平台,浏览器,以及分辨率进行测试。
靠谱链接:https://blog.csdn.net/qq_39247153/article/details/88963809
这个链接需要复制到百度才能打开。
靠谱链接:https://www.cnblogs.com/herui1991/p/12657809.html
这个链接需要复制到百度才能打开。
1.强制等待。 不常用。
sleep(秒)
2.隐性等待。 不常用。
适用条件是查找元素和等待命令的执行完成。
implicitly_wait(秒)
如果单位是 30 秒,不会傻等 30 秒,如果你在 30 秒内找到了一个元素,比如第 15 秒找到了,那么后面 15 秒就不再等了,在找到的时候就马上去执行下一步,所以是种智能等待方式。
只要在这个时间上限之内,这个元素出现了,什么时候出现就什么时候不再等待。如果超过 30 秒还没有出现,就会抛出异常“TimeoutExceiption”,提示等待超时了,元素至今还没有出现。但是它是整个会话周期有效的。
3.必须掌握"显性等待"
WebDriverWait(driver,等待时长,轮循周期).until()/until_not()
明确提出到底要等什么,这个就叫做显性,非常明显的条件。
明确等到某个条件满足后,再去执行下一步。
第一部分是等待,第二部分是条件。
由两个东西来完成,第一个是WebDriverWait
类,它是个显性等待类,这个类中处理的事有什么呢?
WebDriverWait
类初始化的条件:
driver
:第一个是会话对象,就是说它要知道在哪个会话基础上去等待什么样的条件完成,知道是在哪个页面。
等待时长:也就是最多等多少秒,例如等 20 秒,20 秒以内,啥时候出现都不成问题。
轮循周期:是多久去看一次,比如轮循周期是 1 秒钟,就是每一秒去看下这个条件是否成立。
如果它每隔多少秒去看了下,最终在你等待的时限之内,还没有找到一样的,会报TimeoutException
。
until()
until
是直到某某某条件成立,条件写在()
里面的。
直到什么条件成立,等到这个条件成立,until_not()
就是等到这个条件不成立,直到找不到某个元素为止,直到页面没有哪个元素。
a=[1,7,4,89,34,2]
for i in range(0,len(a)-1): # 循环第i趟
for j in range(0,len(a)-1): #j为下标
if a[j]>a[j+1]: # 如果这个数大于后面的数,就交换两者的位置
a[j],a[j+1]=a[j+1],a[j]
print(a)#每一趟比较完了就打印一次
print(a)#打印最后一趟的结果
"""
for i in range(1,len(a)):
代表循环i趟,a=[1,7,4,89,34,2]里面六个元素.
0,len(a)-1代表0 1 2 3 4 5那么就是6趟
for j in range(0,len(a)-1):中j为下标,那么0就代表a=[1,7,4,89,34,2]
里面六个元素中的1,因为从0开始的下标,所以减1得到的才是最后一个元素。
如果不减1,那么就多了一个元素的位置,但是里面只有六个元素,没有七个元素。
"""
a=0
b=1
while b<10:
print(b,end=',')
a,b=b,a+b
注:文章中的链接是本人整理过来的,皆来自网络。链接中的视频、文章版权皆归原作者所有。计算机知识都一样,文章是小编整理的。如有雷同,纯属巧合。
公众号 清菡软件测试 首发,更多原创文章:清菡软件测试 129+原创文章,欢迎关注、交流,禁止第三方擅自转载。如有转载,请标明出处。