时间非礼了梦想 發表於 2019-8-29 20:04:00

python简单面试题

<p>  在这个即将进入金9银10的跳槽季节的时候,肯定需要一波面试题了,安静总结了一些经常遇到的python面试题,让我们一起撸起来。</p>
<h1>python面试题</h1>
<h3>1、求出1-100之间的和</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> coidng:utf-8</span>
a =<span style="color: rgba(0, 0, 0, 1)"> 0
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(0,100<span style="color: rgba(0, 0, 0, 1)">):
    a </span>+= (i+1<span style="color: rgba(0, 0, 0, 1)">)
</span><span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(a)<br><br>5050<br>
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 也可以使用函数sum</span>
sum = sum(range(1,101<span style="color: rgba(0, 0, 0, 1)">))
</span><span style="color: rgba(0, 0, 255, 1)">print</span>(sum)<br><br>5050<br><br></pre>
</div>
<h3>2、冒泡排序</h3>
<div class="cnblogs_code">
<pre>a =
l </span>=<span style="color: rgba(0, 0, 0, 1)"> len(a)
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(l):
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> j <span style="color: rgba(0, 0, 255, 1)">in</span> range(l-1<span style="color: rgba(0, 0, 0, 1)">):
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> a&lt;a:
            a,a = a,a
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(l):
    </span><span style="color: rgba(0, 0, 255, 1)">print</span>(a)<br><br><span style="color: rgba(0, 128, 0, 1)"># 代码结果<br></span></pre>
<p>1<br>2<br>4<br>6<br>32<br>67</p>




</div>
<h3>3、数字排序</h3>
<p>一看就是冒泡排序。这次我们用函数</p>
<div class="cnblogs_code">
<pre>a =
m </span>=<span style="color: rgba(0, 0, 0, 1)"> sorted(a)
</span><span style="color: rgba(0, 0, 255, 1)">print</span>(m)<br><br><span style="color: rgba(0, 128, 0, 1)"># 代码结果<br><br><br># 也可通过其他函数<br><br><span style="color: rgba(0, 0, 0, 1)">a.sort()</span><br><br></span></pre>
</div>
<h3>4、写出常用的python库</h3>
<p>我们做测试的常用的肯定是与测试有关的喽</p>
<p>requests--接口自动化</p>
<p>selenium--web的UI自动化</p>
<p>appium--app的UI自动化</p>
<p>re ---正则表达式</p>
<h3>5、python的数据类型</h3>
<p>整型--int</p>
<p>布尔型--bool</p>
<p>字符串--str</p>
<p>列表--list</p>
<p>元组--tuple</p>
<p>字典--dict</p>
<h3>6、python2与python3的区别</h3>
<p>安静来看python2和python3的最大区别就是编码问题了</p>
<p>python2中使用ascii编码,python3中使用utf-8编码</p>
<h3>7、python的可变数据类型和不可变数据类型</h3>
<p><span>不可变数据类型:数值型、字符串型string和元组tuple</span></p>
<p><span>不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象</span></p>
<p><span>可变数据类型:列表list和字典dict;</span></p>
<p><span>允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。</span></p>
<h3><span>8、在编辑python脚本的时候遇到bug怎么解决</span></h3>
<p><span>1、通过print()进行调试,看看哪里出了问题</span></p>
<p><span>2、如果是第三方库的书写问题,查找文档,</span></p>
<h3><span>9、python如何操作Excel表</span></h3>
<p><span>第3方库xlwr和xlrd</span></p>
<p><span>其中xlwr是对Excel进行写,xlrd是对Excel进行读</span></p>
<h3><span>10、*arg和*kwarg的作用</span></h3>
<p><span>简单的来说就是可以是我们的函数引入多个实参</span></p>
<p><span>*arg返回的是字典</span></p>
<p><span>*kwarg返回的是元祖</span></p>
<h3><span>11、python通过什么连接数据库</span></h3>
<p><span>python2通过MYSQL-python</span></p>
<p><span>python3通过pyMysql</span></p>
<h3><span>12、我们通过编写自动化测试的过程通过什么保存数据</span></h3>
<p><span>通过yaml或者是ini</span></p>
<h3><span>&nbsp;13、装饰器是什么</span></h3>
<p><span>装饰器是为已经存在的函数或者对象添加额外的功能。本质上是一个闭包函数(闭包函数:本质是个嵌套函数,内层函数引用外层函数的变量并且返回外层函,外层函数返回内层函数)</span></p>
<h3><span>14、装饰器的作用</span></h3>
<p>1.不修改已有函数的源代码</p>
<p>2.不修改已有函数的调用方式</p>
<p>3.为已有函数添加额外的功能</p>
<h3>&nbsp;15、列表去重</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 首先转换成列表</span>
m =<span style="color: rgba(0, 0, 0, 1)"> set(a)
</span><span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(m)
</span><span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(type(m))
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 在从列表转换成列表</span>
x=
</span><span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(x)
</span><span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(type(x)


</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 代码结果</span>
{1, 2, 3, 45, 23<span style="color: rgba(0, 0, 0, 1)">}
</span>&lt;<span style="color: rgba(0, 0, 255, 1)">class</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">set</span><span style="color: rgba(128, 0, 0, 1)">'</span>&gt;<span style="color: rgba(0, 0, 0, 1)">
[</span>1, 2, 3, 45, 23<span style="color: rgba(0, 0, 0, 1)">]
</span>&lt;<span style="color: rgba(0, 0, 255, 1)">class</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">list</span><span style="color: rgba(128, 0, 0, 1)">'</span>&gt;</pre>
</div>
<h3>16、<strong>lambda函数实现两个数相乘</strong></h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 通过匿名函数</span>
sum = <span style="color: rgba(0, 0, 255, 1)">lambda</span> a,b: a*<span style="color: rgba(0, 0, 0, 1)">b

</span><span style="color: rgba(0, 0, 255, 1)">print</span>(sum(2,6<span style="color: rgba(0, 0, 0, 1)">))

</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 代码结果</span>
12</pre>
</div>
<h3>17、python两个数值交换</h3>
<div class="cnblogs_code">
<pre>a ,b = 5,6
<span style="color: rgba(0, 0, 255, 1)">print</span>(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">a的值为:%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>%a,<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">b的值为%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>%<span style="color: rgba(0, 0, 0, 1)">b)
a, b </span>=<span style="color: rgba(0, 0, 0, 1)">b,a
</span><span style="color: rgba(0, 0, 255, 1)">print</span>(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">a的值为:%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>%a,<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">b的值为%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>%<span style="color: rgba(0, 0, 0, 1)">b)

代码结果
a的值为:</span>5<span style="color: rgba(0, 0, 0, 1)"> b的值为6
a的值为:</span>6 b的值为5</pre>
</div>
<h3>18、如何提高python的运行效率</h3>
<p>1、使用生成器,因为可以节约大量内存<br>2、循环代码优化,避免过多重复代码的执行<br>3、核心模块用CythonPyPy等,提高效率<br>4、多进程、多线程、协程<br>5、多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率</p>
<h3>19、如何生成一个随机数?</h3>
<p>通过random模块</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> random
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 随机整数</span>
a = random.randint(0,100<span style="color: rgba(0, 0, 0, 1)">)
</span><span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(a)
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 随机浮点数:</span>
m =<span style="color: rgba(0, 0, 0, 1)"> random.random()
</span><span style="color: rgba(0, 0, 255, 1)">print</span>(m)</pre>
</div>
<h3>20、如何判断是函数还是方法</h3>
<p>通常来说类中的函数为方法,类外面声明def为函数</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>收集了一些python面试题,当然这不是完整的,点个关注,持续更新~~~</strong></p>
<h3 class="postTitle"><strong>持续更新:python简单面试题(2)</strong></h3>
<p>&nbsp;</p>
<p>PS:有测试同学会说,测试不是点点点吗?写什么代码。会点就行。在我们这个行业涌入越来越多的人,软件测试技术要求也越来越高,为了我们口袋的钱财,大家一起努力学习吧~~</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/qican/p/11428674.html
頁: [1]
查看完整版本: python简单面试题