python语言基础
  • 语言特点

    python是静态还是动态类型?是强类型还是弱类型

    • 动态强类型语言
    • 动态还是静态指的是编译期还是运作期确定类型
    • 强类型指的是不会发生隐式类型转换

    python作为后端语言优缺点

    • 胶水语言,轮子多,应用广泛
    • 语言灵活,生产力高
    • 性能问题、代码维护问题、pythn2/3兼容问题

    什么是鸭子类型

    • 关注点在对象的行为,而不是类型
    • 比如 file,StringIo,socket对象都支持read/write方法
    • 再比如定义了__iter__魔术方法的对象可以用for迭代

    什么是monkey path

    • 所谓monkey patch就是运行时替换
    • 比如gevent库需要修改内置的socket
    • from event import monkey; monkey.patch_socket()

    什么是自省?

    • 运行时判断一个对象的类型的能力
    • python一切皆对象,用type,id,isinstance获取对象类型信息
    • Inspect模块提供了更多获取对象信息的函数

    python之蝉

    • 编写关于python编程的准则

    • import this

    • 编程拿不准的时候可以参考

      import this
  • 语法基础

  • 高级特性

讲讲你觉得最有技术含量的项目???

python2/3差异

python3改进

  • print成为函数 ,python2是关键字

  • 编码问题。python3不在有unicode对象,默认str就是unicode

    #python2
    s = u'中文'
    type(s)
    unicode  "操作的时候使用画unicode"
    
    #python3
    s = '中文'
    type(s)  "保存的时候使用str"
    str
  • 除法变化

    python2
    
    5/2 = 2
    
    python3
    
    5/2 = 2.5
    5//2 = 2
  • python3类型注解

  • 优化super()方便直接调用父类函数

    #python2
    
    super(C,self)
    
    #python3
    
    super()
  • 高级解包操作。 a,b, *rest = range(10)

  • keyword only 限定关键字参数
  • python3重新抛出异常不会丢失栈信息
  • 一切返回迭代器(ran ge,zip,map,dict,values)

python3新增

  • yield from 链接子生成器
  • asyncio内置库,async/await原生协程
  • 新的内置库 enum,mock,asyncio

python3改进

  • 生成的pyc文件统一放到_pycache_
  • 一些内置库的修改。urllib,selector
  • 性能优化

python2/3工具

熟悉一些兼容2/3的工具

  • six模块
  • 2to3等工具转换代码
  • future

python面试总结1(基础章节)的更多相关文章

  1. Python面试基础篇

    1. 为什什么学习Python? Life is short, You need Python 2. 通过什什么途径学习的Python? pass 3. Python和Java.PHP.C.C#.C+ ...

  2. python 小白(无编程基础,无计算机基础)的开发之路 day1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  3. Python面试 【315+道题】

    Python面试 [315+道题] 第一部分 Python基础篇(80题) 为什么学习Python? 因为看到python的发展趋势,觉得需要与时俱进,第一点,python开发速度极快,能快速完成一个 ...

  4. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  5. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  6. Python运维开发基础-概述-简介

    Python基础知识分为以下几块 1.Python概述 2.基础语法 3.数据结构 4.Python进阶 5.实训案例 一.Python概述 1.Python简介 2.Hello World 3.搭建 ...

  7. python 3.x 爬虫基础---Urllib详解

    python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 前言 爬虫也了解了一段时间了希望在半个月的时间内 ...

  8. python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )

    python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...

  9. 利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  10. Python面试真题答案或案例

    Python面试真题答案或案例如下: 请等待. #coding=utf-8 #1.一行代码实现1--100之和 print(sum(range(1,101))) #2.如何在一个函数内部修改全局变量 ...

随机推荐

  1. UIImageView 自带动画+N张图片实现很炫的动画

    gitHub上又看到个很炫的动画:https://github.com/MartinRGB/GiftCard-iOS   看了看他的代码,发现核心动画(就是把按钮包装成一个礼物盒)其实很简单,就是把一 ...

  2. USACO翻译:USACO 2014 JAN三题(1)

    USACO 2014 JAN 一.题目概览 中文题目名称 滑雪场设计 滑雪降速 滑雪场评级 英文题目名称 skidesign slowdown skilevel 可执行文件名 skidesign sl ...

  3. Asp.Net Form验证不通过,重复登录

    问题产生根源: 当然,其实应该需要保持线上所有机器环境一致!可是,写了一个小程序.使用的是4.5,aysnc/await实在太好用了,真心不想把代码修改回去. so,动了念头,在这台服务器上装个4.5 ...

  4. 树莓pi快速ssh【校园网】

    校园网是NAT后的,没有显示器,我把路由器的DHCP服务关了,这样的情况下怎么ssh到树莓pi? 把树莓pi 连到路由器上(已经关闭DHCP),手机安装FING https://play.google ...

  5. JavaScript 自动生成 年月范围 选择

    近日做项目涉及到日期选择,为了用户界面友好,于是加入了一年内的年月段的查询功能,先看效果 会自动判断当前年份 以下为html代码 其中用到了 Jquery 和 struts 标签 但是这两个都不是重要 ...

  6. redis - java 基本操作

    import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; im ...

  7. SQLiteServer+SQLiteClient 用于.Net项目的SQLite服务端程序和客户端类库

    SQLite没有官方的支持CS方式调用的方式,因项目需要我自行开发了一个简易的版本. 当前版本支持的方法 SQLiteOpen(fileName):bool SQLiteClose():void SQ ...

  8. Linux 离线安装Rubygems详解

    很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装RubyGems,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如 ...

  9. Visual Studio 2013 SDK 扩展之简介

    Release Notes:[发行说明]启动记事本的扩展,以管理员身份运行验证通过. Getting Started Guide:[入门]使用[Ctrl + 1]更快捷打开记事本 More Info ...

  10. C# Task.Run 和 Task.Factory.StartNew 区别

    Task.Run 是在 dotnet framework 4.5 之后才可以使用,但是 Task.Factory.StartNew 可以使用比 Task.Run 更多的参数,可以做到更多的定制.可以认 ...