现在的位置: 主页 > 商讯 > 文章正文

Python note1(语言语义)

作者:成都昌德装饰工程有限公司 来源:www.cdchangde.com 发布时间:2017-09-11 14:26:48
Python note1(语言语义)

Python为一种解释型语言,Python解释器通过“一次执行一条语句”的方式运行程序,可以直接在终端用python启动标准交互式Python解释器,如果要运行Python程序,只需调用python并将.py文件作为其第一个参数即可。

通常Python科学计算程序员更趋向于使用IPython(一种加强的交互式Python解释器)。通过使用%run命令,IPython会在同一个进程中执行指定文件中的代码,在代码执行完毕后,就可以通过交互的方式研究其结果。可以用exit退出IPython。

基础知识 1. 语言语义

Python语言的设计特点是重视可读性、简洁性及明确性。

1.1 缩进(而不是大括号)

Python是通过空白符(制表符或空格)来组织代码的,不像其它语言(如R、C++、Java、Perl等)用的是大括号。
以for循环为例,实现快速排序算法:

for x in array: if x < pivot: less.append(x) else: greater.append(x)

冒号表示一段缩进代码块的开始,其后的所有代码都必须缩进相同的量,直到代码块结束。在其它语言中则可能是:

for x in array{ if x < pivot{ less.append(x) } else{ greater.append(x) } }

使用空白符的主要好处是,他能使大部分Python代码在外观上看起来差不多。在阅读某段别人写的(或者自己很久之前写的)代码时不容易出现“认知失调”。而那些空白符无实际意义的语言中,则可能出现格式不统一的代码,例如:

for x in array { if x < pivot { less.append(x) } else { greater.append(x) } }

使用4个空格作为默认缩进量的好处在于,这样编辑器可以将制表符替换为4个空格。

分号——Python中的语句不以分号结束,但是分号可以用来在一行上分隔多条语句:

a = 5; b = 6; c = 7

但是Python中通常不推荐在一行中放置多条语句,因为这样往往会使代码可读性变差。

1.2 万物皆对象

Python语言的一个重要特点就是其对象模型的一致性。Python解释器中的任何数值、字符串、数据结构、函数、类、模块等都待在它们自己的“盒子”里,这个“盒子”就是Python对象。
每一个对象都有一个与之相关的类型(比如字符串或函数)以及内部数据。在实际工作中,这使得Python语言变得非常灵活,因为即使是函数也能被当做其它对象那样处理。

1.3 注释

用#:

a = 1 # 这里是注释

注释代码块: Python中没有块注释,要么每行前面加#,要么用"""和"""将代码块当做字符串,或者用if 0:(这两个主要在测试的时候用用)。
中文编码: 代码首行加:

# -- coding: utf-8 --

好像有的说要在第二行加,或者是别的形式的,不过这个我每次用,活得好好的。

1.4 函数调用和对象方法调用

函数调用需要用到圆括号以及0个或多个参数,此外还可以将返回值赋值给一个变量:

result = f(x, y, z) g()

几乎所有的Python对象都有一些附属函数(也就是方法),它们可以访问该对象的内部数据。方法的调用如下:

obj.some_method(x, y, z)

函数既可以接受位置参数,也可以接受关键字参数:

result = f(a, b, c, d=5, e='foo') 1.5 变量和按引用传递

Python中对变量赋值时,其实是在创建等号右侧对象的一个引用。例如,看下面这个整数列表:

In [1]: a = [1, 2, 3]

假如将a赋值给一个新变量b:

In [2]: b = a

在某些语言中,该赋值过程会导致数据[1, 2, 3]被复制。而在Python中,a和b现在都指向同一个对象,即原始列表[1, 2, 3]。可以自己验证一下:对a添加一个元素,然后查看b的情况:

In [3]: a.append(4) In [4]: b Out[4]: [1, 2, 3, 4]

理解Python 引用的语义以及数据复制的条件、方式、原因等知识对于在Python中处理大数据集非常重要。
注:赋值(assignment)操作也叫做绑定(binding),因为我们其实是将一个名称和一个对象绑定到一起。已经赋过值的变量名有时也被称为已绑定变量(bound variable)。
当你将对象以参数的形式传入函数时,其实只是传入了一个引用而已,不会发生任何复制。因此,Python被称为是按引用传递的,而其他的语言既支持按值传递(创建副本)又支持按引用传递。也就是说,Python函数可以修改其参数的内容。假设我们有下面这样一个函数:

def append_element(some_list, element): some_list.append(element)

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:鄂州SEO http://ezhou.4567w.com

上一篇:sprintf函数php的详细使用方法 下一篇:最后一页