社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

S.Lott

S.Lott 最近创建的主题
S.Lott 最近回复了
14 年前
回复了 S.Lott 创建的主题 » 如何准备django项目以备将来的更改

“会有事情发生,我希望早点实施”

这就是好网站的定义。进化者进化和改变的人。

“未来准备好了吗?”

总会有变化的。这对你以前的技术选择总是毁灭性的。

除了拒绝参与新技术之外,你不能阻止、阻止甚至减少变化的影响。

15 年前
回复了 S.Lott 创建的主题 » python:从文件中读取最后的'n'行[重复]

仔细想想,这可能和这里的任何东西一样快。

def tail( f, window=20 ):
    lines= ['']*window
    count= 0
    for l in f:
        lines[count%window]= l
        count += 1
    print lines[count%window:], lines[:count%window]

简单多了。而且似乎进展得很快。

14 年前
回复了 S.Lott 创建的主题 » 使用python语法的子集加速编写c程序

如果你想输入更少的C,你不需要语法技巧。

您需要一个更好的、更高级的结构库,这样您实际上键入的c更少,而不是更少的字符来创建伪c。

如果你有一个更好的,更高级的结构库,你可以用一个简短的,易于阅读的语法正确地编写面向对象的程序。

将这一点推向逻辑的极端,您可以创建可以从python调用的漂亮的库包。然后您可以切换到python,输入更少的内容并完成相同的工作量。

14 年前
回复了 S.Lott 创建的主题 » 人们对Python的社区和生态系统应该了解什么?[关闭]

“刚开始使用python时,最让您困惑的是什么?”

学习Python的规则1: 利用源头,卢克。

关于这个问题,我们有一个疑问,那就是要寻找“好的”源代码,从中学习Python。最好的答案是“阅读Python附带的库”。

可以说,与Python一起提供的库很奇怪。在某些地方。这使他们更适合学习。

  1. 有一群志同道合的人,他们不是克隆人。

  2. 开放源码软件是你能接触到的最高质量的软件,但它不是由严格执行标准的付费开发人员创建的。

14 年前
回复了 S.Lott 创建的主题 » 人们对Python的社区和生态系统应该了解什么?[关闭]

“刚开始使用python时,最让您困惑的是什么?”

学习Python的规则2: 您认为需要的任何通用模块或框架已经编写完毕。好几次。

最困难的部分是意识到你的想法是

  1. 不是唯一的。

  2. 在你开始思考之前就已经有所改进了。

  3. 已经在某个地方发布了。

所以,少编码多搜索。广泛而灵活地搜索,直到找到与你想做的相似的事情。

  • 认识到你可能有一个你认为是描述性的名字。但其他人可能会称之为不同的东西。加入社区,采用他们的命名。你可能不喜欢“ORM”这个词,但这就是它的名字。

  • 意识到你的想法,不管听起来如何,可能真的很糟糕。当您发现一个框架似乎具有“不必要的额外特性”时,您的想法可能会有所遗漏。

  • 意识到你的想法,不管它看起来多么“直观”,可能真的很糟糕。当你找到一个看起来“反直觉”的框架时,问题可能是你的。先学习他们的,然后在你掌握了他们的之后进行比较和对比。在你掌握了他们之前,继续寻找和学习。

14 年前
回复了 S.Lott 创建的主题 » 在Python代码中,您在哪里使用生成器特性?

在所有情况下,我都有读任何东西的算法,我只使用生成器。

为什么?

在多个生成器的上下文中,在过滤、映射和约简规则中进行分层要容易得多。

例子:

def discard_blank( source ):
    for line in source:
        if len(line) == 0:
            continue
        yield line

def clean_end( source ):
    for line in source:
        yield line.rstrip()

def split_fields( source ):
    for line in source;
        yield line.split()

def convert_pos( tuple_source, position ):
    for line in tuple_source:
        yield line[:position]+int(line[position])+line[position+1:]

with open('somefile','r') as source:
    data= convert_pos( split_fields( discard_blank( clean_end( source ) ) ), 0 )
    total= 0
    for l in data:
        print l
        total += l[0]
    print total

我的偏好是使用许多小的生成器,这样一个小的更改就不会破坏整个流程链。

13 年前
回复了 S.Lott 创建的主题 » 为什么不可能创建一个实用的Perl-to-python源代码转换器?

为什么Perl不是Python。

  1. Perl的语句或多或少都是Python所缺少的。虽然您可以设计匹配语句,但语法与Perl完全不同,因此很难称之为“翻译”。你真的需要烹饪一些精美的python东西,使它像最初的perl一样简洁。

  2. Perl具有运行时语义,这与Python非常不同,使得翻译非常具有挑战性。下面我们只看一个例子。

  3. Perl的数据结构与python的数据结构完全不同,因此很难进行转换。

  4. 默认情况下,Perl线程不共享数据。只能共享选定的数据元素。Python线程有更常见的“共享一切”数据。

一个2的例子就足够了。

Perl:

do_something || die()

哪里有东西? 任何 任何形式的声明。

要自动将其转换为python,必须将 || die() 语句在

try:
   python_version_of_do_something
except OrdinaryStatementFailure, e:
   die()
   sys.exit()

其中比较常见的公式

珀尔

do_something

会变成这样,使用简单的——不思考的——源代码的翻译

try:
   python_version_of_do_something
except OrdinaryStatementFailure, e:
   pass

当然,

珀尔

do_this || do_that || die()

更复杂的是转换成python。

珀尔

do_this && do_that || die()

真的很有说服力。我的Perl已经生锈了,所以我记不起这种东西的精确语义。但是您必须完全理解语义才能计算出一个pythonic实现。

python示例不是 好的 蟒蛇。写 好的 python需要“思考”,这是自动翻译无法做到的。

每一个Perl构造都必须像那样被“包装”,以便把最初的Perl语义变成一种pythonic形式。

现在,对 每一个 Perl的特性。

你可以在这里看到我的大纲: http://homepage.mac.com/s_lott/books/nonprog/html/index.html

这个演示文稿是基于经验教学C,艾达,C++,PL/SQL(甚至一个COBOL课程一次)。

有一本伟大的书,它有一个合理的教育学的概念排序。

R.C.Holt,G.S.Graham,E.D.Lazowska,M.A.Scott。操作系统应用程序的结构化并行编程。1978。艾迪生·韦斯利。0201029375

http://openlibrary.org/b/OL4570626M/Structured_concurrent_programming_with_operating_systems_applications