Python

详细的多维度测评 看看哪个Python版本速度最快

哪个版本的 Python 最快?当然,这些问题由多种因素决定,其中的主要的因素是什么呢?我们又如何为自己的应用寻找最快的 Python 版本呢?带着这些问题,Hackermoon 上一位叫 Anthony Shaw 的作者为我们做了一些测试。

Anthony Shaw :Dimension Data 的 Talent 集团总监,Python 软件基金会成员,Apache 基金会成员

以下是对作者原文的翻译:

使用 Python 性能测试套件

正如之前我在 speed.python.org 网站提到的,Python 核心开发团队非常重视性能问题,这对于比较官方基准和 CPython 版本非常有用。

如图,测试结果很难直观读取

其中不包含 PyPy

你可以通过执行 pip install performance 命令来下载测试套件,然后执行如下命令:

Python入门(三)

继续跨这个还没跨完的门
在前两篇中主要是针对面向过程的编程,这一篇作为python入门的终结篇,主要讨论一下面向对象的编程以及文件IO和异常处理

一、面向对象编程
1.类和对象
例如int x : 变量x是int类的一个对象,下面通过例子详细说明
#!/usr/bin/python2
class hello:
def num(self,a,b):
print a,b
i=555

p=hello()
p.num(1,3)
print p.i

定义了一个hello的类,其下有一个num的函数(类的方法)和一个i变量(类的域),p=hello()创建了一个hello类的对象p,然后通过对象p调用类的方法和域,其中p.num(1,3)和hello().num(1,3)结果是一样的,域也类似

2.self变量
从上个代码中,可以看到类的方法和之前的函数定义有一个区别,就是必须有一个额外的变量(建议命名为self),这个变量指向对象本身,self是不需要赋值的
self变量的工作原理:当调用方法p.num(1,3)的时候,python自动转换为hello.num(p,1,3),这个self变量指向的是对象p

3.__init__方法
__init__方法是在类的一个对象创立的时候,立即运行,即初始化

7 月编程语言指数榜:Python 与 Java 逐渐拉开差距

PYPL 已发布7月编程语言指数榜,Python 在今年5月首次超越 Java 拿下榜首位置后,保持上涨趋势,正逐渐与 Java 拉开差距。此外,JavaScript 和 PHP 在季军位置的争夺上也十分激烈。二者在上半年的指数得分上十分接近,不过本月由于 PHP 出现了 1.5 个百分点的下降,地位有点危险。

PS:趋势是与去年 7 月对比

PYPL 指数原始数据基于 Google trends ,根据编程语言在 Google 上的搜索频率(次数)来评估语言的流行度。

Python 和 Java 走势:

JavaScript 和 PHP 走势:

Python 3.7 正式版发布 大量新特性和优化来袭

Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LISP。Python 3.7 已正式发布,同时发布的还有 3.6.6 , 具体详情可分别查阅更新说明:

3.7: https://www.python.org/downloads/release/python-370/

3.6.6: https://www.python.org/downloads/release/python-366/

Python 3.7 包含许多新特性和优化,亮点包括:

新语法特性:

PEP 563, 推迟评估类型注释

向后不兼容语法更改:

Python学习笔记

作者:NingHeChuan(宁河川)

一、Python基础知识

1. Print()函数是默认以换行符作为其结束值的。下一次对print()的调用将会在下一行显示。

2. 插入引号:单引号用\’,双引号用\”,

3. 触发系统蜂鸣器:print(“\a”)

4. \t水平制表符位——将光标向右移动一个制表符位

5. Python进行数字运算 // 为整除没有余数

6. 使用input()函数可以输入字符串,但是输入英文字符串时需要加双引号。

7. 常用的字符串方法

upper()

返回字符串的大写形式

Lower()

Vivado TCL脚本和Python自动处理

TCL简介
vivado软件支持TCL脚本,可以纯TCL定制非工程模式FPGA流程,也可以作为GUI工程模式下TCL命令的一个补充。纯TCL定制非工程模式有许多优点,给予用户最大的灵活性去定制FPGA流程,包括控制所有步骤和管理所有的中间生成文件dcp,有利于版本管理和自动化,适用于高级玩家。当然GUI下的工程模式最适合入门,可以专注于解决问题,工作效率不是首要考虑。这时候选择TCL作为GUI模式下的一个补充功能有时候简直奇效。

常见运用场景,要找某个时钟的BUFG或者综合后网表中的某一个信号,还有就是自动触发ILA抓取信号,配合Python进行自动的分析,在信号处理中定位问题非常方便。

TCL语法
简单的TCL语法如下:
设置变量
set n 1
输出显示
puts $n
循环
set n 1
while{$n<10}{puts "n = $n";set n [expr {$x + 1}]}
函数/子过程
proc fun{x}{
puts "input is $x"
}
调用
fun(10)

应用举例:
自动触发ILA抓取信号
proc trig_ila {} {

Python 扩大领先优势,其中 PyTorch 仅占 6.4%

近日,著名数据科学网站 KDnuggets 发布了 2018 年数据科学和机器学习工具调查结果。超过 2000 人对自己「过去 12 个月内在项目开发中使用过的数据挖掘/机器学习工具和编程语言」进行了投票。该统计还对过去三年来的排名进行了对比分析。

这份投票结果既有预料之内,也有预料之外的部分。数据显示,Python 作为机器学习常用的编程语言正在不断扩大领先优势,R 语言的使用率第一次降到了 50% 以下。在深度学习框架上,最近呼声很高的深度学习框架 PyTorch 仅仅占据了 6.4% 的使用率,远远落后于 TensorFlow 的 29.9% 和 Keras 的 22.2%。

Python 继续侵蚀着 R 的用户领域,RapidMiner 热门度增加,SQL 保持稳定,TensorFlow 和 Keras 引领前进,Hadoop 衰落,数据科学平台整合等等。

Python代码规范和命名规范

Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯

一、简明概述
1、编码
如无特殊情况, 文件一律使用 UTF-8 编码
如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识

2、代码格式
2.1、缩进
统一使用 4 个空格进行缩进

2.2、行宽
每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ,但最长不得超过 120)

理由:

这在查看 side-by-side 的 diff 时很有帮助
方便在控制台下查看代码
太长可能是设计有缺陷

2.3、引号
简单说,自然语言使用双引号,机器标示使用单引号,因此 代码里 多数应该使用 单引号

自然语言 使用双引号 "..."
例如错误信息;很多情况还是 unicode,使用u"你好世界"
机器标识 使用单引号 '...'
例如 dict 里的 key
正则表达式 使用原生的双引号 r"..."
文档字符串 (docstring) 使用三个双引号 """......"""

2.4、空行
模块级函数和类定义之间空两行;
类成员函数之间空一行;
class A:

def __init__(self):
pass

Python入门(二)

继续跨PYTHON大门
第一篇入门文章写了一些python支持的一些基本特性,这一篇则是作为PYTHON入门(一)的续篇,在稍微高一点的层次上,帮助进行正式的入门

一、函数
函数通过def关键字定义,通过一个简单的例子迅速说明情况:
#!/usr/bin/python2
def Hello():
print "helloO0OooO0oo"

Hello()

上面简短的代码即完成了一个函数的定义和调用,输出结果自己想象

那不说废话,直接上形参,给函数一个输入口
#!/usr/bin/python2
def Hello(s1,s2):
print "helloO0OooO0oo",s1,s2

Hello("1",'ok')
Hello(2,'not ok')

输出的结果也是很容易想象到的:
root@hlf-virtual-machine:/home/hlf/mnt# ./hello.py
helloO0OooO0oo 1 ok
helloO0OooO0oo 2 not ok

局部变量
#!/usr/bin/python2
def Hello(x):
print "global i=",x
i=222

Python入门(一)

跨入PYTHON大门
虽说博主的奋斗主方向是FPGA数字系统设计,但是偶尔学一下别的语言拓展一下思维也是挺好的,免得思维过于僵化,就当做是偷个懒看个小说吧,把PYTHON看一看,说不定之后大有帮助呢,哈哈。

Python语言是一种即简单又强大的编程语言。它不仅适合于初学者,也适合于专业人员使用,用Python编程是一种愉快的事,而不要看做是一种负担。记得之前看书的时候,书上说看PYTHON代码就像是读英文文章一样。总结一下PYTHON的特点就是:简单易学、免费开源、移植性好、面向对象、可嵌入性(作为C/C++的脚本)、库很多。我将在linux环境下,对PYTHON进行学习,因为linux一般自带PYTHON

一、基本操作
1.打开shell,输入python,并helloworld
在命令行输入python(一般python默认指定为python2)或者python2, 快捷键Ctrl+D是退出python命令行到shell命令行

root@hlf-virtual-machine:/home/hlf# python2
Python 2.7.11+ (default, Apr 17 2016, 14:00:29)
[GCC 5.3.1 20160413] on linux2

同步内容