网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月14日漏签0天
python吧 关注:475,341贴子:1,969,816
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 3 4 5 下一页 尾页
  • 71回复贴,共5页
  • ,跳到 页  
<<返回python吧
>0< 加载中...

【申精】网上整理的一些Python小技巧

  • 只看楼主
  • 收藏

  • 回复
  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
都是一些入门级别的小技巧,可能会有点乱 持续更新中


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
先给大家推荐基本Python的入门书籍


2025-07-14 12:21:48
广告
  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Python学习手册 第4版(中文版)
Google和YouTube由于PythonF的高可适应性、易于维护以及适合于快速开发而采用它。《Python学习手册(第4版)》将帮助你使用Python编写出高质量、高效的并且易于与其他语言和工具集成的代码。《Python学习手册(第4版)》根据Python专家MarkLutz的著名培训课程编写而成,是易于掌握和自学的Python教程。
《Python学习手册(第4版)》每一章都对Python语言的关键内容做单独讲解,并且配有章首习题,便于你学习新的技能并巩固加深自己的理解。书中配有大量注释的示例以及图表,它们都将帮助你轻松地学习Python3.0。
《Python学习手册(第4版)》学习Python的主要内建对象类型:数字、列表和字典。使用Python语句创建和处理对象,并且学习Python的通用语法模型。使用函数构造和重用代码,函数是Python的基本过程工具。学习Python模块:封装语句、函数以及其他工具,以便构建较大的组件。学习Python的面向对象编程工具,用于组织程序代码。学习异常处理模型,以及用于编写较大程序的开发工具。了解高级Python工具,如装饰器、描述器、元类和Unicode处理等。


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以上摘自百度搜索。非原创侵权删


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
总结十个python编程时最常见的错误
摘自CSDN---大数据前沿


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Python允许开发者指定一个默认值给函数参数,虽然这是该语言的一个特征,但当参数可变时,很容易导致混乱,例如,下面这段函数定义:
>>> def foo(bar=[]): # bar is optional and defaults to [] if not specified
... bar.append("baz") # but this line could be problematic, as we'll see...
... return ba
在上面这段代码里,一旦重复调用foo()函数(没有指定一个bar参数),那么将一直返回'bar',因为没有指定参数,那么foo()每次被调用的时候,都会赋予[]。下面来看看,这样做的结果
>>> foo()
["baz"]
>>> foo()
["baz", "baz"]
>>> foo()
["baz", "baz", "baz"]
解决方案:
>>> def foo(bar=None):
... if bar is None: # or if not bar:
... bar = []
... bar.append("baz")
... return bar
...
>>> foo()
["baz"]
>>> foo()
["baz"]
>>> foo()
["baz"]


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
(二)错误地使用类变量
  先看下面这个例子:
>>> class A(object):
... x = 1
...>>> class B(A):
... pass
...>>> class C(A):
... pass
...>>> print A.x, B.x, C.x
1 1 1
  这样是有意义的:
>>> B.x = 2
>>> print A.x, B.x, C.x
1 2 1
  再来一遍:
>>> A.x = 3
仅仅是改变了A.x,为什么C.x也跟着改变了。
在Python中,类变量都是作为字典进行内部处理的,并且遵循方法解析顺序(MRO)。在上面这段代码中,因为属性x没有在类C中发现,它会查找它的基类(在上面例子中只有A,尽管Python支持多继承)。换句话说,就是C自己没有x属性,独立于A,因此,引用 C.x其实就是引用A.x。>>> print A.x, B.x, C.x
3 2 3


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
太多了 懒得搬了 有兴趣的自己去看看把 搜索10个最容易反的Python开发错误,找到开头我说的哪个博主的博客就行了


2025-07-14 12:15:48
广告
  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
各种 Python 实现的简单介绍与比较
CPython
CPython是标准Python,也是其他Python编译器的参考实现。通常提到“Python”一词,都是指CPython。CPython由C编写,将Python源码编译成CPython字节码,由虚拟机解释执行。没有用到JIT等技术,垃圾回收方面采用的是引用计数。
所以当有人问道Python是解释执行还是编译执行,可以这样回答:Python(CPython)将Python源码编译成CPython字节码,再由虚拟机解释执行这些字节码。
如果需要广泛用到C编写的第三方扩展,或让大多数用户都能直接使用你的Python代码,那么还是使用CPython吧。


  • 我是按破
  • 秀才
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
感谢楼主帮整理


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Jython
Jython在JVM上实现的Python,由Java编写。Jython将Python源码编译成JVM字节码,由JVM执行对应的字节码。因此能很好的与JVM集成,比如利用JVM的垃圾回收和JIT,直接导入并调用JVM上其他语言编写的库和函数。
对于想在JVM上使用Python简化工作流程,或者出于某些原因需要在Python语言中使用Java的相关代码,同时无需用到太多CPython扩展的用户来说,极力推荐Jython。


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
IronPython
IronPython与Jython类似,所不同的是IronPython在CLR上实现了Python,即面向.NET平台,由C#编写。IronPython将源码编译成TODO CLR,同样能很好的与.NET平台集成。即与Jython相同,可以利用.NET框架的JIT、垃圾回收等功能,能导入并调用.NET上其他语言编写的库和函数。IronPython默认使用Unicode字符串。
另外,Python Tools for Visual Studio可以将CPython和IronPython无缝集成进VS中。如果仅需要在Windows上开发较大的Python项目。条件允许的情况下,IronPython是个不错的选择。


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
PyPy
这里说的PyPy是指使用RPython实现,利用Tracing JIT技术实现的Python,而不是RPython工具链。PyPy可以选择多种垃圾回收方式,如标记清除、标记压缩、分代等。
想对于CPython,PyPy的性能提升非常明显,但对第三方模块的支持真心是弱爆了。比如无法很好的支持使用CPython的C API编写的扩展,完全不支持使用SWIG、SIP等工具编写的扩展。就连NumPy,也要在编译器的层面上从头实现。即使实现了,也只能在Python层面中使用,无法供其他第三方模块在非Python环境中使用。关于PyPy,后续会尝试用一篇完整的文章来介绍。不过我的这一篇文章中对PyPy和下面的Pyston有更详细的描述。


  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Pyston
Pyston由Dropbox开发,使用C++11编写,采用Method-at-a-time-JIT和Mark Sweep——Stop the World的GC技术。Pyston使用类似JavaScript V8那样的多层编译,其中也用到了LLVM来优化代码。Pyston正在发展中,还不成熟。但其前景是非常值得看好的。


2025-07-14 12:09:48
广告
  • zirendan
  • 举人
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这里介绍了主要的几款Python实现,这几款Python实现可以满足大部分需要。而略过了几款,如Cython、Brython、RubyPython等。其实Cython还是挺有用的,不过现在接触的不多,不敢多写,看后面能不能抽时间补上。而Brython、RubyPython,个人感觉完全可以用JS或Ruby,没必要在一种动态语言的环境中再使用另一种动态语言。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 4 5 下一页 尾页
  • 71回复贴,共5页
  • ,跳到 页  
<<返回python吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示