第1题:字符串的拼接–如何高效的拼接两个字符串?

字符串拼接的几种方法

  1. 加号
  2. 逗号
  3. 直接连接
  4. 格式化
  5. join
  6. 多行字符串拼接()

加号

print('Python' + 'Plus')

逗号

print("Hello", "Python")

直接连接

print("Hello" "Python")

格式化

print('%s %s'%('Python', 'PLUS'))

join

str_list = ['Python', 'Plus']
a = ''
print(a.join(str_list))

多行字符串拼接()

sql = ('select *'
'from users'
'where id=666')
print(sql)
一般情况,大家比较喜欢用“+”拼接字符串,但是这个方法并不是高效的,
因为如果需要拼接的字符串有很多(n个)的情况下,
使用”+”的话,python解释器会申请n-1次内存空间,
然后进行拷贝,因为字符串在python中是不可变的,
所以当进行拼接的时候,会需要申请一个新的内存空间。
所以,正确答案是,使用.join(list),因为它只使用了一次内存空间

第2题: list = ['a','a','a',1,2,3,4,5,'A','B','C']提取出”12345”?

这个考点考了python的解压赋值的知识点,即 a,b,c,*middle,d,e,f = list, *middle = [1,2,3,4,5]。

注意,解压赋值提取出来的是列表

list = ['a','a','a',1,2,3,4,5,'A','B','C']
a,b,c,*middle,d,e,f = list
print(middle)
print(type(middle))

第3题: 什么是pickling和unpickling?

为了让用户在平常的编程和测试时保存复杂的数据类型,python提供了标准模块,称为pickle

这个模块可以将几乎任何的python对象(甚至是python的代码),转换为字符串表示,这个过程称为pickling

从存储的字符串中检索原始Python对象的过程称为unpickling

第4题: 说一说Python自省?

在python中,检查某些事物以确定它是什么、它知道什么以及它能做什么。

自省向程序员提供了极大的灵活性和控制力。

说的更简单直白一点:自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。简单一句就是,运行时能够获知对象的类型。

例如python, buby, object-C, c++都有自省的能力,这里面的c++的自省的能力最弱,只能够知道是什么类型,而像python可以知道是什么类型,还有什么属性。

Python中比较常见的自省(introspection)机制(函数用法)有: dir()type(), hasattr(), isinstance(),通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。

  1. dir() 函数是 Python 自省机制中最著名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。如果不指定对象,则 dir() 返回当前作用域中的名称。
  2. type() 函数有助于我们确定对象是字符串还是整数,或是其它类型的对象。
  3. 对象拥有属性,并且 dir() 函数会返回这些属性的列表。但是,有时我们只想测试一个或多个属性是否存在。如果对象具有我们正在考虑的属性,那么通常希望只检索该属性。这个任务可以由 hasattr() 和 getattr() 函数来完成。
  4. isinstance() 函数测试对象,以确定它是否是某个特定类型或定制类的实例。

其他可以参考博客:https://blog.csdn.net/qq_34979346/article/details/83218262

第5题:什么是python猴子补丁python monkey patch?

monkey patch (猴子补丁)

用来在运行时动态修改已有的代码,而不需要修改原始代码。

在Python中,术语monkey补丁仅指run-time上的类或模块的动态修改

>>> class A:
def func(self):
print("Hi")
>>> def monkey(self):
print("Hi, monkey")
>>> m.A.func = monkey
>>> a = m.A()
>>> a.func()
Hi, monkey

公众账号:非本科程序员,来吧

微信搜索htmlhttp就能找到不一样的精彩

昨天去面试,这5个Python面试题都被考到了,Python面试题No6的更多相关文章

  1. Python进阶:都说好用的 Python 命令行库click

    click 是一个以尽可能少的代码.以组合的方式创建优美的命令行程序的 Python 包.它有很高的可配置性,同时也能开箱即用. 它旨在让编写命令行工具的过程既快速又有趣,还能防止由于无法实现预期的 ...

  2. 去面试Python工程师,这几个基础问题一定要能回答,Python面试题No4

    今天的面试题以基础为主,去面试Python工程师,这几个基础问题不能答错 第1题:列表和元组有什么不同? 列表和元组是Python中最常用的两种数据结构,字典是第三种. 相同点: 都是序列 都可以存储 ...

  3. 刚毕业去面试Python工程师,这几道题太难了,Python面试题No11

    写在前面 本想停一段时间这个系列,但是好多朋友给我发信息说让我继续整理下去,so,继续吧~ 第1题: docstring是什么? docstring是一种文档字符串,用于解释构造的作用.我们在函数.类 ...

  4. 转:昨天去参加adobe AIR发布会

    昨天去参加adobe AIR发布会 2008-03-05 12:23 12547人阅读 评论(33) 收藏 举报 adobeairsliverlightwpf微软互联网 首先申明:我不是adobe雇佣 ...

  5. 刷完500道BAT面试题,我能去面试大厂了吗?

    面试之前先刷几篇面经,或者做几道热门面试题,想必是大家很熟悉的一种复习方式了,就像我们当年经常做五年高考三年模拟一样.但是可不要把面试题和面经当成你的主要复习方式,它只是锦上添花,绝非雪中送炭! 壹面 ...

  6. 不管你是否已经准备面试, 这45道Python面试题都对你非常有帮助!(mark!)

    1)什么是Python?使用Python有什么好处? Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理.蟒蛇的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个开源的. ...

  7. 《百面机器学习算法工程师带你去面试》高清PDF及epub+《美团机器学习实践》PDF及思维导图

    http://blog.sina.com.cn/s/blog_ecd882db0102yuek.html <百面机器学习算法工程师带你去面试>高清PDF及epub+<美团机器学习实践 ...

  8. 【死磕JVM】给同事讲了一遍GC后,他要去面试,年轻人,就是容易冲动!

    前言 在一个风和日丽的中午,和同事小勇一起走在公司楼下的小公园里面,看到很多的小姐姐,心想什么时候能够和这些小姐姐一起讨论人生呀,美滋滋,嘿嘿嘿. 收起你的哈喇子好不好,小勇总是在这个时候发出声音,挺 ...

  9. Python爆火的原因与未来|内附Python学习书籍大礼包无偿领取|

    从12年到20年,python以肉眼可见的趋势超过了java,成为了当今It界人人皆知的编程语言. python为什么这么火? 网络编程语言搜索指数 适合初学者 Python具有语法简单.语句清晰的特 ...

随机推荐

  1. 题解报告:hdu 2141 Can you find it?(二分)

    Problem Description Give you three sequences of numbers A, B, C, then we give you a number X. Now yo ...

  2. fgetcsv()函数

    fgetcsv()函数.fgetcsv()函数可以读取指定文件的当前行,使用CSV格式解析出字段,并返回一个包含这些字段的数组.语法格式如下:array fgetcsv(resource $handl ...

  3. SecureCRT的配色方法

    配色后效果如下: 下面开始配色 1.首先配置成默认模式 2.终端(Terminal)==>仿真(Emulation) 按图中标注进行勾选,勾选完毕点击确认 2.选项(Options)==> ...

  4. 由浅入深一个Demo带你认识Restful风格的架构

    java作为一门后端语言,其厉害之处在于web,大家比较熟知的各种网络应用,java都能做,那么在这个移动优先的时代,如何继续发挥java的强大之处呢? 通常是让java作为一个app的服务端,为ap ...

  5. Java基础50题test3—水仙花数

    水仙花数 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例 如:153 是一个"水仙花数", ...

  6. JVM初探

    ### JVM分为类的加载生命周期和gc垃圾回收两个大的方面#####首先是类的生命周期, 类的加载: --> 记载字节码 ---> 这个过程有类的加载起参与,双亲委托机制() --> ...

  7. react ant design路由配置

    最初的时候,只使用了antd中的menu,header和footer都是自己写的组件,在写路由时,总是报如下错误: 相关的路由配置如下: 在网上查的说是组件未暴露出去或者是return 这一行必须有个 ...

  8. Implicit Animations 默认动画 读书笔记

    Implicit Animations  默认动画 读书笔记 Do what I mean, not what I say. Edna Krabappel, The Simpsons   Part I ...

  9. Excel数据导入SQL Server

    基本有2种方案,都是无需安装Office的方案 Ole DB读取 + BulkCopy 获取Excel各个SheetName //连接串 string strConn = "Provider ...

  10. 深入解析Web Services

    SOA,面向服务器建构,是一款架构,这几年虽然没前几年那么流行,但是还是有很多企业在用,而Web Services是目前适合做SOA的主要技术之一,通过使用Web Services,应用程序可以对外发 ...