Python科学计算与数据处理3:变量与运算符

Python科学计算与数据处理3:变量与运算符_第1张图片
variable_operator

变量

我们可以把变量(variable)看作数据的名字,它指向内存中的某一段特定空间。当你创建一个变量时,解释器就会在内存中预留一块空间,以存储变量的值。数据有整数(integer)、小数(decimal)和字符(character)等等类型,根据不同的变量类型,解释器会分配相应的内存空间。然而,Python变量通常为动态类型,即变量的类型在运行时自动解析,因此不需要提前为变量指定类型,这一点与其他的编程语言不同。

命名

Python语言中,变量的命名需要遵循一定的原则:

  • 不能使用系统保留的关键字,如if、else等;
  • 变量名只能由数字字母下划线组成,而且第一位不能是数字
  • 变量名的字母是大小写敏感的,即aA是不同的变量;

可以用下面的命令查看Python所有的关键字

Python科学计算与数据处理3:变量与运算符_第2张图片
python_keywords

赋值

  • 单赋值语句, 一次给一个变量赋值:
# single assignment
name = 'Wu Yong'
height = 1.8
age = 26
  • 复合赋值语句,可一次性给多个变量赋相同的值:
# multiple assignment
a = b = c = 6

数据类型

Python的数据类型包括以下五大类:

  • 数字(numbers)
  • 字符(string)
  • 元组(tuples)
  • 列表(list)
  • 字典(dictionary)

本节不展开介绍,下一节将详细地对每一种类型进行讲解。

运算符

Python运算符包括:

  • 算术运算符(arithmetic)
  • 比较运算符(comparison)
  • 赋值运算符(assignment)
  • 位运算符(bitwise)
  • 逻辑运算符(logical)
  • 成员运算符(membership)
  • 标识运算符(identity)

算术运算符

算术表达式由运算符和运算对象组成(operands),Python的算术运算符包括:


Python科学计算与数据处理3:变量与运算符_第3张图片
Arithmetic_operators

比较运算符

用于比较运算,返回结果为TrueFalse

Python科学计算与数据处理3:变量与运算符_第4张图片
comparison_operators.png

赋值运算符

用于给变量赋值。


Python科学计算与数据处理3:变量与运算符_第5张图片
Assignment_operator.png

位运算符

位运算是把数字先转换为二进制进行计算。例如,当x=10 (0000 1010)y=4 (0000 0100)时:

Python科学计算与数据处理3:变量与运算符_第6张图片
Bitwise_operators.png

Python还提供了进制转换函数:

  • 二进制bin()
  • 十进制int()
  • 八进制oct()
  • 十六进制hex()

逻辑运算符(logical)

逻辑运算即与(and)、或(or)、非(not)等运算,返回值为True或False。

成员运算符(membership)

Python提供成员运算符来判断一个元素是否属于某个序列(字符串、列表、元组等):

  • in
  • not in

成员运算的返回值也是True或者False。

标识运算符(identity)

网上也有人翻译为身份运算符,用于判断两个变量是否指向同一个对象:

  • is
  • is not

需要注意,数值相等的两个变量并不一定指向同一个对象,即id不同。参考如下例子:

x = 10; y = 10
print 'x is y:', x is y
print 'x == y:', x == y
print 'id(x) = %d, id(y) = %d' % (id(x), id(y))
print '-' * 35
a = [1, 2, 3]; b = [1, 2, 3]
print 'a is b:', a is b
print 'a == b:', a == b
print 'id(a) = %d, id(b) = %d' % (id(a), id(b))
print '-' * 35
c = a
print 'c is a:', c is a
print 'id(c) = %d' % id(c)
x is y: True
x == y: True
id(x) = 51407216, id(y) = 51407216
-----------------------------------
a is b: False
a == b: True
id(a) = 88785288, id(b) = 88788744
-----------------------------------
c is a: True
id(c) = 88785288

可见,is并不能等同于==

优先级(precedence)

当一个语句包含多种运算符时,需要遵循运算符之间的优先级规则和结合原则:


Python科学计算与数据处理3:变量与运算符_第7张图片
precedence.png

上表中,数字越大的排序越靠前,代表优先级越高。建议在符合运算语句中使用括号运算符(),这样既能保证逻辑清晰,避免出现难以发现的错误,又能提高程序的可读性。

小结

本文主要介绍了Python中的变量和运算符,包括变量的命名规则和赋值、数据类型、各种运算符及其优先级。对于数据类型,我将在下一篇文章中作详细介绍。


返回目录

你可能感兴趣的:(Python科学计算与数据处理3:变量与运算符)