
python
shouqi321
做一个合格的知识的搬运工。
展开
-
python的三目运算操作
C和C++中有三目运算的操作,它可以简化if-else的操作,在条件和运算很简短的时候,用三目运算是非常方便的,那python有三目运算吗?看过上面的例子,其实大家应该都明白怎么去使用python的三目运算了,但是我还是做如下的解释,对比一下正常的if-else语句会更加清楚。python中,对于简单的条件语句,可以尽量用三目运算去处理。我举一些例子,大家应该一看就明白了。原创 2023-05-25 12:02:14 · 228 阅读 · 0 评论 -
python如何分离文件名和扩展名
还有一种方式是我最推荐的,我之前写过《在python中如何去检测文件是否存在?作为新手,如果需要用python将文件名和扩展名分开,你会怎么处理?大家有什么想法也可以相互交流相互学习。原创 2023-05-17 21:30:45 · 1326 阅读 · 0 评论 -
python的全局变量和局部变量
但是第二次传入False就要小心了,它会报错(UnboundLocalError: local variable ‘x’ referenced before assignment),原因是虽然control是False,后面的语句不会运行到,但是对于python而已,即使没有运行到x的赋值,return x的时候,会把x当初局部变量,而这时的局部变量x没有进行赋值操作。对于z值其实也没有异议,这里打出值来,就是想让大家看看,z值没赋值之前是empty,等两次赋值,值是基于最后一次赋值。原创 2023-05-15 18:21:29 · 268 阅读 · 0 评论 -
在python中如何去检测文件是否存在?
如代码注释,虽然前面的代码检查了文件的存在性,但是可能后面这个文件不存在了,这时候去打开文件就会失败了。所以我们需要对代码进行优化,做一个异常处理。其实代码还能再优化,我个人建议所有的文件操作,尽量使用pathlib。原创 2023-05-13 13:20:13 · 845 阅读 · 0 评论 -
通过python画三维图
大家可以自己运行一下,具体我把画三维图的接口说明都写在代码后面的注释里。python画的3d图。原创 2023-05-10 20:08:00 · 1100 阅读 · 0 评论 -
用python画二维图
如题,先从网站上爬取数据,然后将数据画出来。python画二维图。原创 2023-05-09 21:47:42 · 715 阅读 · 0 评论 -
用面向对象的方式来开发python
python可以用面向对象的方式进行开发,我会通过如下代码,一次性说明白,至少对python初学者会有一定的帮助。1、python可以像其他面向对象语言一样,弄一个父类,然后子类继承父类的函数,也可以子类覆盖父类的同名函数。代码只是学习交流使用,有些接口设计只是为了展示其使用的方式,实际开发可能不会这么使用,比如静态函数,类函数等。4、类中的成员变量其实可以直接通过实例获取,但是建议通过对外函数获取。2、子类如何调用父类的init函数,我的代码中涉及到两种方式。6、怎样定义类函数,怎样使用类函数。原创 2023-05-05 23:19:15 · 75 阅读 · 0 评论 -
通过pybind11来实现python调用C++接口(二)
相信大家应该都能掌握怎么让python调用C++的容器,以及class类。对于python调用C++接口的基础知识,可以参考我的博文:[通过pybind11来实现python调用C++接口(一)]。(https://blog.youkuaiyun.com/shouqi321/article/details/130439525)通过g++ pybind.cpp -std=c++11 -shared -fPIC。如果用class的方式,怎么调用呢?编译生成目标动态库。原创 2023-04-29 22:51:58 · 461 阅读 · 0 评论 -
通过pybind11来实现python调用C++接口(一)
好了,现在环境都应该是可以了,我们下一期讲讲怎么通过class的方式被python调用,以及如何使用C++常用的string,vector等标准容器。这条命令之后会产生一个动态库:pythondemo.cpython-310-x86_64-linux-gnu.so。有小伙伴很好奇,怎么样实现python调用C++接口?哈哈,手把手教程来了。原创 2023-04-29 12:52:11 · 1427 阅读 · 0 评论 -
做个实验----在python中通过循环的方式计算1到n的累加和的计算性能谁最好
我们先聊一下while_loop和for_loop:这两个最大的区别在i这个变量的累加,对于while_loop接口所有的操作都在python中处理的,但是for_loop接口中变量i的+1操作其实在C语言中实现,所以对于for_loop接口处理的性能会高一些。最后一个直接通过数学公式直接得出结果,这个不难理解,效率应该是最高的,其实工作中有些性能的优化就是这么来的,所以为什么说高端玩家,玩的是高数。我们来玩个游戏,如果在python中计算1到n的累加和,用什么计算方式效率最高?原创 2023-04-28 22:36:44 · 594 阅读 · 0 评论 -
你需要改掉的Python开发习惯(四)
但事实是用time.perf_counter()的精度要高于time.time(),因为perf_counter具有最高可用分辨率的时钟。具体原因也可以参考该文章:http://www.zzvips.com/article/197970.html。一般都会使用日志功能,因为可以设置日志的打印等级,来控制哪些类型的日志需要输出。建议是去掉"shell=True"原创 2023-04-25 22:27:43 · 102 阅读 · 0 评论 -
你需要改掉的Python开发习惯(三)
如果你不知道字典项,你需要获取每个键,再去通过键去获取值。1、对于用if bool 和 if len做判断,其实是很多余的。原创 2023-04-24 23:16:21 · 69 阅读 · 0 评论 -
你需要改掉的Python开发习惯(一)
如果wirte接口调用失败,抛出了异常,那close接口就永远都不会被调用。而如果使用with语句,可以确保抛出异常了也能关闭文件。上面的代码是在不停的接收一个从键盘输入的数字,但如果不小心输入ctrl+c,也会被异常捕获。最好的方式是使用正确的异常捕获类型。上面的代码其实没有问题,其他语言开发也是这么用的,但是我建议用with语句,它会自动调用close。3、同第二条,try-finally也可以做同样的处理。其实它是一个按位操作,正确的幂的操作符如下。4、使用正确的异常捕获。原创 2023-04-23 13:11:55 · 138 阅读 · 1 评论 -
python通过for-in生成list和dictionary小技巧
【代码】python通过for-in生成list和dictionary小技巧。原创 2023-04-23 18:32:35 · 261 阅读 · 1 评论 -
你需要改掉的Python开发习惯(二)
是不是觉得很奇怪,跟想象的结果不一样,那是因为函数参数默认值是在函数定义的时候定义的,而不是函数执行的时候定义的。说白了,当第一次执行append(0)时,函数参数l=[],而当第二次执行append(1)的时候,函数参数l=[0]。上面的函数是求长度为 n * n 的 x, y的矩阵乘积,一眼望过去还是很难理解的。我们可以扩展一下,其实对于a == b做的是值的比较,而对于a is b做的是地址的比较。上面是对字典的操作,其他的如list,gen,set也都可以这样操作。原创 2023-04-23 22:00:10 · 72 阅读 · 0 评论