摘要: 有三个立柱A、B、C。A柱上穿有大小不等的圆盘n个,较大的圆盘在下,较小的圆盘在上。要求把A柱上的圆盘全部移到C柱上,保持大盘在下、小盘在上的规律(可借助B柱)。每次移动只能把一个柱子最上面的圆盘移到另一个柱子的最上面。请输出移动过程。 该问题用递归来实现较为简单方便 代码: def han(n,a 阅读全文
posted @ 2021-07-13 13:58 隐泉 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 如果我们想要在一个没有python环境的电脑上使用我们的程序该怎么办呢? 我们想到,在Windows平台可以将程序打包成exe可执行文件,而pyinstaller就可以帮我们将程序打包成exe文件。 pyinstaller安装 pip install pyinstaller pyinstaller使 阅读全文
posted @ 2020-11-07 07:33 隐泉 阅读(172) 评论(0) 推荐(0) 编辑
摘要: Python有专门的库读写excel文件,这些库包括 xlrd,xlwt,xlutils,openpyxl,xlsxwriter几种 excel老版本文件格式为xls,新版本为xlsx xlrd负责读取excel文件,支持格式xls,xlsx xlwt负责写入excel文件,只支持xls格式 xlu 阅读全文
posted @ 2020-11-07 07:32 隐泉 阅读(102) 评论(0) 推荐(0) 编辑
摘要: Python想要操控MySQL,先要安装库,在Python3.x下,该包名为MySQLclient。 安装,在cmd中运行:pip install MySQLClient 使用流程: 导入包-->创建Connection-->获取Cursor-->……-->关闭Cursor-->关闭Connecti 阅读全文
posted @ 2020-11-07 07:31 隐泉 阅读(83) 评论(0) 推荐(0) 编辑
摘要: OS:opreate system OS模块是Python标准库中的一个用于访问操作系统功能的模块 使用OS模块中提供的接口,可以实现跨平台访问 通用操作 1,获取平台信息 2,对目录的操作 3,判断操作 第一:系统操作 os.sep:系统路径的分隔符 os.name:你正在用的平台 os.gete 阅读全文
posted @ 2020-11-07 07:30 隐泉 阅读(218) 评论(0) 推荐(0) 编辑
摘要: pip是python的包管理工具,该工具提供了对包的下载,安装,删除,更新,查找等功能。 在Python2.7.9+和python3.4+以上版本都自带了pip工具。 pip官网:pypi.org/project/pip 可以通过pip --version检测是否安装 我在python的shell命 阅读全文
posted @ 2020-11-07 07:28 隐泉 阅读(159) 评论(0) 推荐(0) 编辑
摘要: IDLE是python自带的一个集成开发环境。具有的基本的功能是:文本编辑,段落缩进,单词自动完成,语法加亮,调试程序。 安装,只要安装python时没有取消tcl/TK组件安装即可。 启动后出现的第一个窗口是Python shell。即交互命令行解释器窗口。可以让你每次执行一条python命令。 阅读全文
posted @ 2020-11-07 07:27 隐泉 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 如何从众多的Python GUI框架和工具包中进行选择是个头疼的问题 Tkinter 模块Tk GUI 工具包的接口。 Tkinter 是 Python 的标准 GUI 库。 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能直接导入模块、而且 IDLE 也是用 阅读全文
posted @ 2020-11-07 07:24 隐泉 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 异常是一个对象,表示错误。 发生异常后要捕获并处理,否则程序将停止运行。 …… try: 可能发生异常的语句 except: 捕获到异常后的语句 finally: 不管是否捕获到异常,都会执行的语句 …… 一个try可以对应多个except子句。 要是在一个except里处理多个异常,则要求将多个异 阅读全文
posted @ 2020-11-02 21:52 隐泉 阅读(393) 评论(0) 推荐(0) 编辑
摘要: .whl文件是python的包文件 其本质是一个压缩包,里面包含了py文件,以及经过编译pyd文件或者其他文件,使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。 将.whl改为.zip,然后解压出来,可以看到里面的文件。 so文件,为liunx下的动态链接库文件,在wind 阅读全文
posted @ 2020-11-02 21:51 隐泉 阅读(1521) 评论(0) 推荐(0) 编辑
摘要: 1,dir()主要用来查看对象的属性 如: >a='a' >dir(a) 2,__doc__看属性文档 如: >a=[1,2] >a.__doc__ 3,help >help() >help(对象) 阅读全文
posted @ 2020-11-01 07:00 隐泉 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 模块:即.py文件,相当于函数。 包:为方便管理而将.py文件打包,包含__init__.py文件 库:提供相关功能模块的集合,使用者在库中查询需要的功能在自己的应用中使用,控制权在使用者手上。 框架:向用户提供一套解决方案,使用者要按照它的规定去开发,控制权在在框架本身。(就如开发商给我们造了房子 阅读全文
posted @ 2020-11-01 06:59 隐泉 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 创建一个类,如: class Dog: count=100 def __init__(self,name): self.name=name def sit(self): print(self.name) 根据类创建实例,如: my_dog=Dog("lucy",3) my_dog.sit() 注:c 阅读全文
posted @ 2020-10-31 21:53 隐泉 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一,顺序结构 语句1 语句2 …… 二,选择结构 if 表达式: 语句 if 表达式: 语句 else: 语句 if 表达式 : 语句 elif 表达式 : 语句 if 表达式 : 语句 elif 表达式 : 语句 else 表达式 : 语句 注:elif是排他性选择结构,即碰到条件成立,即退出选择 阅读全文
posted @ 2020-10-31 21:51 隐泉 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 自定义函数的形式如下: def 函数名称(参数): 函数体 return 值 函数的调用: 函数名称(参数) 难点在参数: 1,位置参数,如: def add(x,y): return x+y add(2,3) #两个参数的顺序必须一一对应, 少一个多一个都不行。 2,关键字参数 使用命名(关键字) 阅读全文
posted @ 2020-10-30 08:13 隐泉 阅读(309) 评论(0) 推荐(0) 编辑
摘要: Python变量使用不像java那样需要先声明变量的类型。如int a; int a=1; 而是: 变量名=值 这种形式。 变量必须赋值后才能被创建。 变量名可以由字母、数字、下划线组成;但不能以数字开头,不能与关键字相同,区分大小写。 允许同时为多个变量赋值 如:a=b=c=1; a,b,c=1, 阅读全文
posted @ 2020-10-30 08:12 隐泉 阅读(186) 评论(0) 推荐(0) 编辑
摘要: is和==是运算符 对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。 is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。 ==是用来比较判断两个对象的value(值)是否相等 is比较判断的是对象间的唯一身份标识,也就是id是否相同。 阅读全文
posted @ 2020-10-28 21:08 隐泉 阅读(722) 评论(0) 推荐(0) 编辑
摘要: if __name__=='__main__': 每个python模块(Python文件)都包含一个内置的变量__name__,里面存储着当前模块名。 当模块被直接在shell中执行时,当前模块名为:"__main__" 当模块被导入到其他Python文件时,当前模块名为:当前文件名称(.py) 即 阅读全文
posted @ 2020-10-28 21:06 隐泉 阅读(1278) 评论(0) 推荐(0) 编辑
摘要: 了解Firefox profile 参考:https://support.mozilla.org/zh-CN/kb/%E7%94%A8%E6%88%B7%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6 用户配置文件 您对 Firefox 做的所有更改,比如您的主页、工具栏、扩 阅读全文
posted @ 2020-10-18 13:26 隐泉 阅读(1117) 评论(1) 推荐(1) 编辑
摘要: time模块常用的方法: 1,time.time() 获取当前时间戳,自1970年1月1日0:00:00起到现在所经过的秒数。 2,time.ctime( ) 当前时间(本地时间)的字符串形式。 3,3、time.localtime( ) 当前时间的struct_time形式(元组) 4,time. 阅读全文
posted @ 2019-08-09 09:42 隐泉 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 参考:https://blog.csdn.net/weixin_41084236/article/details/81564963 实例001:数字组合 题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 最直观的解题思路:个、十、百位上循环放入1-4这四个数字, 阅读全文
posted @ 2019-08-08 18:07 隐泉 阅读(1142) 评论(0) 推荐(0) 编辑
摘要: 引用于https://www.jianshu.com/p/15715d6f4dad 当我们需要从某个对象中抽取部分值时,切片操作正是专门用于完成这一操作的有力武器。 以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例: 一、索引方式: 分为正索引和负索引 二、操作一般方式: 阅读全文
posted @ 2019-08-08 13:24 隐泉 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1、a=10 为一个变量赋值 2、a=b=10 同时为多个变量赋值 3、a,b,c='abc' 拆解序列,要一一对应 4、a,*b='abc' *b自动为变量b创建列表 5、a,b='abc',[1,2,3] 各自赋值 阅读全文
posted @ 2019-08-06 16:19 隐泉 阅读(9287) 评论(0) 推荐(0) 编辑
摘要: a = a + b 创建过程是:先创建的a+b的对象放入内存,然后变量a指向了a+b的对象,这事实上已经改变了a原本的指向,指向了新的地址。 a += b 创建过程是:把a原本指向内存地址的对象的值改变成了a+b,能不能改变取决于该对象的值能不能被改变。 对于可变对象类型和不可变对象类型有不同的结果 阅读全文
posted @ 2019-08-06 16:10 隐泉 阅读(3882) 评论(0) 推荐(1) 编辑
摘要: 代码如下: 输出:100 1 代码变为: 输出:200 200 阅读全文
posted @ 2019-08-06 12:04 隐泉 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 第一种情况:用在两表达式的中间,*表示乘法,**表示取幂,如: 第二种情况:用在变量的前面。 1,向函数传递参数,将变量中可迭代对象的元素拆解出来,作为独立的参数第传给函数,如: 对于**,变量为字典,将其拆解出来,单独传给函数。如: 2,在函数定义中使用,收集参数。将参数捕捉到一个元组中,如: 该 阅读全文
posted @ 2019-08-05 16:09 隐泉 阅读(4700) 评论(0) 推荐(1) 编辑
摘要: 循环语句有while和for while循环: while 循环条件: 语句 for循环:用于遍历任何序列 for 变量 in 序列: 语句 break语句用于跳出当前循环体 continue语句用于跳过当前循环快中的剩余语句,然后继续进行下一轮循环 else子句,它在穷尽列表(for循环)或条件变 阅读全文
posted @ 2019-08-05 12:38 隐泉 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 逻辑运算符有三种: and 与:只要有一个条件为假,则结果为假 or 或:只要有一个条件为真,则结果为真 not 非:条件与结果相反 优先级:not>and>or and和or也称作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它们的参数从左向右解 阅读全文
posted @ 2019-08-05 11:37 隐泉 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 摘自https://www.cnblogs.com/Dake-T/p/7376779.html 英文文档: print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False) Print objects to the text strea 阅读全文
posted @ 2019-08-05 09:01 隐泉 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: 迅雷下载地址如下: thunder://QUFodHRwOi8vZGwwMi55dXRvdS50djo5MjAvMTExMC9bMDHniYjlgJrlpKnlsaDpvpnorrBd56ysNDLpm4YvWzAx54mI5YCa5aSp5bGg6b6Z6K6wXeesrDQy6ZuGLm1wNF 阅读全文
posted @ 2019-08-03 10:43 隐泉 阅读(6450) 评论(0) 推荐(0) 编辑
摘要: python在1.5版本时使用re模块来处理正则表达式,提供perl风格的正则模式。 用处: a.判断字符串是否满足某个条件 判断输入的字符串是否是邮箱/ 手机号码。是否是ip地址b.提取满足条件的字符串c.字符串替换 编译正则表达式,使用re.compile 函数compile(pattern [ 阅读全文
posted @ 2019-07-17 19:47 隐泉 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 0,文件有两种类型:文本文件和二进制文件。 1,首先用到内置的open()函数,创建一个stream对象。 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opene 阅读全文
posted @ 2019-07-12 21:57 隐泉 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 由于HTTP协议是无状态协议,所以服务器与客户端通过http协议通讯时,服务器不能记录客户端的信息。 为了解决这个问题,通过 Cookie 和 Session 技术来实现。 Cookie保存在客户端中 Session保存在服务器中 cookie的属性 一般cookie所具有的属性,包括: Domai 阅读全文
posted @ 2019-07-01 16:00 隐泉 阅读(8398) 评论(0) 推荐(0) 编辑
摘要: 我们把对象(变量)从内存中变成可存储或传输的过程称为序列化,在Python中用pickle或json标准库。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输的别的计算机上。 pickle:支持Python里所有的数据类型(包括函数) json:支持str,int,tule,list,di 阅读全文
posted @ 2019-06-29 10:58 隐泉 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1,get(url) 在当前浏览器会话中访问传入的url地址 2,close() 关闭浏览器当前页面 3,quit() 退出webdriver并关闭所有窗口(推荐) 4,refresh() 刷新当前页面 注意,下面没有括号————————— 5,title 获取当前页面的标题 6,page_sour 阅读全文
posted @ 2019-06-28 06:00 隐泉 阅读(1555) 评论(0) 推荐(0) 编辑
摘要: 一,最大化启动浏览器,并访问url from selenium import webdriver option=webdriver.ChromeOptions() option.add_argument('--start-maximized') drive=webdriver.Chrome(opti 阅读全文
posted @ 2019-06-27 16:40 隐泉 阅读(1860) 评论(0) 推荐(0) 编辑
摘要: 过程: 1,启动浏览器:Chrome() 2,输入网址:get() 3,在输入框输入关键词 a,先查找输入框元素:find_element__id() b,输入关键词:send_keys() 4,单击“百度一下”按钮 a,提交表单:submit() b,单击鼠标:click() c,模拟键盘按下EN 阅读全文
posted @ 2019-06-26 07:38 隐泉 阅读(3257) 评论(0) 推荐(0) 编辑
摘要: 当然也可以启动完之后再设置,如 …… 阅读全文
posted @ 2019-06-25 19:40 隐泉 阅读(1684) 评论(0) 推荐(0) 编辑
摘要: 要模拟浏览器访问网页,网上较普遍的是用selenium+chromedriver+chrome浏览器。 一,安装selenium第三方库 在cmd命令行串口输入pip install selenium 二,安装webdriver 网上主要有三类浏览器,chrome和firefox和ie,我习惯用36 阅读全文
posted @ 2019-06-24 17:57 隐泉 阅读(5218) 评论(0) 推荐(0) 编辑
摘要: 摘自:https://www.cnblogs.com/liangmingshen/p/9274021.html 1、字符串前加 u 例:u"我是含有中文字符组成的字符串。" 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码 阅读全文
posted @ 2019-06-22 14:22 隐泉 阅读(392) 评论(0) 推荐(0) 编辑