python for循环

常见python面试题

梦想的初衷 提交于 2020-02-26 18:54:03
1,简述列举了解的编程语言及语言间的区别? Python 解释型语言,代码简洁,易懂 C语言 编译型语言,底层语言 c++ 编译型语言,在C语言基础上加了面向对象 Java 混合型语言,可拓展性高 Golang 编译型语言,强类型,代码规范,高并发 语言特点: 灵活简洁,语言优美 可读性强, 语言类型: 解释型:逐行转化,运行效率低,性能差,开发效率高。兼容性好,跨平台 编译型 :一次性编译成二进制文件,执行效率高,兼容性差, 动态语言:不用声明变量的数据类型(脚本类语言) 静态语言:需要声明变量的数据类型 第三方库:python定位是任其发展,开源库很多,应用领域广 2,列举Python2和Python3的区别? python2只更新支持到2020年 print:2不加括号,3加括号 input:2中用户输入解析为int类型,raw_input为字符串类型,3直接是字符串类型 range:2是列表,xrange是可迭代对象;3是可迭代对象 继承关系:2是新式类+经典类;3是新式类 数字表示:2,int和long(长整形,超出2**63-1,数字末尾有一个L);3所有整型都是int 3,看代码写结果: v1 = 1 or 2 # v1 = 1 v2 = 3 and 3 or 9 and 0 # v2 = 7 4,以下的值有什么不同? v1 = [1,2,3] v2 = [(1),

Python 流程控制

北慕城南 提交于 2020-02-26 12:10:53
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 一、if语句 1) 每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。 2) 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。 3) 在Python中没有switch – case语句。 1、单分支 if 条件:   满足条件后要执行的代码 var = 1 if var > 0: print('True') 2、双分支 if 条件: 满足条件执行代码 else:   if条件不满足就走这段 var = 1 if var > 1: print('True') else: print('False') 3、多分支 if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else:   上面所有的条件不满足就走这段 age_of_yim = 25 guess = int(input('>>>:')) if guess > age_of_yim: print('猜的太大了') elif guess < age_of_yim: print('猜的太小了') else: print('猜对了') 二、 if嵌套 在嵌套

python基础

自闭症网瘾萝莉.ら 提交于 2020-02-26 11:58:33
1:简述列举了解的编程语言及语言间的区别? 编程语言实质上分为:解释型和编译型两种,两种语言实质上是执行机制的不同 编译型语言是指将代码一次性编译生成可执行文件,如果代码出现错误,就需要从头开始编译,缺点是开发效率低,代表是c语言 解释型语言是指将代码交给解释器,由解释器逐行翻译成代码,并且执行,优点是开发效率高,缺点是运行速度慢,需要依赖解释器,代表是python 2:列举python2 和python3的区别? 1、print:在python2中,print被视为一个语句而不是一个函数,python3中,print()被视为一个函数 2、整数的除法:在python2中,键入的任何不带小数的数字,将被视为整数的编程类型。比如5/2=2,解决方法:5.0/2.0=2.5 在python3中,整数除法变得更直观 5/2=2.5 3、Unicode:Python 2 默认使用 ASCII 字母表;Python 3 默认使用 Unicode 4:long整数类型被Python2废弃,统一使用int 5:xrange和range py2:xrange     range py3:range 统一使用range,Python3中range的机制也进行修改并提高了大数据集生成效率 6:包中的__init__.py Python2: 必须要有 Pyhon3: 有没有无所谓 7:新式类

Python面试重点(基础篇)

こ雲淡風輕ζ 提交于 2020-02-26 11:52:46
第一部分 必答题 1,简述列举了解的编程语言及语言间的区别? Python 解释型语言,代码简洁,易懂 C语言 编译型语言,底层语言 c++ 编译型语言,在C语言基础上加了面向对象 Java 混合型语言,可拓展性高 Golang 编译型语言,强类型,代码规范,高并发 语言特点: 灵活简洁,语言优美 可读性强, 语言类型: 解释型:逐行转化,运行效率低,性能差,开发效率高。兼容性好,跨平台 编译型 :一次性编译成二进制文件,执行效率高,兼容性差, 动态语言:不用声明变量的数据类型(脚本类语言) 静态语言:需要声明变量的数据类型 第三方库:python定位是任其发展,开源库很多,应用领域广 2,列举Python2和Python3的区别? python2只更新支持到2020年 print:2不加括号,3加括号 input:2中用户输入解析为int类型,raw_input为字符串类型,3直接是字符串类型 range:2是列表,xrange是可迭代对象;3是可迭代对象 继承关系:2是新式类+经典类;3是新式类 数字表示:2,int和long(长整形,超出2**63-1,数字末尾有一个L);3所有整型都是int 3,看代码写结果: v1 = 1 or 2 # v1 = 1 v2 = 3 and 3 or 9 and 0 # v2 = 7 4,以下的值有什么不同? v1 = [1,2,3] v2

Python简明教程

微笑、不失礼 提交于 2020-02-26 10:42:37
Python简明教程 Python一小时快速入门 1.Python简介 pylogo.png Python是一种相当高级的解释性程序设计语言,完成同一个任务C语言可能需要几千行代码 Java要写100行,Python可能只需要20行。 用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。 Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。 但是,对于初学者和完成普通任务,Python语言是非常简单易用的。 python提供了完善的内置库,覆盖了网络、文件、GUI、数据库、文本等大量内容,用python开发,很多功能不必从零编写,直接使用现成的即可。 除了内置库外,Python还有大量第三方库,也就是别人开发的,可以直接使用的。当然如果你的代码封装的很好,也可以作为第三方库给别人使用。 python适合开发网络应用、日常小工具、科学计算等活动。 2.安装Python Python有两个版本,2.x和3.x互不兼容,按需求安装即可。 安装教程参考我的

Python性能优化的20条建议

会有一股神秘感。 提交于 2020-02-26 10:33:59
优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。 减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。 合理使用copy与deepcopy 对于dict和list等数据结构的对象,直接赋值使用的是引用的方式。而有些情况下需要复制整个对象,这时可以使用copy包里的copy和deepcopy,这两个函数的不同之处在于后者是递归复制的。效率也不一样:(以下程序在ipython中运行) import copy a = range(100000) %timeit -n 10 copy.copy(a) # 运行10次 copy.copy(a) %timeit -n 10 copy.deepcopy(a) 10 loops, best of 3: 1.55 ms per loop 10 loops, best of 3: 151 ms per loop timeit后面的-n表示运行的次数,后两行对应的是两个timeit的输出,下同。由此可见后者慢一个数量级。 使用dict或set查找元素 python

Python开发【第一篇】:初识Python

主宰稳场 提交于 2020-02-26 02:32:01
python简介: 一、什么是python Python,是一种面向对象、直译式的计算机程序语言。 二、python能做什么 1. web程序 Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。使用Python语言编写的Gunicorn作为Web服务器,也能够运行Python语言编写的Web程序。Python定义了WSGI(Web Server Gateway Interface)标准应用接口来协调Http服务器与基于Python的Web程序之间的沟通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可以让程序员轻松地开发和管理复杂的Web程序。 Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络蠕虫。第三方库Twisted支持异步在线编写程序和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。另有gevent这个流行的第三方库,同样能够支持高性能高并发的网络开发。 2. GUI开发 Python本身包含的Tkinter库能够支持简单的GUI(Graphical User Interface)开发

Python的生成器和迭代器之间的区别

十年热恋 提交于 2020-02-25 21:03:43
迭代器和生成器有什么区别? 有关何时使用每种情况的一些示例会有所帮助。 #1楼 迭代器: 迭代器是使用 next() 方法获取序列的下一个值的对象。 发电机: 生成器是使用 yield 方法生成或生成值序列的函数。 生成器函数(如以下示例中的ex: foo() 函数)返回的生成器对象(如以下示例中的ex: f next() 上的每个 next() 方法调用,都会按顺序生成下一个值。 调用生成器函数时,它甚至不开始执行该函数就返回生成器对象。 首次调用 next() 方法时,该函数开始执行直到到达yield语句,该语句返回产生的值。 收益跟踪(即记住上一次执行)。 第二个 next() 调用从上一个值继续。 下面的示例演示了yield和生成器对象上的next方法的调用之间的相互作用。 >>> def foo(): ... print "begin" ... for i in range(3): ... print "before yield", i ... yield i ... print "after yield", i ... print "end" ... >>> f = foo() >>> f.next() begin before yield 0 # Control is in for loop 0 >>> f.next() after yield 0 before

Python入门——基本数据类型的操作

不羁的心 提交于 2020-02-25 19:41:00
一、数字类型(int、float类型) 1、操作: 比较运算: int 与 float 之间是可以比较大小( 同类型之间才能比较大小 ) 数学运算: +-*/ , int 与 float 之间也可以进行数学运算 print(10 > 3.1) print(10 * 3.1) print('x' > 'y') print([1,2,3] > [4,5]) 二、字符串 优先掌握的操作: 1、按索引取值(正向取+反向取) :只能取 name='egon' print(name[0]) print(name[-1]) # name[0]='E' # 错误,字符串只能按照索引取值 # 列表可以修改指定位置的值 # l=['aaa','bbb','ccc'] # l[0]='AAA' # print(l) 2、切片(顾头不顾尾,步长):从一个大的字符串中copy出来了一个子字符串,原字符串不变 msg='hello egon' print(msg[1:4]) print(msg) msg = 'hello egon' # 把原字符串完成拷贝一遍 print(msg[0:10]) print(msg[0:len(msg)]) print(msg[0:]) print(msg[:]) # 隔一个取 msg='hello egon' print(msg[0:10:2]) # 0 2 4 6 8 h

RF之关键字、变量、循环-2

让人想犯罪 __ 提交于 2020-02-25 19:00:05
关键字的使用: RF的能力是由关键字提供的,所以,我们必须对RF的常用关键字有个了解 。 最常用的关键字就在RF的关键字中。 http://robotframework.org 其中Builtin是标准库中的内置库,Shotcuts Keywords就是关键字目录表。 关键字参数: Should Be Equal 是否相等 Should Be True 特殊关键字 RF会直接用python解释器的eval函数,来解释这个参数表达式 *注意*:should be true和python的两个区别:1- 变量前面加个$符号 2- 不能中间有多于两个空格 Should Contains 是否包含 set Variable 设置变量 只支持赋值一个字符串给变量,若想赋值一个整数或浮点数,需用到Convert To Interger 或Convert To Number log 日志 log to console 打印到控制台 sleep 睡眠 认识测试库: 通常,关键字是由测试库提供的,其实测试库就是python模块文件。关键字就是python库里面的函数和类的方法。 RF本身就是个python程序,所以它的寻找库文件和python是一样的,最终是通过sys.path。 我们在哪个目录下面运行robot,那个目录就是当前工作目录。当前工作目录就是在sys.path里面的