集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Python >

成都python培训怎么样,培训完明年的面试该怎么通过?

发布者: 成都达内     浏览次数:     发布时间:2018-12-25 09:21:57

现在开始学python,明年就可以找相关的工作了,但是python技术每年都在更新,相应的面试时的题目也会有所变化,那么明年各大互联网公司的python面试题会是什么样的呢?达内成都python培...

  现在开始学python,明年就可以找相关的工作了,但是python技术每年都在更新,相应的面试时的题目也会有所变化,那么明年各大互联网公司的python面试题会是什么样的呢?达内成都python培训小编今天就来给大家分享一下部分程序员已经面试了的经验!

成都Python培训哪家好

  Q 1:Python有哪些特点和优点?

  作为一门编程入门语言,Python主要有以下特点和优点:

  可解释

  具有动态特性

  面向对象

  简明简单

  开源

  具有强大的社区支持

  当然,实际上Python的优点远不止如此,可以阅读该文档,详细了解:

  https://data-flair.training/blogs/python-tutorial/

  Q 2:深拷贝和浅拷贝之间的区别是什么?

  答:深拷贝就是将一个对象拷贝到另一个对象中,这意味着如果你对一个对象的拷贝做出改变时,不会影响原对象。在Python中,我们使用函数deepcopy()执行深拷贝,导入模块copy,如下所示:

  >>> import copy

  >>> b=copy.deepcopy(a)

  而浅拷贝则是将一个对象的引用拷贝到另一个对象上,所以如果我们在拷贝中改动,会影响到原对象。我们使用函数function()执行浅拷贝,使用如下所示:

  >>> b=copy.copy(a)

  Q 3. 列表和元组之间的区别是?

  答:二者的主要区别是列表是可变的,而元组是不可变的。举个例子,如下所示:

  >>> mylist=[1,3,3]

  >>> mylist[1]=2

  >>> mytuple=(1,3,3)

  >>> mytuple[1]=2

  Traceback (most recent call last):

  File "<pyshell#97>", line 1, in <module>

  mytuple[1]=2

  会出现以下报错:

  TypeError: ‘tuple’ object does not support item assignment

  关于列表和元组的更多内容,可以查看这里:

  https://data-flair.training/blogs/python-tuples-vs-lists/

  从Q4到Q20都是针对新手的Python面试基础试题,不过有经验的人也可以看看这些问题,复习一下基础概念。

  Q 4. 解释一下Python中的三元运算子

  不像C++,我们在Python中没有?:,但我们有这个:

  [on true] if [expression] else [on false]

  如果表达式为True,就执行[on true]中的语句。否则,就执行[on false]中的语句。

  下面是使用它的方法:

  >>> a,b=2,3

  >>> min=a if a<b else b

  >>> min

  运行结果:

  2

  >>> print("Hi") if a<b else print("Bye")

  运行结果:

  Hi

  Q 5. 在Python中如何实现多线程?

  一个线程就是一个轻量级进程,多线程能让我们一次执行多个线程。我们都知道,Python是多线程语言,其内置有多线程工具包。

  Python中的GIL(全局解释器锁)确保一次执行单个线程。一个线程保存GIL并在将其传递给下个线程之前执行一些操作,这会让我们产生并行运行的错觉。但实际上,只是线程在CPU上轮流运行。当然,所有的传递会增加程序执行的内存压力。

  Q 6. 解释一下Python中的继承

  当一个类继承自另一个类,它就被称为一个子类/派生类,继承自父类/基类/超类。它会继承/获取所有类成员(属性和方法)。

  继承能让我们重新使用代码,也能更容易的创建和维护应用。Python支持如下种类的继承:

  单继承:一个类继承自单个基类

  多继承:一个类继承自多个基类

  多级继承:一个类继承自单个基类,后者则继承自另一个基类

  分层继承:多个类继承自单个基类

  混合继承:两种或多种类型继承的混合 更多关于继承的内容,参见:

  https://data-flair.training/blogs/python-inheritance/

  Q 7. 什么是Flask?

  Flask是Python编写的一款轻量级Web应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。Flask使用 BSD 授权。其中两个环境依赖是Werkzeug和jinja2,这意味着它不需要依赖外部库。正因如此,我们将其称为轻量级框架。

  Flask会话使用签名cookie让用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。不过,要想修改会话,用户必须有密钥Flask.secret_key。

  Q 8. 在Python中是如何管理内存的?

  Python有一个私有堆空间来保存所有的对象和数据结构。作为开发者,我们无法访问它,是解释器在管理它。但是有了核心API后,我们可以访问一些工具。Python内存管理器控制内存分配。

  另外,内置垃圾回收器会回收使用所有的未使用内存,所以使其适用于堆空间。

  Q 9. 解释Python中的help()和dir()函数

  Help()函数是一个内置函数,用于查看函数或模块用途的详细说明:

  >>> import copy

  >>> help(copy.copy)

  运行结果为:

  Help on function copy in module copy:

  copy(x)

  Shallow copy operation on arbitrary Python objects.

  See the module’s __doc__ string for more info.

  Dir()函数也是Python内置函数,dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。

  以下实例展示了 dir 的使用方法:

  >>> dir(copy.copy)

  运行结果为:

  [‘__annotations__’, ‘__call__’, ‘__class__’, ‘__closure__’, ‘__code__’, ‘__defaults__’, ‘__delattr__’, ‘__dict__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__get__’, ‘__getattribute__’, ‘__globals__’, ‘__gt__’, ‘__hash__’, ‘__init__’, ‘__init_subclass__’, ‘__kwdefaults__’, ‘__le__’, ‘__lt__’, ‘__module__’, ‘__name__’, ‘__ne__’, ‘__new__’, ‘__qualname__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’]

  Q 10. 当退出Python时,是否释放全部内存?

  答案是No。循环引用其它对象或引用自全局命名空间的对象的模块,在Python退出时并非完全释放。

  另外,也不会释放C库保留的内存部分。

  Q 11. 什么是猴子补丁?

  在运行期间动态修改一个类或模块。

  >>> class A:

  def func(self):

  print("Hi")

  >>> def monkey(self):

  print "Hi, monkey"

  >>> m.A.func = monkey

  >>> a = m.A()

  >>> a.func()

  运行结果为:

  Hi, Monkey

  Q 12. Python中的字典是什么?

  字典是C++和Java等编程语言中所没有的东西,它具有键值对。

  >>> roots={25:5,16:4,9:3,4:2,1:1}

  >>> type(roots)

  <class 'dict'>

  >>> roots[9]

  运行结果为:

  3

  字典是不可变的,我们也能用一个推导式来创建它。

  >>> roots={x**2:x for x in range(5,0,-1)}

  >>> roots

  运行结果:

  {25: 5, 16: 4, 9: 3, 4: 2, 1: 1}

  Q 13. 请解释使用args和*kwargs的含义

  当我们不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用*args。

  >>> def func(*args):

  for i in args:

  print(i)

  >>> func(3,2,1,4,7)

  运行结果为:

  3

  2

  1

  4

  7

  在我们不知道该传递多少关键字参数时,使用**kwargs来收集关键字参数。

  >>> def func(**kwargs):

  for i in kwargs:

  print(i,kwargs[i])

  >>> func(a=1,b=2,c=7)

  运行结果为:

  a.1

  b.2

  c.7

  Q 14. 请写一个Python逻辑,计算一个文件中的大写字母数量

  >>> import os

  >>> os.chdir('C:\Users\lifei\Desktop')

  >>> with open('Today.txt') as today:

  count=0

  for i in today.read():

  if i.isupper():

  count+=1

  print(count)

  运行结果:

  26

  Q 15. 什么是负索引?

  我们先创建这样一个列表:

  >>> mylist=[0,1,2,3,4,5,6,7,8]

  负索引和正索引不同,它是从右边开始检索。

  >>> mylist[-3]

  运行结果:

  6

  它也能用于列表中的切片:

  >>> mylist[-6:-1]

  结果:

  [3, 4, 5, 6, 7]

  Q 16. 如何以就地操作方式打乱一个列表的元素?

  为了达到这个目的,我们从random模块中导入shuffle()函数。

  >>> from random import shuffle

  >>> shuffle(mylist)

  >>> mylist

  运行结果:

  [3, 4, 8, 0, 5, 7, 6, 2, 1]

  Q 17. 解释Python中的join()和split()函数

  Join()能让我们将指定字符添加至字符串中。

  >>> ','.join('12345')

  运行结果:

  ‘1,2,3,4,5’

  Split()能让我们用指定字符分割字符串。

  >>> '1,2,3,4,5'.split(',')

  运行结果:

  [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

  Q 18. Python区分大小写吗?

  如果能区分像myname和Myname这样的标识符,那么它就是区分大小写的。也就是说它很在乎大写和小写。我们可以用Python试一试:

  >>> myname='Ayushi'

  >>> Myname

  Traceback (most recent call last):

  File "<pyshell#3>", line 1, in <module>

  运行结果:

  Myname

  NameError: name ‘Myname’ is not defined

  可以看到,这里出现了NameError,所以Python是区分大小写的。

  Q 19. Python中的标识符长度能有多长?

  在Python中,标识符可以是任意长度。此外,我们在命名标识符时还必须遵守以下规则:

  只能以下划线或者 A-Z/a-z 中的字母开头

  其余部分可以使用 A-Z/a-z/0-9

  区分大小写

  关键字不能作为标识符,Python中共有如下关键字:

  Q 20. 怎么移除一个字符串中的前导空格?

  字符串中的前导空格就是出现在字符串中第一个非空格字符前的空格。我们使用方法Istrip()可以将它从字符串中移除。

  >>> ' Ayushi '.lstrip()

  结果:

  ‘Ayushi ’

  可以看到,该字符串既有前导字符,也有后缀字符,调用Istrip()去除了前导空格。如果我们想去除后缀空格,就用rstrip()方法。

  >>> ' Ayushi '.rstrip()

  结果:

  ‘ Ayushi’

  版权声明:文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与达内成都python培训机构网站联系删除或授权事宜。

(责任编辑:徐老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56