![](https://img-blog.csdnimg.cn/2b4869d2ca0b4442a328325df9b63592.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python实践
文章平均质量分 56
python实践
heart_6662
人生舞台的大幕随时都可能拉开,关键是你愿意表演,还是选择躲避
展开
-
【python】基础知识巩固(十一)协程补充
关于携程在上一篇文章,我就的讲的不太清楚,自己也不太满意,所以写了这篇补充,我自己也参考很多文档,最终写完这篇补充概念:前面的文章说简单来说就是类似goto的函数,协程可以在一个函数内部跳到另外的函数的东西来回切换补充:1)在操作系统中,并不存在协程,只有线程和进程,协程只是我们程序员自己定义的东西例子 :我们有三种在python的写法1.greenlet实现早期模块""" CSDN : heart_6662PYTHON amateur ..原创 2022-01-09 15:19:38 · 990 阅读 · 9 评论 -
【python】基础知识巩固(十一)
目录协程知识背景协程之前的多进程,多线程,进程池【python】基础知识巩固(十)_heart_6662的博客-CSDN博客知识背景协程,又称微线程一个线程就是执行一个子程序,子程序调用总是一个入口,一次返回而协程的调用和子程序不同协程看上去也是子程序,但执行过程中,协程在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。协程最大的优势就是协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程.原创 2022-01-07 22:11:31 · 1010 阅读 · 3 评论 -
【python】基础知识巩固(十)
目录????进程和线程的概念????☠️补充:????☠️区别:????多进程????☠️multiprocessing????☠️代码解读1)join()方法2)start()方法3)Process([group [, target [, name [, args [, kwargs]]]]])4)getpid????Pool进程池????☠️代码解读:1.apply_async(func[, args[, kwds[, callback[原创 2022-01-03 23:57:14 · 914 阅读 · 8 评论 -
【python】基础知识巩固(九)
目录❤前景知识:????代码讲解❤纯文本的邮件❤完善的邮件❤ 有附件的邮箱????加密SMTP❤前景知识:SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件比如我们构造一个简单的邮箱信息from email.mime.text import MIMETextmsg = MIMETex原创 2022-01-03 09:59:00 · 1941 阅读 · 16 评论 -
【python】基础知识巩固(八)
目录TCP/IP协议1)前景知识2)目的:把全世界的所有不同类型的计算机都连接起来3)正文《IP协议》扩展:定义:IPv4 和IPv6《TCP协议》定义:扩展TCP/IP协议1)前景知识首先我们要知道计算机网络的出现比互联网要早很多,早期各厂商自己规定一套协议,自己玩自己的例如IBM的NetBEUI协议NetBEUI(NetBIOS Extended User Interface,用户扩展接口)由IBM于1985年开发完Ap..原创 2022-01-02 22:16:04 · 116 阅读 · 3 评论 -
python微信机器人
原文链接python微信机器人制作教程+源码_全栈川川-CSDN博客本文为我个人的学习笔记前言:继QQ机器人以来,川川大佬的微信机器人再一次上线了,微信风控比较严,所以测试中确实会出现报错的情况...原创 2021-12-28 16:14:32 · 4127 阅读 · 0 评论 -
【python】基础知识巩固(七)
目录datetime库获取当前日期和时间获取指定日期和时间datetime转换为timestamptimestamp转换为datetimestr转换为datetimedatetime转换为strdatetime加减本地时间转换为UTC时间时区转换collections库namedtupledequedefaultdictOrderedDictChainMapCounterdatetime库datetime是Pyth...原创 2021-12-27 19:11:19 · 545 阅读 · 0 评论 -
【python】基础知识巩固(六)
目录海龟绘图正方形的简单代码通过循环绘制5个五角星代码解读一棵分型树:小猪佩奇:高达(我的梦想啊)海龟绘图前言:海龟画图我们小学就学过了,emmmmmm,虽然这是篇技术文章,但是有些水话想说我第一次接触编程,就是在海龟画图(小学的时候),同学们都在研究怎么让海龟动起来(按按钮那种),我无意间看到网上视频,可以将什么文件拖入海龟画图的界面,海龟就会自动动起来,我觉得好高级(而且省事),我开始上互联网(那时候我爸买了台台式电脑)百度搜索具体怎么操作,发现有大佬...原创 2021-12-26 21:54:04 · 831 阅读 · 1 评论 -
【python】基础知识巩固(五)
目录继承和多态定义:eg:1)在()里面直接加父类名2)实例化一下Dog和Cat3)继承的第二个好处4)多态获取对象信息使用type()基本类型一个变量指向函数或者类判断是否相同类型使用isinstance()使用dir()eg:实例属性和类属性练习继承和多态定义:在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称...原创 2021-12-25 16:44:07 · 818 阅读 · 0 评论 -
【python】基础知识巩固(四)
目录类和实例1)定义类是通过class关键字:2)创建实例是通过类名+()实现的:3)可以自由地给一个实例变量绑定属性,比如,给实例bart绑定一个name属性:4)由于类可以起到模板的作用5)数据封装访问限制通用变量私有变量(private)(self._变量名)类和实例面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同...原创 2021-12-24 23:43:25 · 256 阅读 · 0 评论 -
【python】基础知识巩固(三)
目录装饰器两层3层嵌套的decorator用法如下:装饰器由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数 函数对象有一个__name__属性,可以拿到函数的名字 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。两层def log(func): def wrappe...原创 2021-12-24 21:16:32 · 130 阅读 · 0 评论 -
【python】基础巩固复习(二)
目录map/reduce函数map()函数reduce()的用法例子:求和练习:filter函数练习sorted函数数值排序从小到大从大到小reverse=True字符串排序忽略大小写的排序练习map/reduce函数map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。(相当于循环一个个将参数传进去)def f(x): ...原创 2021-12-24 13:08:53 · 662 阅读 · 0 评论 -
【python】基础知识巩固(一)
目录递归函数算n的阶乘练习:生成器练习迭代器递归函数定义:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。算n的阶乘def fact(n): if n==1: return 1 return n * fact(n - 1)练习:汉诺塔的移动可以用递归函数非常简单地实现。请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数...原创 2021-12-24 11:06:57 · 784 阅读 · 0 评论 -
【LeetCode】每日一题——1044. 最长重复子串
好难,只能暴力了class Solution: def longestDupSubstring(self, s: str) -> str: ans = "" for i in range(len(s)): while s[i:i+len(ans)+1] in s[i+1:]: ans = s[i:i+len(ans) + 1] return ans...原创 2021-12-24 00:11:19 · 297 阅读 · 0 评论 -
【LeetCode】每日一题——686. 重复叠加字符串匹配
目录题目:思路:代码:代码解读参考链接:题目:686. 重复叠加字符串匹配思路:刚刚好字符覆盖,或者差一个a字符代码:class Solution: def repeatedStringMatch(self, a: str, b: str) -> int: return l if (a * (l:=ceil(len(b)/len(a)))).find(b) != -1 else l + 1 if...原创 2021-12-22 16:25:36 · 2494 阅读 · 0 评论 -
【LeetCode】每日一题——1154. 一年中的第几天
目录题目:力扣思路:题目:力扣思路:我横竖一看:好家伙,这不就是菜鸟上的题目吗?思路很简单先将数据进行处理然后判断是不是闰年(是的话,二月分数据加一)class Solution: def dayOfYear(self, date: str) -> int: year,month,day = [int(x) for x in date.split("-")] amount = [31, 28, 31,...原创 2021-12-21 16:26:47 · 210 阅读 · 0 评论 -
【LeetCode】每日一题——475. 供暖器
目录题目:思路:方法一:二分查找方法二:排序 + 双指针题目:思路:其实就是要找每个房子落在哪个加热器之间,然后比较他们俩这种更近的那一侧。可以使用二分,也可以使用双指针,从头开始一起移动。方法一:二分查找class Solution: def findRadius(self, houses: List[int], heaters: List[int]) -> int: ans = 0 hea...原创 2021-12-20 10:14:48 · 2080 阅读 · 0 评论 -
【LeetCode】每日一题——997. 找到小镇的法官
目录题目:思路:方法一题目:在一个小镇里,按从 1 到 n 为 n 个人进行编号。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足条件 1 和条件 2 。给定数组trust,该数组由信任对 trust[i] = [a, b]组成,表示编号为 a 的人信任编号为 b 的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的编号。否则,返回 -1...原创 2021-12-19 01:21:51 · 251 阅读 · 0 评论 -
【LeetCode】每日一题——419. 甲板上的战舰
目录题目:方法一:方法二:题目:给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。意思就是一个x行和列 ,仅仅统计一次.原创 2021-12-18 09:41:07 · 756 阅读 · 0 评论 -
【LeetCode】每日一题——1518. 换酒问题
目录题目:方法一:暴力迭代思路:代码:方法二:价值思路一:思路二:链接: 力扣题目:小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。方法一:暴力迭代思路:首先我们一定可以喝到 b 瓶酒,剩下 b 个空瓶。接下来我们可以拿瓶子换酒,每次拿出 e 个瓶子换一瓶酒,然后再喝完这瓶酒,得...原创 2021-12-17 10:44:37 · 702 阅读 · 0 评论 -
【LeetCode】每日一题——1610. 可见点的最大数目
目录题目:思路:代码:分析:题目:力扣思路:我想先算出每个点和定点和x轴的角度然后这些角度排序然后将最小的加90度看有 这些角度有多少在这个区间依次这样下去然后去最大的这个90度 (就是那个angle)代码:class Solution: def visiblePoints(self, points: List[List[int]], angle: int, location: List[int]) -...原创 2021-12-16 20:11:40 · 2799 阅读 · 0 评论 -
【LeetCode】每日一题——851. 喧闹和富有
目录题目 :分析:代码:代码解析:基本知识:基本算法——深度优先搜索(DFS)和广度优先搜索(BFS)_cxu123321的博客-CSDN博客_深度优先搜索和广度优先搜索算法题目 :分析:我们拿题目给的例子一来演示一下第一步:有向图第二步:遍历一个列表,索引是自己的值,内层的列表是自己能到那个数据根据有向图第三步:ans 按照深度优先搜索 对应上面图代码:class Solution: ...原创 2021-12-15 14:11:14 · 1436 阅读 · 0 评论 -
【LeetCode】每日一题——630. 课程表 III
目录题目:分析:方法:优先队列 + 贪心参考文章题目:分析:结束时间越早的课程先排,每次排都紧前排,空闲时间都让给后面。如果排完一个课程后发现课程总时长超过了最晚的结束时间,说明课程有重叠,删除掉时长最长的课程再继续排。注意这个最长时长课程可能是当前课程方法:优先队列 + 贪心解析看注解class Solution: def scheduleCourse(self, courses: List[Li...原创 2021-12-14 10:44:14 · 2378 阅读 · 1 评论 -
【LeetCode】每日一题——保持城市天际线
目录题目一起来读题目主要思路:代码实现写法一:代码解读结果:写法二:列表推导式写法参考文章:题目哈哈是不是看懵了啊,俗话说的好:不会写的题目,好好读多几次题目读不懂,没关系,我和大家一起读题目一起来读题目1)方向问题所要求的四个方向,实际上两个就够了因为由于是看平面,从前看与从后看,从左看与从右看是完全一样的2)什么是大楼的高度?其实就是数组中的值,1代表1层高,2代表2层高3)...原创 2021-12-13 14:49:41 · 5184 阅读 · 5 评论 -
例子打卡第二十三天(72)
因为有些题目py3已经不适合,所以我选择跳过python数据结构之链表(linked list)_多元思考力-CSDN博客_python 链表72.题目:创建一个链表if __name__ == '__main__': ptr = [] for i in range(5): num = int(raw_input('please input a number:\n')) ptr.append(num) print (ptr)原创 2021-12-12 17:07:20 · 438 阅读 · 0 评论 -
例子打卡第二十二天(61-62)
目录61.62.61.题目:打印出杨辉三角形""" CSDN : heart_6662PYTHON amateur """l = [1]for i in range(10): for k in l: print(k, end='\t') print('\n ') l1 = l[:] l1.insert(0, 0) l1.append(0) l2 = [] for i in range(len(l原创 2021-12-11 17:35:38 · 341 阅读 · 0 评论 -
例子打卡第二十一天(55-56)
目录55.56.55.import turtledef drawline(n): t=turtle.Pen() t.color(0.3,0.8,0.6) #设置颜色,在0--1之间 t.begin_fill() #开始填充颜色 for i in range(n): #任意边形 t.forward(50) t.left(360/n) t.end_fill() #结束填充颜色drawline(4)原创 2021-12-10 21:01:32 · 367 阅读 · 0 评论 -
例子打卡第二十天(53-54)
目录53.异或运算54.53.题目:学习使用按位异或 ^知识点:异或运算首先异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1 ,相同则为0. 改方法被广泛用来统计一个数的1的位数。即:0 ^ 0 = 0 ,0 ^ 1 = 1,1 ^ 0 = 1 ,1 ^ 1 = 0 ,按位异或的3个特点:1.) 0 ^ 0 = 0 , 0 ^ 1 = 1, 0异或任何数=任何数。2.)1 ^ 0 = 1 , 1 ^ 1 = 0 , 1异或.原创 2021-12-09 18:08:29 · 337 阅读 · 0 评论 -
例子打卡第十九天(51-52)
目录51.52.51.题目:学习使用按位与 &分析:a = 0x77 a转换成十进制,a等于119,二进制表示为0111 0111b = a & 3 3表示成二进制为 0011,根据按位与规则,b = 0011,b转成十进制就是3b = b &7 = 0011与0111对比 (对应位置都是1结果就是1,反之为0)b &= 7 7表示成二进制为0111,根据按位与规则,b = 0011,转换成...原创 2021-12-08 13:50:23 · 527 阅读 · 0 评论 -
例子打卡第十八天(49-50)
目录49.50.49.题目:使用lambda来创建匿名函数python 使用 lambda 来创建匿名函数。lambda只是一个表达式,函数体比def简单很多。 lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效.原创 2021-12-07 19:43:20 · 130 阅读 · 0 评论 -
例子打卡第十七天(47-48)
46.题目:求输入数字的平方,如果平方运算后小于 50 则退出要求:运用函数""" CSDN : heart_6662PYTHON amateur """def power(x): if x ** 2 >= 50: print('{}的平方为:{},不小于50,继续'.format(x, x ** 2)) else: print('{}的平方为:{},小于50,退出'.format(x, x ** 2)) qui原创 2021-12-06 13:33:29 · 358 阅读 · 0 评论 -
例子打卡第十六天(44-45)
43.44题目都是python一些调用函数的用法44.题目:Python 两个矩阵相加""" CSDN : heart_6662PYTHON amateur """x = [[12,7,3], [4,5,6], [7,8,9]]y = [[5,8,1], [6,7,3], [4,5,9]]z= []for i in range(3): z.append([])for i in range(3.原创 2021-12-05 17:18:04 · 515 阅读 · 0 评论 -
例子打卡第十五天(40-41)
目录40.41.使用staticmethod()定义静态方法(Define static method usingstaticmethod())使用@staticmethod定义静态方法(Define static method using@staticmethod)40.题目:将一个数组逆序输出思路:用第一个与最后一个交换""" CSDN : heart_6662PYTHON amateur """if __name__ == '__main__...原创 2021-12-04 20:51:59 · 375 阅读 · 0 评论 -
例子打卡第十三天(36-37)
目录36.普通方法列表推导式37.36.题目:求100之内的素数思路:只要在小于100中找到除了他本身,而且还可以被其他数整除,则不是素数普通方法""" CSDN : heart_6662PYTHON amateur """lower = int(input("请输入区间最小值:"))upper = int(input("请输入区间最大值:"))for num in range(lower,upper+1): if num >...原创 2021-12-02 11:18:37 · 101 阅读 · 0 评论 -
例子打卡第十四天(38-39)
38题目:求一个3*3矩阵主对角线元素之和思路:a11+a22+a33就是要求的,对列表中列表嵌套取值 a[ ][ ]""" CSDN : heart_6662PYTHON amateur """a = [[1,2,3],[4,5,6],[7,8,9]]sum_ = 0for i in range(0,3): sum_ += a[i][i]print(sum_)39.题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。思路:首先判断原创 2021-12-03 15:26:14 · 235 阅读 · 0 评论 -
例子打卡第十二天(34-35)
目录34.35.34.题目:练习函数调用。方法:使用函数,输出三次 heart字符串""" CSDN : heart_6662PYTHON amateur """def hello_heart(): for i in range(3): print("heart")if __name__ == '__main__': hello_heart()结果:35.题目:文本颜色设置思路:终端的..原创 2021-12-01 14:08:19 · 277 阅读 · 0 评论 -
例子打卡第十一天(32-33)
目录32.方法1.知识点:reverse()方法方法2.33.方法一方法232.题目:按相反的顺序输出列表的值。思路:方法1.知识点:reverse()方法描述:方法对列表中的元素进行反向排""" CSDN : heart_6662PYTHON amateur """a = ['one', 'two', 'three']a.reverse()print(a)方法2.[::]先对列表进行复制,-1是从后面进行搜索"".原创 2021-11-30 21:13:17 · 464 阅读 · 0 评论 -
例子打卡第十天(30-31)
目录30.31.30.题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同思路:1.立一个标签flag(用于判断是不是回文数),2.for语句进入逐一判断 (注意是 //整除)3. if 语句判断 比如一个5位数,个位与万位相同,十位与千位相同a = int(input("请输入一个数字:\n"))x = str(a)flag = Truefor i in range(len(x)//2): if x[i] !=.原创 2021-11-29 21:08:56 · 281 阅读 · 0 评论 -
例子打卡第九天(28-29)
目录28.29.28.题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?思路:从结果出发,从第五名倒回去倒到第一名递归 :age(n-1)+2 return c(递归结果)""" CSDN : heart_6662PYTHON amateur """def age(n)...原创 2021-11-28 19:32:33 · 175 阅读 · 0 评论 -
例子打卡第八天(26-27)
目录26.27.26.题目:利用递归方法求5!。问题:一开始写了return j 搞错了,应该是return sum(结果)""" CSDN : heart_6662PYTHON amateur """def fact(j): sum = 0 if j ==1: sum = 1 else: sum = j * fact(j-1) return sumprint(fact(5))27....原创 2021-11-27 17:00:03 · 184 阅读 · 1 评论