Python

Python这么火,编码风格不可不知!

分号
Tip
不要在行尾加分号, 也不要用分号将两条命令放在同一行。

行长度
Tip
每行不超过80个字符

例外:
1. 长的导入模块语句
2. 注释里的URL

不要使用反斜杠连接行。

Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号。

Yes: foo_bar(self, width, height, color='black', design=None, x='foo',
emphasis=None, highlight=0)

if (width == 0 and height == 0 and
color == 'red' and emphasis == 'strong'):

如果一个文本字符串在一行放不下, 可以使用圆括号来实现隐式行连接:

x = ('This will build a very long long '
'long long long long long long string')

在注释中,如果必要,将长的URL放在一行上。

Python语言特性

作者:huyr830

下是看书归纳所写。

Python语言介绍:
1. Python是一门跨平台、开源、免费的解释型高级动态编程语言。
2. Python支持命令式编程(How to do)、函数式编程(What to do),完全支持面向对象程序设计,拥有大量扩展库。
3. Python也被誉为胶水语言。

胶水语言:可以把多种不同语言编写的程序融合到一起实现无缝拼接,更好地发挥不同语言和工具的优势,满足不同应用领域的需求。

Python版本之争:

Python目前存在2.x和3.x两个系列的版本,互相之间不兼容。在选择Python版本的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,该领域或方向有哪些扩展库可用,这些扩展库最高支持哪个版本的Python。这些问题全部确定以后,再最终确定选择哪个版本。

Python 2.x系列最迟将于2020年全面放弃维护和更新。

Python编程规范以及优化建议:

(1)缩进

  • 类定义、函数定义、选择结构、循环结构、with块,行尾的冒号表示缩进的开始。
  •  python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。
  • Python开发的十个Tips,你知道几个?

    译 | 王坚 整理 | AI时间

    下面是十个Python中很有用的贴士和技巧。其中一些是初学这门语言常常会犯的错误。

    注意:假设我们都用的是Python 3

    1. 列表推导式

    你有一个list:bag = [1, 2, 3, 4, 5]

    现在你想让所有元素翻倍,让它看起来是这个样子:[2, 4, 6, 8, 10]

    大多初学者,根据之前语言的经验会大概这样来做

    bag = [1, 2, 3, 4, 5]
    for i in range(len(bag)):
    bag[i] = bag[i] * 2

    但是有更好的方法:
    bag = [elem * 2 for elem in bag]

    很简洁对不对?这叫做Python的列表推导式。

    2. 遍历列表

    还是上面的列表。如果可能尽量避免这样做:
    bag = [1, 2, 3, 4, 5]
    for i in range(len(bag)):
    print(bag[i])

    取而代之的应该是这样:
    bag = [1, 2, 3, 4, 5]
    for i in bag:
    print(i)

    深度学习最常用到的20个Python库

    【导读】Python在解决数据科学任务和挑战方面处于领先地位。而一些方便易用的库则帮助了开发人员高效开发。在这里我们整理了20个在深度学习、数据分析中最常用、最好用的Python库,供大家一起学习。

    作者| ActiveWizards
    编译|专知
    整理|Yingying,李大囧

    核心库与统计

    NumPy

    我们从科学应用程序库开始说起,NumPy是该领域的主要软件包之一。 它旨在处理大型多维数组和矩阵,并且广泛的高级数学函数和实现的方法集合,使得可以使用这些对象执行各种操作。

    在这一年中,NumPy有很多更新。 除了错误修复和兼容性问题之外,关键更新还包括NumPy对象的打印格式。此外,某些函数现在可以处理Python中可用的任何编码的文件。

    SciPy

    另一个科学计算核心库是SciPy。它基于NumPy,并扩展了其功能。 SciPy主数据结构又是一个多维数组,由Numpy实现。该软件包包含有助于解决线性代数,概率论,积分计算和更多任务的工具。

    SciPy可以适配不同的操作系统。这一年,Scipy带来了许多函数的更新,尤其是优化器也更新了。此外,封装了许多新的BLAS和LAPACK函数。

    Python程序语法元素分析

    程序的格式框架

    下面是一段温度转换的代码示例:
    #TempConvert.py
    TempStr = input("请输入带有符号的温度值:")
    if TempStr[-1] in['F','f']:
    C = (eval(TempStr[0:-1]) - 32)/1.8
    print("转换后的温度是{:.2f}F".format(F))
    elif TempStr[-1] in['C','c']:
    F = 1.8*eval(TempStr[0:-1]) + 32
    print("转换后的温度是{:.2f}F".format(F))
    else:
    print("输入格式错误")

    代码高亮是变成的色彩辅助体系,不是语法要求,可以检查基本语法拼写错误

    在Python中,缩进是语法的一部分,所以不能够随意的加入缩进,否则会出现语法错误,缩进形式如下:

    Python 语法基础之字符集编码

    Python初学者编码实践中经常遇到encode error,decode error,如下:

    例1:
    UnicodeEncodeError: 'ascii' codec can't encode character u'\u5728' in position 1

    例2:
    UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte

    1、百度的时候,大家都建议在代码文件头加上字符集定义:
    # -*- coding: utf-8 -*-

    这种方法大部分情况下可以解决大部分的问题。那么它解决的是什么问题呢?

    我们需要理解两个概念:

    1)、# -*- coding: utf-8 -*- 的作用是声明 python源代码文件的编码格式。 谁会读取Python的源代码呢? 一个是IDE编辑工具,比如pycharm,nodpad++,editpluss等,我们在写代码的时候使用。

    2)、另一个是Python解释器,是执行Python程序的时候使用。

    当我们使用IDE编辑器打开Python代码的时候,如果出现乱码,我们都知道是编辑器的解码方式和代码文件的编码方式不一致导致的。需要修改编辑器的解码方式。

    如何用Python编写你最喜欢的R函数?

    本文介绍了采用创建一个Python脚本,用该脚本模仿R风格的函数的方法来方便地进行统计。

    是用R语言还是用Python语言?这是一个旷日持久的争论。在此,我们可以尝试采用折中路线:创建一个Python脚本,用该脚本模仿R风格的函数,来方便地进行统计!

    简介
    用R语言还是用Python语言?这是数据科学和机器学习的一场大的争论。毫无疑问,这两种语言在最近几年都取得了巨大的进展,成为数据科学、预测分析和机器学习的首选编程语言。事实上,在IEEE新近的一篇文章中,Python取代C++成为2018年的顶级编程语言,R已经牢牢地保住了它在前10名中的位置。

    然而,这两种编程语言之间存在着一些本质的差异。R主要是为数据分析问题的统计分析和快速原型化而开发的工具。另一方面,Python作为一种通用的现代面向对象语言,与C或Java相似,它具有更简单的学习曲线和更为灵活的行为方式。因此,R在统计学家、定量生物学家、物理学家和经济学家中仍然非常受欢迎,而Python逐渐成为日常脚本、自动化、后端web开发、分析和通用机器学习框架的首选语言,Python语言的技术支持基础比较广泛,同时还有许多开源社区。

    如何在Python环境中模仿函数式编程?

    用Python 进行深度学习

    摘要: 深度学习背后的主要原因是人工智能应该从人脑中汲取灵感。本文就用一个小例子无死角的介绍一下深度学习!

    人脑模拟

    深度学习背后的主要原因是人工智能应该从人脑中汲取灵感。此观点引出了“神经网络”这一术语。人脑中包含数十亿个神经元,它们之间有数万个连接。很多情况下,深度学习算法和人脑相似,因为人脑和深度学习模型都拥有大量的编译单元(神经元),这些编译单元(神经元)在独立的情况下都不太智能,但是当他们相互作用时就会变得智能。

    我认为人们需要了解到深度学习正在使得很多幕后的事物变得更好。深度学习已经应用于谷歌搜索和图像搜索,你可以通过它搜索像“拥抱”这样的词语以获得相应的图像。-杰弗里·辛顿

    神经元

    神经网络的基本构建模块是人工神经元,它模仿了人类大脑的神经元。这些神经元是简单、强大的计算单元,拥有加权输入信号并且使用激活函数产生输出信号。这些神经元分布在神经网络的几个层中。

    Python开发,请避开这些坑!

    相比于其他语言,Python的语法比较简单易学,但一旦不注意细节,刚入门的新手很容易就会掉进语法错误的坑里。

    1. 忘记写冒号

    在 if、elif、else、for、while、class、def 语句后面忘记添加“:”

    if spam == 42
    print('Hello!')

    2. 误用 “=” 做等值比较

    “=”是给变量赋值,“==”才是判断两个值是否相等:

    score = 60
    if score = 60:
    print ('passed')

    改正:

    score = 60
    if score == 60:
    print ('passed')

    3. 变量没有定义:

    if age >= 18:
    print ('adult')
    print ('END')

    会导致:NameError: name ‘age’ is not defined.

    改正:

    age = 20
    if age >= 18:
    print ('adult')
    print ('END')

    【视频】Python 助力边缘分析与机器学习

    本视频介绍 PYNQ 框架如何帮助软件工程师和数据科学家轻松获得工业设备的有价值的片上实时见解。

    同步内容