Python学习日记
文章平均质量分 60
人生苦短,我用python
Franda914
人生苦短,我用Python!
展开
-
Python基础:装饰器
装饰器自身时一个返回可调用对象的可调用对象,也就是返回了一个对象,当通过其最初名称调用被装饰函数的时候,将会调用这个对象—它可以时拦截之后调用的一个包装器对象,也可以是以某种方式扩展的最初函数。(装饰器可以是任意类型的可调用对象,并且返回任意类型的可调用对象。装饰器本身采取可调用对象的形式(如函数),并处理其他可调用对象。在不改变函数调用方式的前提下,实现身份的识别(扩展功能),需要使用装饰器(本质是闭包)值改回inner装饰之前的值,解决函数被装饰后名称改变的问题。可以将函数的运行结果赋给另一个函数。原创 2023-07-20 12:18:21 · 153 阅读 · 0 评论 -
Python基础:面向对象编程
并且在父类中要在初始化后面加入万能参数来接受子类传入的参数传递。同时父类也需要去写一个super初始化方法来调用父类的初始化方法。总结:如果要用super关键字实现多继承的父实例属性的自动化构造方法,需要将给父类传入的参数变成万能参数的形式。关键字来定义一个方法,类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称:如。代表类的实例,而非类,self为类的方法调用时传送的参数。父类方法的功能不能满足需求,可以在子类重写父类的方法。的一个实例,然后通过该实例调用。原创 2023-07-09 20:36:21 · 283 阅读 · 0 评论 -
Python基础:模块
用户通过导入其他模块,可以使用该模块中定义的变量、函数和类,从而重用其功能。from*形式只是多了一个步骤,即把模块中所有名称复制到了进行导入的作用域中,本质上就是把一个模块的命名空间纳入另一个模块中。会把特定名称从一个文件复制到另一个作用域,所以它可以让我们直接在脚本中使用复制后的名称,而不需要通过模块。:是特殊的from形式,当我们用*代替特定的名称时,会取得模块顶层被赋值的所有名称的副本。客户端使用模块提高的函数时,无须了解其实现细节,模块和客户端之间遵循的契约称为API。,才能获取其中的名称。原创 2023-07-05 17:21:07 · 113 阅读 · 0 评论 -
Python基础:函数和函数式编程
在函数体中可以定义嵌套函数,在嵌套函数中如果要为定义在上级函数体的局部变量赋值,可以使用nonlocal语句,表明变量不是所在块的局部变量,而是在上级函数体中定义的局部变量。如果要为定义在函数外的全局变量赋值,可以使用global语句,表明变量是在外面定义的全局变量。在函数体中可以引用全局变量,但如果函数内部的变量名时第一次出现在赋值语句之前(变量赋值),则解释为定义局部变量。在函数体内使用return语句可以从函数中返回一个值并跳出函数的功能。优势:结构体简单,函数体简短场景适用,即用即弃。原创 2023-07-05 17:17:06 · 1012 阅读 · 0 评论 -
Python基础:错误与异常
虽然Python库中提供了许多异常,但在应用程序开发过程中,有时候需要定义特定于应用程序的异常类,表示应用程序的一些错误类型。。原创 2023-07-05 17:16:10 · 642 阅读 · 0 评论 -
Python基础:控制流
当迭代对象完成所有迭代后且此时迭代对象为空,如果存在else子句则执行else子句,没有则继续执行后续代码;for语句用于遍历可迭代对象集合中的元素,并对集合中每个元素执行一次相关嵌入的语句。当集合中所有元素完成迭代后,控制传递给for 之和的下一个语句。如果while循环结构中的循环控制条件一直为真,则循环将无限继续,程序将一直运行下去,从而形成死循环。:用于将一个函数应用于一个可迭代对象的每个元素,并返回一个包含结果的迭代器。python提供了一套内置函数,可以在for循环中定制迭代。原创 2023-07-05 17:15:10 · 113 阅读 · 0 评论 -
Python基础:数据类型
也就是每个键对应的数值都是3。原创 2023-07-05 17:15:14 · 463 阅读 · 0 评论 -
Python经典入门100题 (1-10题)
Python入门练手,有这100题就够了!原创 2020-07-17 18:36:07 · 3689 阅读 · 0 评论 -
Python经典入门100题 (41-50题)
题目地址: https://blog.csdn.net/weixin_41084236/article/details/81564963转载请标注: https://blog.csdn.net/qq_43582207代码编写过程中是自己发挥的,只代表其中一种方法,仅供学习参考运行版本:Python3.7作者:My apologize41-50题实例041:类的方法与变量实例042:变量作用域实例043:作用域、类的方法与变量实例044:矩阵相加实例045:求和实例046:打破循环实例047:函.原创 2020-07-24 17:05:26 · 2496 阅读 · 0 评论 -
Python经典入门100题 (31-40题)
题目地址: https://blog.csdn.net/weixin_41084236/article/details/81564963转载请标注: https://blog.csdn.net/qq_43582207代码编写过程中是自己发挥的,只代表其中一种方法,仅供学习参考运行版本:Python3.7作者:My apologize31-40题实例031:字母识词实例032:反向输出II实例033:列表转字符串实例034:调用函数实例035:设置输出颜色实例036:算素数实例037:排序实例0.原创 2020-07-23 18:32:16 · 2522 阅读 · 0 评论 -
Python经典入门100题 (21-30题)
Python入门练手,有这100题就够了!原创 2020-07-22 11:35:53 · 2916 阅读 · 0 评论 -
Python经典入门100题 (51-60题)
题目地址: https://blog.csdn.net/weixin_41084236/article/details/81564963转载请标注: https://blog.csdn.net/qq_43582207代码编写过程中是自己发挥的,只代表其中一种方法,仅供学习参考运行版本:Python3.7作者:My apologize51-60题实例051:按位与实例052:按位或实例053:按位异或实例054:位取反、位移动实例055:按位取反实例056:画圈实例057:画线实例058:画矩形.原创 2020-07-27 19:37:00 · 2539 阅读 · 0 评论 -
Python经典入门100题 (11-20题)
Python入门练手,有这100题就够了!原创 2020-07-21 15:37:16 · 2407 阅读 · 0 评论 -
超详细讲解如何五步画出立体彩色雪花
话不多说先上最终效果图:这个程序需要用到 turtle 库绘制图案, random 库获取随机颜色,以及 递归 的算法具体的详细turtle库使用说明,推荐这个链接,非常详细》》》:turtle库官方文档简体中文那这个程序怎么绘制呢?首先用递归绘制一个3阶科勒曲线,代码有注释就不细说了,直接看代码》》》step1: 定义一个函数koch有两个参数一个是长度,一个是次数def koch(size, n): if n == 0:#当n为0时,画一条直线 turt原创 2020-07-26 11:19:02 · 3761 阅读 · 2 评论 -
python小练习----七段数码管
废话不多说直接上代码:import turtle,datetimedef drawgrape():# 画一段间隙 turtle.penup() turtle.fd(5)def draw_dight(draw):#画一段数字管 drawgrape() turtle.pendown() if draw else turtle.penup() turtle.fd(40) drawgrape() turtle.right(90)def draw_se原创 2020-07-25 16:32:33 · 2242 阅读 · 0 评论 -
python小练习:递归解决科勒n阶曲线问题
import turtledef koch(size, n): if n == 0: turtle.fd(size) else: for angle in [0, 60, -120, 60]: turtle.left(angle) koch(size/3, n-1)def main(): turtle.setup(800, 400) turtle.penup() turtle.goto原创 2020-07-25 13:26:53 · 2193 阅读 · 0 评论 -
python简单练习:递归解决汉尼塔问题
**汉尼塔**这是个比较常见的问题 我就直接说了,应该都懂。我们如何用递归解决这个问题呢?我们又如何完全解决这一类问题?基本情况又是什么?让我 们从递归调用的最底端入手。假设你有一个五个圆盘组成的塔,最开始在一号杆上。如果你已经知 道如何将有四个圆盘的小塔从一号杆移到二号杆,就可以很容易地将第五个圆盘移动到三号杆,然后将 四个圆盘的塔从二号杆移动到三号杆。但是如果你不知道如何移动有四个圆盘的塔呢?这时又假设 你知道如何将有三个圆盘的塔移到三号杆;然后你就可以将第四个圆盘移动到二号杆,然后再将位 于三原创 2020-07-25 13:24:03 · 2236 阅读 · 0 评论 -
Python小练习:文本进度条
import time#text_probar.py#文本进度条sacal = 50# print('{:=^60}'.format(' 开始 '))print('开始'.center(sacal+10,'-'))begin = time.perf_counter()for i in range(sacal+1): a = '*' * i b = '-' * (sacal-i) c = i/sacal*100 time.sleep(0.25) dur原创 2020-07-11 18:47:00 · 2145 阅读 · 0 评论 -
time库小总结及strftime格式化控制符
1.首先是strftime格式化控制符查看struct_time发现里面最后三个参数不知道什么意思,网上查询了一下得出以下结论:tm_year: 年tm_mon: 月tm_mday: 日tm_hour: 小时tm_min:分tm_sec: 分tm_sec: 秒tm_wday: 一周中索引([0,6], 周一的索引:0)tm_yday: 一年中索引([1,366])tm_isdst: 为0是获取的不是夏令时,1是夏令时,-1无法获取是不是夏令时2.总结time库明确几个名词:时原创 2020-07-11 10:28:43 · 2399 阅读 · 0 评论 -
python练习:凯撒密码
话不多说先上代码#CasesarEncoderestxt = input()for str in restxt: if 'a' <= str <= 'z': print(chr(ord('a') + (ord(str)-ord('a')+3)%26),end='') elif 'A' <= str <= 'Z': print(chr(ord('A') + (ord(str)-ord('A')+3)%26), end='')原创 2020-07-10 11:24:20 · 2085 阅读 · 0 评论 -
python练习:验证二分法查找法猜数字
首先,在数学上有一个经典的搜索算法,二分查找法,即每次都猜最大值+最小值)/2的那个值,根据反馈的结果大小继续查找,直到找到结果。通过二分查找法,每次获得的搜索范围都比以前要减小一半,当n=1000,logn的值为10,所以最多查找次数不超过10次,我们来检验一下!第一步:编写一个二分查找法的小程序import random#guessnumber.py#验证二分法查找法最多次数为logn"单轮测试结果"target = random.randint(1,1000)# 随机获得一个1-1000原创 2020-07-10 10:26:23 · 4780 阅读 · 0 评论 -
Python绘画练习---turtle风轮绘制
import turtle as tfor i in range(4): t.fd(150) t.right(90) t.circle(-150,45) t.goto(0,0) t.right(-135) t.left(90)t.done()测试结果:原创 2020-07-09 16:09:26 · 2775 阅读 · 0 评论 -
用turtle库绘制Python Logo图案
import turtleimport math#PythonLogo.lenth = 50# 三角短边长度WIDETH = math.sqrt(2) * lenth# 三角长边长度'''横向前四节蛇身'''def draw_crossbody1(): for i in range(4): turtle.fillcolor("blue") turtle.begin_fill() turtle.left(45) turtle.原创 2020-07-09 13:24:26 · 4828 阅读 · 1 评论 -
python画雪景
简单的random库配合海龟库画一个彩色雪景# SnowViewcolorful.py雪景from turtle import *from random import *def drawSnow():#画雪花 hideturtle() pensize(2) for i in range(100): r, g, b = random(), random(), random()#多彩 pencolor(r,g,b)原创 2020-07-06 20:25:44 · 2670 阅读 · 0 评论 -
python画玫瑰花(含文字)
一个简单的彩色玫瑰花加文字程序import turtledef Write(): # printer = turtle.Turtle() # printer.hideturtle() turtle.penup() turtle.goto(0,0) turtle.back(100) turtle.pencolor('red') turtle.write("So beautiful rose!\n\n", align="right", font=("原创 2020-07-06 20:22:53 · 4226 阅读 · 0 评论 -
学习python爬虫第一天
‘’‘请求网页数据’’’import requests # 调入需要的库requestsfrom bs4 import BeautifulSoup#调用要使用的库bs4#发起请求url = ‘http://www.douban.com’ # 将变量赋值给豆瓣的网址data = requests.get(url) # 利用requests库的get方法,向此URL发起请求,并将服务器返回的内容存入变量dataprint(data) # 打印服务器返回的内容。从打印内容看,被反爬‘’‘设置原创 2020-07-06 20:15:39 · 2120 阅读 · 3 评论