一、Python是什么类型的语言,以及和其他语言对比

1.Python是一种解释性语言,他和C语言以及C衍生的语言不通,在Python运行之前不需要编译,其他解释语言还有Ruby、PHP。

2.Python还是动态类型语言,在声明变量期间,不要指定变量的类型,诸如:x = 100   name='Zhang San' ,程序不会报错

3.Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。Python中没有访问说明符(access specifier,类似C++中的public和private),这么设计的依据是“大家都是成年人了”。

4.在Python语言中,函数是第一类对象(first-class objects)。这指的是它们可以被指定给变量,函数既能返回函数类型,也可以接受函数作为输入。类(class)也是第一类对象。

5.Python代码编写快,但是运行速度比编译语言通常要慢。好在Python允许加入基于C语言编写的扩展,因此我们能够优化代码,消除瓶颈,这点通常是可以实现的。numpy就是一个很好地例子,它的运行速度真的非常快,因为很多算术运算其实并不是通过Python实现的。

6.Python用途非常广泛——web开发、人工智能、爬虫、云计算应用,等等。它也常被用作“胶水语言”,帮助其他语言和组件改善运行状况。

7.Python让困难的事情变得容易,因此程序员可以专注于算法和数据结构的设计,而不用处理底层的细节。

二、逻辑运算符

1.逻辑运算符 两边都是比较运算

and : 两个都为真,才为真,一个为假即为假

or : 两个有一个为真,即真;都为假,才假

not   : 相反,真not为假,假not 为真

逻辑运算符的 运算优先级:  ()  >  "> == < " > not > and > or

  1,3>4 or 4<3 and 1==1   False                         
  2,1 < 2 and 3 < 4 or 1>2  True
  3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1   True
  4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8   False
  5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6   False
  6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6  False

逻辑运算符

2.逻辑运算符 量表都为数字

 8 or 4        8
 0 and 3            0
 0 or 4 and 3 or 7 or 9 and 6    3

逻辑运算符两边都是数字

三、Python 2 和 Python 3区别

1.语法差异 Python2中raw_print()  在Python3中是print().等等

2.编码差异:Python2中默认编码是ASCII ;Python3中默认编码是UTF-8

四、ASCII、UTF-8、Unicode、GBK区别

ASCII

上个世纪六十年代,美国制定了一套字符编码,对二进制和英语符号之间的关系,被称为ASCII

ASCII一共制定了256个字符编码。第一位全为0,只占用一个字节的后7位

Unicode

随着越来越多的编码方式的出现,急需一种能够包含全世界所有符号的编码系统来消灭乱码,这种编码系统就叫做Unicode。

Unicode只是一套编码系统,包含所有字符集,却并不规定编码后的二进制代码如何存储。

使用4个字节存储每一个字符,但是对于英文字符来说,使用ASCII编码只需1个字节即可存储,这极大的浪费了存储空间。

UTF-8

因此出现了一种变长的编码方式UTF-8,UTF-8是使用得最广泛的Unicode编码实现方式,使用1-4个字节表示一个字符,根据不同的字符变化长度。比如对于英文字符,1个字节就够了,但是对于中文,可能需要2-4个字节才能存储。

五、表达式

5.1 a = 1 ,b = 3一行代码,  让a,b值互换

 a,b = b,a

六、Python什么情况下会产生浅拷贝:

  1. [:]切片操作
  2. 使用工厂函数
  3. 使用copy模块中copy()函数

七、send()和__next__()的区别

1.send()拥有__next__()一样的功能

2.send()可以放第一行,前提send(None)才行

3.send()可以给最后一个yield传值,但是获取不到

八、手写个装饰器  - 简单的万能装饰器

 def wrapper(func):
     def inner(*args,**kwargs):
         ret = func(*args,**kwargs)
         return ret
     return inner

 @wrapper
 def func():
     pass

 func()

九、终极-万能装饰器

 flag = False
 def wrapper_out(flag):
     def wrapper(func):
         def inner(*args,**kwargs):
             if flag:
                 '''函数执行前的操作'''
                 ret = func(*args,**kwargs)
                 '''函数执行后的操作'''
                 return ret

             else:
                 '''函数执行前的操作'''
                 ret = func(*args, **kwargs)
                 '''函数执行后的操作'''
                 return ret
         return inner
     return wrapper

 @wrapper_out(flag)
 def func():
     pass

 func()

00_Python面试题_迭代更新的更多相关文章

  1. 【前端面试】Vue面试题总结(持续更新中)

    Vue面试题总结(持续更新中) 题目参考链接 https://blog.csdn.net/weixin_45257157/article/details/106215158 由于已经有很多前辈深造VU ...

  2. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的

    ===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...

  3. MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

    MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...

  4. 一些有意思的面试题(持续更新) .C语言编程技巧札记

    一些有意思的面试题(持续更新) http://blog.csdn.net/wangyuling1234567890/article/details/38565239 C语言编程技巧札记 http:// ...

  5. Python_面试题_更新中

    Python-面试题 线上操作系统 centos py2和py3的区别 每种数据类型,列举你了解的方法 3 or 9 and 8 字符串的反转 is 和 == 的区别? git流程 v = (1) / ...

  6. 史上最全的Unity面试题(持续更新总结。。。。。。) 包含答案的Unity面试题

    这个是我刚刚整理出的Unity面试题,为了帮助大家面试,同时帮助大家更好地复习Unity知识点,如果大家发现有什么错误,(包括错别字和知识点),或者发现哪里描述的不清晰,请在下面留言,我会重新更新,希 ...

  7. python面试题(实时更新)

    1.以下代码输出为: list1 = {':2} list2 = list1 list1['] = 5 sum = list1['] print(sum) 解析:10 b = a: 赋值引用,a 和 ...

  8. SpringCloud 面试题 (持续更新、吐血推荐)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  9. Python 面试题_未完

    基础部分 1. 为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python, 然后自己通过百度和向有学过Python的同学了解了Python,Python这门 ...

随机推荐

  1. meterpreter_paranoid_mode.sh允许用户安全上演/无级连接Meterpreter经检查合格证书的处理程序正在连接到

    刚刚看完即刻安全大咖的新姿势感觉很6逼,结果成功了meterpreter_paranoid_mode.sh允许用户安全上演/无级连接Meterpreter经检查合格证书的处理程序正在连接到. 我们开始 ...

  2. JavaScript call()和apply()

    ECMAScript规范给所有函数都定义了call()与apply()两个方法,call()与apply()的第一个参数都是需要调用的函数对象,在函数体内这个参数就是this的值,剩余的参数是需要传递 ...

  3. Solr学习笔记2(V7.2)---导入自己的数据

    学而不思则罔,思而不学则殆,总是看文档不动手效果是不好的.没有实地的从自己的数据库获取数据测试一下始终是空,总结一下自己的操作步骤吧. 第一步准备配置文件 E:\Solr\server\solr\co ...

  4. thinkphp5自动完成

  5. Jpa 本地方式实现数据的持久化【千锋】

    Jpa本身支持多种方式的对象持久化,比如数据库方式,还有一种方式就是本地文件的方式,本文来讲解以本地方式实现的数据持久化,具体的资源大家可以参阅一下网站:http://www.objectdb.com ...

  6. phthon网络编程

    软件开发架构 既然谈起网络编程,就得说说软件开发的架构: c/s架构 C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入.输出设备,而是具有了一定的数据处理和数 ...

  7. ASP.NET导出word实例

    ASP.NET导出word实例 最近遇到一个题目就是如何在asp.net中将数据导出到word中,由于数据是动态的,所以需要在后台拼出想要的的格式,翻遍了网页找出了一个比较满意的代码,感谢那位高手.代 ...

  8. gRPC实战

    gRPC是Google开源的一款非常棒的系统间通信工具,完美的communication抽象,构建在protobuf之上的RPC. 下面我们聊聊它的应用场景,grpc为分布式系统而生,可以是系统间通信 ...

  9. linux 保留内核中sas驱动的加载导致crash问题

    [root@localhost ~]# uname -a Linux localhost.localdomain -.el7.x86_64 问题描述,在crash的时候,小内核因为分配中断号失败而触发 ...

  10. Oracle实战笔记(第七天)之PL/SQL进阶

    一.控制结构 控制结构包括:判断语句(条件分支语句).循环语句.顺序控制语句三种. 1.条件分支语句 if--then:简单条件判断 --编写一个过程,可以输入一个雇员名,如果该雇员名的工资低于200 ...