Python入门到精通
文章平均质量分 81
高级技术专家带你学会Python,从入门到精通!
雷学委
高级技术专家带路,事半功倍!多语言爱好者,目前主业大数据。做过创业项目/技术演讲/系统架构/内部培训。过来学习技术吧!
其他:
上海DevOpsDays技术讲师,发表主题演讲
华为云圆桌特邀嘉宾
展开
-
Python 内置队列 FIFO vs FILO 队列对比展示
正式的Python专栏第63篇,同学站住,别错过这个从0开始的文章!之前的多线程解决线程安全的时候,学委展示了两篇关于队列的 带你验收一款线程安全的队列 和使用队列改造转账场景线程安全问题对比一下FIFO 和 FILO首先队列这个库里面的queue.Queue类就是一个典型的先进先出队列。下面写了一些祝福语,使用Queue这个类来编写demo,开头创建一个队列对象q。后续不断判断队列是否空(q.empty()), 然后通过q.get()调用获取队列元素。写了三句祝福语,加上序号,先进先出队.原创 2022-04-30 21:03:17 · 2185 阅读 · 16 评论 -
Python 内置队列 queue快速一览
正式的Python专栏第62篇,同学站住,别错过这个从0开始的文章!之前的多线程解决线程安全的时候,学委展示了两篇关于队列的 带你验收一款线程安全的队列 和使用队列改造转账场景线程安全问题刚好这个库比较简单,不超过500行,挨着多线程,那就顺便把队列这个库。内置的队列都有哪些?打开源码,除了开头定义了空队列Empty异常和满队列异常Full异常。主要提供了两类队列:Queue及其衍生类 vs SimpleQueueQueue和它的衍生类LifoQueue:先进后出队列(LastInFi.原创 2022-04-03 05:00:00 · 1407 阅读 · 2 评论 -
Python的线程23 多线程threading一图总结
正式的Python专栏第61篇,同学站住,别错过这个从0开始的文章!拜个早年,今天阶段性总结一下多线程的二十几篇文章。多线程很丰富,但它只是复杂繁忙世界的小缩影。请看下图,学委精心制作的:图片总结了前面的多线程的多篇文章,概括了threading库里面的各个类的特点。初学者很容易在多线程这块’难住了‘,不过不怕,把学委这二十几篇多线程的分享(和代码)吃透。保证顺畅的使用多线程,更复杂的多线程问题,学委后面会再分享解析。稍微解释一下:主要分为4类:线程基础概念线程安全各种锁机制.原创 2022-03-19 15:01:07 · 1647 阅读 · 0 评论 -
Python的线程22 Threading.local() 线程的本地数据
正式的Python专栏第59篇,同学站住,别错过这个从0开始的文章!就快过年了,有在看文章的读者,可以继续给学委点赞,关注也不错!前面介绍了多线程(threading)库里面的很多类,好像把local这个整漏了,下面直接来。什么是线程的本地数据?线程的本地数据,就是专属于特定一个线程的数据。再看看怎么创建线程本地数据,创建方式为threading.local(),学委准备了如下代码:tldata = threading.local()tldata.slogan = "持续学习,持续开发,我.原创 2022-03-13 05:00:00 · 2653 阅读 · 4 评论 -
Python的线程21 Barrier类再次解析
正式的Python专栏第58篇,同学站住,别错过这个从0开始的文章!这篇继续介绍threading库里面的类,threading.Barrier类。这个类很好用,直接指定数值,通过调用其wait方法,就轻松实现多个线程同步等待。大家也看到学委之前用condition的实现(需要正确的使用notify和wait,还有加上wait(timeout) 来实现十个运动员等待)明显比Barrier类绕了一些。继续看看Barrier类再次阅读一下Barrier类的构造方法(如下),我们看到,它内部持有了C.原创 2022-03-09 05:00:00 · 1160 阅读 · 1 评论 -
Python的线程20 强迫症患者之Barrier类
正式的Python专栏第57篇,同学站住,别错过这个从0开始的文章!这篇继续介绍threading库里面的类,threading.Barrier类。很多人说它是一个栅栏,或者屏障,我更愿意说它是一个强迫症患者。怎么说呢?它跟参与的线程都杠上了,设置了几个,它就必然等待几个人同时准备好,才肯放行!什么是Barrier类Barrier类是一个多线程协调工具,它让多个持有Barrier的线程互相等待。 直到满足Barrier实例指定的n个线程(parties参数数值),也就是达到n个线程都调用了B.原创 2022-03-04 05:00:00 · 1150 阅读 · 0 评论 -
Python的线程19 拖延症患者Timer类
正式的Python专栏第56篇,同学站住,别错过这个从0开始的文章!多线程这一块写了快要20篇了,这篇来一个轻松一点点的。我们来学习一下Timer类,这个类很简单,但是很特别。每到新年,大家就会进行总结,跟之前立的flag进行自我复盘。Timer就是类似一个可以帮助你在立flag之后,到时间告诉你,该进行复盘了。什么是Timer准确点说,它是一个延迟执行的事件的单元(threading模块下的一个类),用来在指定时间后执行该事件。使用上非常简单:def do_something_afte.原创 2022-03-01 05:00:00 · 1067 阅读 · 0 评论 -
Python的线程17 Condition类,田径赛场上的主裁判
正式的Python专栏第54篇,同学站住,别错过这个从0开始的文章!前面介绍了死锁,Lock,Rlock,这篇我们介绍一下ConditionCondition 是什么?这个类跟Lock和Rlock类似,但是多了wait/notify/notify_all(Java里面对应的是notifyAll)等方法,这个搞过Java的同学就非常熟悉了。如下图,它的acquire和release方法沿用了传入的lock对象(或者默认的Rlock对象)。所以这两个熟悉的方法,可以参考前面分享的Lock和Rlo.原创 2022-02-23 05:00:00 · 1166 阅读 · 2 评论 -
Python的线程16 一分钟写个死锁,单身狗谈何爱情
正式的Python专栏第53篇,同学站住,别错过这个从0开始的文章!前面学委介绍Python的线程15 可重入锁RLock,文末提到了死锁。所以这篇补充一下死锁的概念死锁 是什么?想象一下,身边有哪些无法解开的问题?是不是有个问题想要跟对象讲道理,一开始好好聊,还能说明白。然后聊着聊着,对象反将一军:“你不够爱我了!(爱会消失。。。)”搞的一下子懵了,本来是要讨论谁不该干嘛干嘛的事情,就陷入了僵局。对,死锁就是这种感觉。这里不一样的是,讨论问题从两个人,变成了两个线程/进程(或者更多,多.原创 2022-02-19 14:43:27 · 1587 阅读 · 2 评论 -
Python的线程14 有界信号量,这是一个有底线的信号量
正式的Python专栏第51篇,同学站住,别错过这个从0开始的文章!前篇学委提出了Semaphore信号量来制作限流器的思路和一个简单的限流器实现。代码运行起来了,看起来没有错误。不过,细心的读者会发现,如果我们出现像下面的信号量使用方式:xuewei_semaphore.acquire() #获取信号量//do something.... xuewei_semaphore.release() #释放信号量#>>> xuewei_semaphore.release().原创 2022-02-08 05:30:00 · 1604 阅读 · 2 评论 -
Python的线程13 简易限流器实现
正式的Python专栏第50篇,同学站住,别错过这个从0开始的文章!前篇学委提出了Semaphore信号量来制作限流器的思路。简单总结就是:动态的release,保证任意时刻都有固定数量可用的信号量。我们通常会这样使用信号量xuewei_semaphore = threading.Semaphore(4) #申请信号量#在某个地方使用信号量xuewei_semaphore.acquire()//do something here....xuewei_semaphore.relea.原创 2022-01-28 05:00:00 · 3777 阅读 · 2 评论 -
Python的线程10 使用Event保证多线程同时执行
正式的Python专栏第48篇,同学站住,别错过这个从0开始的文章!前面分享了threading.Event类,它维持了一个信号(True/False)状态。像田径跑道上蹲在起点的运动员,不分先后,同时听到枪响就开跑,用这个类来做很适合。模拟:发出一声枪响当然不是真的有枪响,而且代码调用Event类的对象实例的set函数。因为Event类的函数是线程安全的,所以我们可以把运动员看成一个一个的线程,并排在跑道起点。所以这个思路代码就有了for _ in range(n): def r.原创 2021-12-26 15:03:25 · 2272 阅读 · 23 评论 -
Python的线程08 使用队列来改造转账场景
正式的Python专栏第46篇,同学站住,别错过这个从0开始的文章!前篇我们验收(学习)了队列Queue,这次趁热学委展示一下使用队列解决转账场景的问题。再次看看转账场景的问题前面有两篇文章展示了转账反复读写amount,导致结果出错。xuewei_account = dict()xuewei_account['amount'] = 100# amount为负数即是转出金额def transfer(money): for i in range(100000): .原创 2021-12-21 05:00:00 · 589 阅读 · 13 评论 -
Python的线程07 带你验收一款线程安全的队列
正式的Python专栏第45篇,同学站住,别错过这个从0开始的文章!前面多篇文章详细讲解了线程和线程安全,以及一些程序多线程错误下的,线程安全改造。是否有一种神器,解决线程/并发的问题呢?有,它就是队列(Queue)什么是队列?像排队一样,从头到尾排成一排,还可以有人继续往后排队,这就是队列。这里学委想说的是Queue这个类, 它是queue这个内置模块内的一个类。import queueq = queue.Queue(5) #可以传入参数指定队列大小queue.Queue()# 不传.原创 2021-12-20 05:00:00 · 3332 阅读 · 2 评论 -
Python的线程06 认识线程安全 【文末送书】
正式的Python专栏第44篇,同学站住,别错过这个从0开始的文章!前面学委分享了5篇多线程的文章了,一开始写多线程程序好像非常简单。可是实际应用跟第4篇,第5篇的场景比较像,而且还更复杂。有没有简单点的方法进行多线程编程?这就是学委本文要提到的‘线程安全’了。什么是线程安全?线程安全,名字就非常直接,在多线程情况下是安全的,多线程操作上的安全。比如一个计算加法的函数,不管是一千个还是一万个线程,我们希望它执行的结果总是正确的,1+1 必须永远等于2, 而不是线程少的时候1+1 变成3或者.原创 2021-12-18 14:38:44 · 5276 阅读 · 24 评论 -
Python面向对象编程04:重写object通用函数
正式的Python专栏第39篇,同学站住,别错过这个从0开始的文章!前篇学委展示分享了类的继承和重写,面向对象还有一些概念,继续跟上吧!Python Override重写就重新定义,在程序中就是覆盖父类的函数的这种行为。Override还能重写类的一些通用函数,它们是:__init____str____eq__这里手动写几个,因为我们双击object这个base class可以看到一系例的类的函数:学委准备了下面的代码:#!/usr/bin/env python# -*-.原创 2021-12-07 05:00:00 · 782 阅读 · 2 评论 -
捋一捋操作python容器的内置通用函数
正式的Python专栏第31篇,同学站住,别错过这个从0开始的文章!学委之前分享了tuple/list和dict等类型,这几个类型都是用来存放数据的容器。python对它们有几个通用的操作。我们看一看。这些数据容易的通用操作都有哪些?除了数据的增删查改(除了tuple不可变长度和元素不可变),我们还需要下面的操作:比较比对操作计算元素数量把容器打印输出获取容器类型使用 == 操作符号比对是否相等len(容器对象)str(容器对象)type(容器对象)#type支持对各种对象.原创 2021-11-23 05:00:00 · 488 阅读 · 0 评论 -
Python面向对象编程01:入门类和对象
> 正式的Python专栏第36篇,同学站住,别错过这个从0开始的文章!前面写了文件的读取和文件处理等其他函数,里面用到了os库。本来想分享os库,发现这个库可能对于初学者来说比较难,所以后面再等合适的时间谈谈,因为涉及了很多文件系统的操作,比较偏Linux运维。原创 2021-12-01 05:15:00 · 499 阅读 · 23 评论 -
捋一捋Python的文件属性和增删查改等(下)
正式的Python专栏第35篇,同学站住,别错过这个从0开始的文章!前面写了文件的读取,按行读写等,这篇我们把文件处理等其他函数也过一过吧。文件属性前面我们更多集中学习了文件的读写(open)函数打开文件然后使用read/write函数。文件还有很多属性,常见的有下面的几个:name 文件名字encoding 编码,有时候编码搞错了就容易出现乱码!mode 打开文件的模式(r=读文件,w=写文件)closed 是否关闭状态buffer 缓冲IO对象(根据mode来创建读缓冲/写缓冲).原创 2021-11-28 22:05:17 · 622 阅读 · 2 评论 -
捋一捋Python的文件处理(上)
正式的Python专栏第34篇,同学站住,别错过这个从0开始的文章!前面写了很多内容了,都是在进行一些数据处理,但是我们需要储存读取数据的时候,就需要文件了。 这篇学委带大家过一过文件处理。先学会文件的读写!比如像以前在学校读书的时候,第一门编程课设计要求是制作学生管理系统。这就需要使用文件来处理(也可以用数据库,但是一般C语言都是很多计算机系新生的首选语言,这时候大概率也不知道数据库)。python 最常用的是open和write函数,如下:#open函数:接收一个文件名,还有其他参数可省.原创 2021-11-26 08:51:14 · 2959 阅读 · 25 评论 -
捋一捋python日期时间处理(下)
正式的Python专栏第33篇,同学站住,别错过这个从0开始的文章!前篇我们稍微学习了Python中时间的获取,这次继续学习日期的时区转换,格式化等等。开发中常用的日期操作还有哪些?时区转换显示日期格式化秒数 与 日期 与 字符串的转换我们经常会用到,比如全球化的业务根据不同客户显示不同时间(格式等)在python 主要有下面两个模块涵盖了常用日期处理import timeimport calender我们看看这两个模块。时间处理中的类型转换:struct_time vs s.原创 2021-11-26 05:45:00 · 398 阅读 · 0 评论 -
捋一捋操作python日期时间处理(上)
正式的Python专栏第32篇,同学站住,别错过这个从0开始的文章!讲了很多数据容器操作,这篇我们看看时间的处理。开发中常用的日期操作有哪些?获取当前时间获取系统秒数(从纪元时间开始)日期跟秒数之间转换获取日历等日期格式化显示输出这些都非常常见在python 主要有下面两个模块涵盖了常用日期处理import timeimport calender我们看看这两个模块。time 内置模块#!/usr/bin/env python# -*- coding: utf-8 -*.原创 2021-11-24 05:30:00 · 994 阅读 · 14 评论 -
以dict为例谈谈深拷贝与浅拷贝
正式的Python专栏第30篇,同学站住,别错过这个从0开始的文章!学委前面展示dict的概念和常用操作,谈到了一个shadow copy产生的新dict对象受到原dict对象影响。这篇我们继续看看深拷贝,深拷贝是什么?我们拿字典的复制可以通过copy函数来实现,但是它是浅拷贝,也就是拷贝了但不完全拷贝简单粗暴来说浅拷贝就是拷贝key,但是新字典的值还是沿用旧字典的值的引用(内存地址一样)。与浅拷贝对比,深拷贝就是除了拷贝key,新字典的值不会沿用旧字典值的引用,而是创建类似的数据,引用.原创 2021-11-21 20:37:25 · 782 阅读 · 1 评论 -
捋一捋Python中的Dict(下)
正式的Python专栏第29篇,同学站住,别错过这个从0开始的文章!学委前面展示dict的概念和增删查改!这次我们把其他函数介绍补充了。dict 的元素定位(键/值定位)和遍历dict这种对象我们可以通过 keys() 获取所有的键的列表;dict这种对象我们可以通过 values() 获取所有的值的列表.这样有列表我们可以遍历整个dict对象。但是更多使用下面的风格:mydict = { 'name': 'leixuewei', 'date': '20211104'}.原创 2021-11-20 10:33:00 · 1452 阅读 · 3 评论 -
捋一捋Python中的Dict(上)
正式的Python专栏第28篇,同学站住,别错过这个从0开始的文章!学委前面分享了tuple/list,在Python中还有一个非常常见的数据容器就是dict!什么是dict?dict全称为dictionary(字典),人如其名,像字典一样可以根据索引定位到特定的文字。在python的dict中,我们可以通过key来定位到特定的value。之前说了list是一连串的数据,唯一找到元素的方式是通过下标逐个寻觅,从某种角度来看,list算是一个有下标为key的字典了。(当然严格来说list和dic.原创 2021-11-19 09:08:55 · 1027 阅读 · 4 评论 -
源码安装Python学会有用还能装逼 | 解决各种坑
相信朋友们都看过这个零基础学习Python的开篇了文章为了让新朋友快速写Python代码,直接推荐了绿色内置版安装。实际运用中也可以吗?当然也可以。不过我们在服务器端,都是主流系统安装Python的。毕竟在大公司服务器成百上千不在话下,语言和软件都是有统筹管理的。(Docker镜像内本质也是走服务器安装的方式,只是被打包到镜像了)开发者电脑安装Window电脑,这个比较简单,我们进入Python官网,找到Installer下载安装。如下图,一般都是64位的选择圈中的64-bit下载。这个是ex原创 2021-08-21 19:22:47 · 4807 阅读 · 35 评论 -
讲讲Python中的函数传递问题 【文末送书】
正式的Python专栏第25篇,同学站住,别错过这个从0开始的文章!前篇讲了python中的函数和高阶函数,这篇再把函数的其他部分补充一下,稍微轻松简单一些。文末评论送书,学委会用这个抽奖程序来进行严格抽奖,周六晚上10点整定时抽奖并视频公布出来,敬请期待。 函数参数传递key-value方式传递参数:def show_info(name, title): print("姓名为:",name) print("职称为:",title)我们在使用的时候可以用以下的方式:sho.原创 2021-11-17 09:07:31 · 3409 阅读 · 36 评论 -
讲讲Python中的普通函数和高阶函数
正式的Python专栏第25篇,同学站住,别错过这个从0开始的文章!今天学委都在写代码,写了很多篇,这次再讲讲python中的函数 什么是函数每个语言都有函数,甚至大家用的Excel里面也有函数,我们以前学习的数学也很多各种各样的函数。Python中的函数也是一样的。def f(x): print("参数为:",x) return x这里的函数 y = f(x), 在数学中表示为一条斜率为1的直线。函数的嵌套调用def z(x): passdef f(x):.原创 2021-11-16 09:28:49 · 5063 阅读 · 4 评论 -
捋一捋Python中的List(下)
正式的Python专栏第27篇,同学站住,别错过这个从0开始的文章!上篇学委对照tuple文章的操作一一罗列了list列表数据的相应的操作。这次我们继续把list的其他操作看完。 list比tuple多了这些操作支持前面学委提到tuple(元组)就是焊死了的一串串车厢,list支持元素编辑,明显灵活多了。我们先看看删除操作,python中的list就支持了3中删除元素的操作。假设我们定义一个列表对象 list_obj, 那么我们可以执行下面任意一个操作,进行元素删除。del list_ob.原创 2021-11-14 16:18:30 · 1151 阅读 · 6 评论 -
捋一捋Python中的List(上)
正式的Python专栏第26篇,同学站住,别错过这个从0开始的文章!前面学委分享了Tuple,谈到了Tuple跟列表list的关系。这次我们转移视线到list! 什么是list?list 是一个序列!一串数据,这个串可以追加数据。我们可以把它看成大型商场内,儿童游玩串串车,它就像一趟一趟车厢一样,可以挂上去(还能增加车厢)。这样tuple(元组)就是焊死了的串串车!在数据结构中,我们也学习过链表,某种程度上list就是python给出的一个实现。它可以无限的存放数据,并通过下标(从0.原创 2021-11-12 09:18:53 · 496 阅读 · 3 评论 -
捋一捋Python中的Tuple
正式的Python专栏第24篇,同学站住,别错过这个从0开始的文章!今天学委都在写代码,写了很多篇,这次我们讲解元组Tuple,不要错过! 什么是TupleTuple 是Python特有的一种类型,它有点像列表但是也不完全是。学委意识到这上面的内容还是过于技术表达:简单来说元组,可以理解为一组元素的构成的一个小组。比如大学做课题几个人一组,可以理解为一个元组。(后面想到更好的例子再来更新)。如果简单粗暴理解,那么我们暂且称tuple为限定长度的list,不会过份!这是tuple(1,.原创 2021-11-07 05:00:00 · 574 阅读 · 0 评论 -
Python中处理字符串的常用函数汇总【文末送书】
正式的Python专栏第23篇,同学站住,别错过这个从0开始的文章!今天我们说了字符串的基础,格式化,这次我们讲解字符串的常用函数,不要错过! (文本送书,评论区抽取一位送书)前两篇都在本文同个专栏,欢迎关注。下面开始讲解。 字符串都有哪些操作?实际开发都有这些需求:第一大类:判断识别字符串判断字符串属于那种字面类型(数字,全字母,其他)判断字符串包含某些结构(数字大写,局部子串,子串出现频次等)第二类:字符串编辑的操作(生成新字符串)字符串的替换/合并/填充等字典替换,填充.原创 2021-11-05 09:37:33 · 12779 阅读 · 38 评论 -
你不知道Python多能干,小伙子骨骼惊奇不来学习吗?
正式的Python专栏第一篇,同学站住,别错过这个从0开始的文章!学委之前写过太多Python的文章了,大都是直接上手敲代码,总结比较核心的部分。这次直接发基础的,希望有更多朋友加入Python阵营!Python 是什么?诞生于1989年的一门高级语言,解释型/交互型/面向对象编程的脚本语言!什么东西能这么经典?几十年还依然火爆!值得学起来。相比其他语言像Java,Javascript等,只要你懂英语,学会Python还是比较轻松的。相比之下,python语言使用更少的语义化的结构,阅读Pyth原创 2021-08-21 15:26:32 · 1356 阅读 · 43 评论 -
捋一捋Python中的random库之随机数函数
正式的Python专栏第20篇,同学站住,别错过这个从0开始的文章!前两篇我们讲讲那些常用的数学处理函数, 我们接着展示一下随机数相关的函数!随机数做程序,有时候我们需要随机数。 比如在抽奖或者随机抽样进行数据分析的时候,随机函数就很重要了。相应的python提供了内置的random库,它给了开发者丰富的选择这里我们可以分为下面几个类:随机生成毫无规律的随机数(比如函数random)给定范围或者值域内选取数值来作为随机数(比如函数choice, uniform)使用一个随机算法来生成随.原创 2021-11-01 23:14:54 · 1017 阅读 · 0 评论 -
捋一捋Python中的数学运算math库(上篇)
正式的Python专栏第18篇,同学站住,别错过这个从0开始的文章!很多学习编程的都多多少少学习了一些数学知识。学委之前也简单吐槽了 Python中奇葩的round函数!这篇我们讲讲那些常用的数学处理函数。数学运算函数除了加减乘除这几个非常基础的操作,根据数据类型的不同,在实际运用中我们经常需要:浮点数(小数)变整数化负数取绝对值数字比较指数幂求对数等等的,这些python中内置的math库帮我们很好解决了。而不需要每一个python开发者都围绕基础运算自己实现一套数学高.原创 2021-10-28 23:07:38 · 821 阅读 · 0 评论 -
保姆级指导给Python库创建桌面快捷方式【赶紧收藏】
> 这是雷学委发布的第二个开源库前篇学委分享了renxianqi(人贤齐)aka 万能清点小工具,本篇给大家分享一个超级使用的编程技巧,**快速给应用创建快捷方式,双击运行**还没有安装的朋友可以运行下面的命令:打开任意终端或者CMD, 赶紧安装用起来吧。```bashpip install renxianqi#或者下面这个:pip install qingdian```这篇文章只分享一件事情,给这个renxianqi清点工具创建快捷方式。原创 2021-10-10 22:19:45 · 5829 阅读 · 10 评论 -
控制鼠标随机点击,电脑不锁屏!
随手来一篇本文使用pymouse库,控制鼠标的移动。下面分享一个自用的鼠标自动随机区域内点击。代码如下:import osimport timefrom pymouse import PyMouseimport randomdef rand(end=8): r = random.randint(0,end) print("rand %s " % r) return rm = PyMouse()print(m.screen_size())prin.原创 2021-10-21 05:00:00 · 2891 阅读 · 2 评论 -
【开源项目】推荐一款万能清点工具renxianqi人贤齐重磅发布!
这是学委发布的第二个开源库学委之前发布了ppc工具,帮助了很多初学者快速建立项目。本篇分享一个通过ppc工具创建开发的完整库:renxianqi(人贤齐)名字比较像明星,这个工具的作用就是,清点人数,比对是否齐全,所以叫做 人贤齐 renxianqi。下面安装使用起来。第一步 安装renxianqipip install renxianqi第二步 使用 renxianqi查看场景一 上课点名场景一 会员签到总结延伸对了,喜欢Python的朋友,请关注学习 Python基础专栏 .原创 2021-10-09 10:11:13 · 8736 阅读 · 10 评论 -
Python中奇葩的round函数!
吐槽一些奇葩的设计round(1.15,2) #正常round(1.15,1) #=1.1round(1.25,1) #=1.2round(1.35,1) #1.4round(1.45,1) #=1.4round(1.55,1) #1.6round(1.65,1) #=1.6round(1.75,1) #1.8round(1.85,1) #1.9round(1.95,1) #1.9python2 运行效果:python3 运行效果:...原创 2021-10-23 00:01:19 · 2903 阅读 · 3 评论 -
总结Python中的字符串格式化
> 正式的Python专栏第22篇,同学站住,别错过这个从0开始的文章!前篇分析了字符串的简单使用,这篇我们看看字符串的格式化# []() 什么是字符串格式化,为什么需要这样做?> 我们有时候刷抖音/B站看到封面很好看,但是进入直播发现,不过如此!> 想必主播通过某种方式把输出转换为读者想看的内容。是不是大概懂了什么是格式化和格式化的必要性了!原创 2021-11-04 05:30:00 · 840 阅读 · 8 评论