python实例

python基础面试题整理---从零开始 每天十题(03)

别说谁变了你拦得住时间么 提交于 2020-03-06 02:54:36
一、Q: 用Python输出一个Fibonacci数列?(斐波那契额数列)   A:我们先来看下代码 #!/usr/bin/env python # -*- coding: utf-8 -*- def fib_recur(n): if n <= 1: return n return fib_recur(n - 1) + fib_recur(n - 2) for i in range(1, 20): print(fib_recur(i), end=" ") 我们来详细的看一下代码,我们知道斐波那契数据为1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,由此我们可以得知,   F(0) = 0   F(1) = 1,   F(2) = F(1) + F(0),   F(3) = F(2) + F(1),   F(4) = F(3) + F(2),   F(5) = F(4) + F(3) 所以我们可以得知F(n) = F(n-1) + F(n-2)。 二、Q:介绍一下Python中webbrowser的用法?   A:webbrowser主要是用来驱动浏览器进行操作的,最简单的实例。 #!/usr/bin/env python # -*- coding: utf-8 -*- import webbrowser as

刘硕的技术查阅手册

可紊 提交于 2020-03-06 02:00:22
目录 技术查阅手册 Python - 基础 Python - 进阶 数据库 Django Web 前端 Git 测试自动化 Linux 综合项目 Hexo 学习实践笔记 官方文档翻译 树莓派 Bug 宝典 下面的链接暂时基本都不能用,我正在努力把博客往博客园同步。 我的个人博客在 https://sliu.vip 这里是正常运行的,若有需求,可以访问这里 技术查阅手册 Python - 基础 背景讨论与 Python 环境部署 计算机基础: 计算机基础知识总结 Python 环境部署: Python 的版本选择与安装细节 | 环境变量的配置 | 后缀名显示方法 | Visual Studio Code Python 环境部署 笔记与博客: 码云初识 | Markdown 常用语法 | 技术博客制作 | 思维导图 | 排 bug 技巧 Python 基本语法 Python 中的数据类型: 变量、常量和注释 | 整型、字符串和布尔值 | 字符串的格式化 | 字符串方法详解 | f-strings 详解 | 整型数据和进制转换 | 列表 | 元组 | 字典 | 集合 | Python 中表示 False 的方法 | 基础数据类型补充和总结 流程控制和基本运算: 用户交互语句 | 索引和切片 | 流程控制语句 | while 循环 | 运算符 | for 循环 | 解构 | 推导式 函数:

python入门--运算符

痴心易碎 提交于 2020-03-05 23:21:28
一、算数运算符 1.算术运算符 python的算数运算符基本与数学一致,此处我们用x=9,y=2来表示 算数运算符 描述 实例 + 加,两个value值相加 x + y-->11 - 减,两个value值相减 x - y-->7 * 乘,两个value值相乘 x * y-->18 / 除,相除后得到的返回值会保留整数与小数部分 x / y-->4.5 // 取整数,相除后得到的返回值只保留整数部分 x // y-->4 % 取余,相除后只返回余数 x // y-->1 ** 幂,取一个数的n次方 x ** y-->81 2.比较运算符 此处我们用x=9,y=2来表示 比较运算符 描述 实例 == 等于,两个value值相等则返回True,否则返回False x == y -->False != 不等于,两个value值相等则返回True,否则返回True x != y -->True > 大于 x > y -->True >= 大于等于 x >= y-->True < 小于 x < y -->False <= 小于等于 x <= y -->False 3.赋值运算符 python中除了用“=”这个赋值符号之外,还有链式赋值、交叉赋值、解压赋值,这些赋值运算符的存在使得代码更加简洁 3.1增量赋值 赋值运算符 描述 实例 = 简单赋值运算 x = 10 += 加法赋值运算 x +=

《自拍教程36》段位三_Python面向对象类

落花浮王杯 提交于 2020-03-05 22:48:36
函数只能面向过程,来回互相调用后顺序执行, 简单的编码项目,还能应付的过来, 复杂的大型项目,调用多了,就会乱。 如何才能不乱呢,可尝试下, 面向对象类的概念, 将现实世界的事物抽象成对象,将现实世界中事物的关系抽象成类, 即要秉着“万物皆对象,一切皆可归类”的中心思想, 去建立你的代码模型。 一听特别晕乎,我也一样, 我学Python的时候,写了将近大半年的面向过程函数, 由于我也无法深入理解到面向对象类的概念, 当时就是无法将代码写成面向对象类的形式。 直到自己去慢慢学习面向对象类的概念,慢慢写大型一点的软件项目, 秉着“万物皆对象,一切皆可归类”的中心思想, 才恍然发现,面向对象类,真是好东西, 比函数严谨多了。。。。。 初级面向对象类的建模 小项目或小工具的代码实现,模型比较简单: 脑海里虚拟一个空白的世界,想象下这个世界有哪类事物(一般是名词), 比如我们常用的包括:学生类,员工类,课程类等。 比如我们本章节介绍的下载的脚本,如果要进行面向对象类的实现, 肯定是可以的, 虽然实际编码过程中,我们可能用函数实现就足够了, 但是秉着“万物皆对象,一切皆可归类”的中心思想。 可创建一个下载器类, 下载器的类初始化(新建一个对象)是接入一个url, 代表一个具备下载某个url的实例对象。 如下: # coding=utf-8 import os import requests

Python : 使用Pillow模块(加载、查看属性、显示)图片

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-05 18:15:27
from PIL import Image #打开一个jpg文件,注意是当前路径: im = Image . open ( 'E:\\c4dWORK\\2.jpg' ) #使用实例属性检查文件内容 print ( im . format , im . size , im . mode ) #显示图像 im . show ( ) 输出: JPEG ( 1920 , 1908 ) RGB PIL模块中最重要的 类 Image ,创建Image实例的方法: 从文件中加载图像 处理其他图像 从头创建图像 从文件中加载图像,使用Image模块中的 open( ) 功能 。 format属性标识图像的来源,size是图片的像素大小,mode是指图片的模式 - 灰度模式、RGB、CMYK 。 功能show( )用来显示图像 。 Pillow中文手册 来源: CSDN 作者: 斜梯 链接: https://blog.csdn.net/weixin_40783274/article/details/104677258

python迭代器与iter()函数实例教程

我与影子孤独终老i 提交于 2020-03-05 14:24:07
python迭代器与iter()函数实例教程 发布时间:2014-07-16编辑: 脚本学堂 本文介绍了python迭代器与iter()函数的用法,Python 的迭代无缝地支持序列对象,而且它还允许程序员迭代非序列类型,包括用户定义的对象。 迭代器是在版本 2.2 被加入 Python 的,它为类序列对象提供了一个类序列的接口。 序列是一组数据结构,你可以利用它们的索引从0 开始一直“迭代“ 到序列的最后一个条目。 用“计数“的方法迭代序列是很简单的。 Python 的迭代无缝地支持序列对象,而且它还允许程序员迭代非序列类型,包括用户定义的对象。 迭代器用起来很灵巧,可以迭代不是序列但表现出序列行为的对象,例如字典的 key,一个文件的行等。 当使用循环迭代一个对象条目时,几乎不可能分辨出它是迭代器还是序列。不必去关注这些,因为 Python 让它象一个序列那样操作。 如何迭代? 迭代器就是有一个 next() 方法的对象,而不是通过索引来计数。当你或是一个循环机制(例如 for 语句)需要下一个项时,调用迭代器的 next() 方法就可以获得它。条目全部取出后,会引发一个 StopIteration 异常,这并不表示错误发生,只是告诉外部调用者,迭代完成. 不过,迭代器也有一些限制。例如你不能向后移动,不能回到开始,也不能复制一个迭代器.如果你要再次(或者是同时)迭代同个对象

python知识点记录

隐身守侯 提交于 2020-03-05 13:24:20
1、在导入一个包的时候,Python 会根据目录只有包含一个叫做 __init__.py 的文件才会被认作是一个包,放一个空的 :file:__init__.py就可以了。 2、类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self,self代表的实例,self.__class__指向类。 3、类中以"__"开头定义的变量为私有变量; 4、pip升级:linux: pip2/3 install -U pip windows: python2/3 -m pip install -U pip 5、xpath路径表达式: 6、 json: 对json模块的方法的注释:dump和dumps(从Python生成JSON),load和loads(解析JSON成Python的数据类型);dump和dumps的唯一区别是dump会生成一个类文件对象,dumps会生成字符串,同理load和loads分别解析类文件对象和字符串格式的JSON。 7、python调试默认为warnning级别,只有大于该级别的才生效,日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别。 使用教程 8、python连接mysql,ip地址填写"127.0.0.1",而不是

记录遇到的Python陷阱和注意点

一个人想着一个人 提交于 2020-03-05 13:24:02
最近使用Python的过程中遇到了一些坑,例如用 datetime.datetime.now() 这个可变对象作为函数的默认参数,模块循环依赖等等。 在此记录一下,方便以后查询和补充。 避免可变对象作为默认参数 在使用函数的过程中,经常会涉及默认参数。在Python中,当使用可变对象作为默认参数的时候,就可能产生非预期的结果。 下面看一个例子: def append_item(a = 1, b = []): b.append(a) print b append_item(a=1) append_item(a=3) append_item(a=5) 结果为: [1] [1, 3] [1, 3, 5] 从结果中可以看到,当后面两次调用 append_item 函数的时候,函数参数b并没有被初始化为 [] ,而是保持了前面函数调用的值。 之所以得到这个结果,是因为在Python中, 一个函数参数的默认值,仅仅在该函数定义的时候,被初始化一次 。 下面看一个例子证明Python的这个特性: class Test(object): def __init__(self): print("Init Test") def arg_init(a, b = Test()): print(a) arg_init(1) arg_init(3) arg_init(5) 结果为: Init Test 1 3

PyQt(Python+Qt)学习随笔:QTableWidget设置项的setItem方法

二次信任 提交于 2020-03-05 08:15:51
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget表格部件中setItem用于在表格部件QTableWidget创建后,设定指定行和指定列的项为一个QTableWidgetItem实例对象。调用语法如下: setItem(int row, int column, QTableWidgetItem item) 注意: 该方法没有返回值,但会触发itemChanged信号 在使用setItem之前,需要确保表格部件的行数和列数已经设置,且参数 row和column在行数和列数的范围内,否则设置不会成功,这也意味着表格部件的行数和列数不能随着项的增加自动增加,必须预定义好 示例代码: for row in range ( 5 ) : for col in range ( 3 ) : item = QtWidgets . QTableWidgetItem ( f "({row},{col})" ) self . tableWidget . setItem ( row , col , item ) 老猿Python,跟老猿学Python! 老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 来源: CSDN 作者: LaoYuanPython 链接: https:/

编程语言工具和环境

此生再无相见时 提交于 2020-03-04 19:58:19
什么是python的生成器? python生成器是一个返回可以迭代对象的函数,可以被用作控制循环的迭代行为。生成器类似于返回值为数组的一个函数,这个函数可以接受参数,可以被调用,一般的函数会返回包括所有数值的数组,生成器一次只能返回一个值,这样消耗的内存将会大大减小。 yield生成器解释 Java抽象类和接口的区别? Java中,一个类可以实现多个接口,但是一个类只能继承一个抽象类。 接口中只包含接口签名,而抽象类可以提高默认实现,子类可以重载抽象类方法。 接口中默认的所有方法均为public修饰,而抽象类可以用protected修饰符。 接口中不允许定义任何属性,而抽象类中可以定义属性和常量在应用场景中。 在应用场景中使用接口来完成同一方法的不同实现,若不同的方法实现需要共享同样的行为或状态则用抽象类。 python中is和==的区别 is是用来判断两个变量引用的对象是否为同一个,==用于判断引用对象的值是否相等。可以通过id()函数查看引用对象的地址。 python方法解析顺序 Python的方法解析顺序优先级从高到低为:实例本身->类->继承类(继承关系越近,越先定义,优先级越高) 方法解析:是一种在多重继承中用于确定方法搜索顺序的算法. Ctrl+C程序挂掉还是抛出异常,如何判断两个dict是否一样,list头上删除元素,字符串拼接? Ctrl+C会挂掉程序