1-02-1 数字、注解、变量与程序区块

数字
解释器就像一个简单的计算器一样,可以在里面输入一个表达式然后它会计算出答案。表达式的语法很直接,运算符 +-*/ 的用法和其他大部分语言一样(比如 Java 或是者 C 语言),括号 () 用来分组。比如:

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5 
1.6

除法运算 (/) 永远返回浮点数类型 (floor type)。如果要做浮点数除法 (floor division) 得到一个整数结果,你可以使用 // 运算符;如果要计算余数,可以使用 %;可以使用 ** 运算符来计算乘方;Python中提供浮点数的完整支持,包含多种混合类型运算数的运算会把整数转换为浮点数。

>>> 17 / 5
3.4
>>> 17 // 5 
3
>>> 17 % 5
2
>>> (17 // 5) ** 2
9
>>> 17 / 5 + 2
5.4 

等号 (=) 用于给一个变量赋值,然后在下一个交互提示符之前不会有结果显示出来;如果一个变量未定义(未赋值),试图使用它时会向你提示错误,此外,变量名称是有区分大小写的。

>>> width = 21
>>> height = 25
>>> width * height
525
>>> W 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'W' is not defined
>>> width
21
>>> Width
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Width' is not defined

在交互模式下,上一次打印出来的表达式被赋值给变量底线 _。这意味着当你把Python用作桌面计算器时,继续计算会相对简单,这个变量被当作是只读类型,不要向它赋值,这样会创建一个和它名字相同独立的本地变量,而导致它会屏蔽原来的内部变量。

>>> width = 21
>>> height = 25
>>> width * height
525
>>> _ / 2
262.5
>>> _ = 10
>>> 5+8
13
>>> 5+_
15

注解 Comments
代码中通常会放一些说明用文字,这些文字并不需要被运行,但对于程序员而言是很重要的提示,用来说明后续程序的意义,#就是用来标示后方文字为注解,在源码文件中,三重引号 “”""""‘’’’’’ 中的文字都是注解。

>>> # 底下为练习设定 _ 为变量时所造成的影响
>>>
>>> _ = 10
>>> 5+8
13
>>> 5+_
15

可以发现加上注解后,代码运行是一样的,但很清楚地知道以下代码的功能

变量赋值
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明,变量通过首次赋值产生,当超出作用范围时自动消亡。 Pyhon 允许一次赋多值。

>>> v = ('a', 'b', 'e')
>>> (x, y, z) = v
>>> x
'a'
>>> y
'b'
>>> range(3) 
[0, 1, 2]
>>> (x, y, z) = range(3)
>>> x
0
>>> y
1

程序区块

最后我们以一个简单的例子来看 Python 是如何处理程序区块的

>>> # 判断 a, b 两值的大小
>>> a, b = 5, 10
>>> if a > b:
...     # 区块 1 
...     print(a , " > " , b)
...     print(a , " 大于 " , b)
... else:
...     # 区块 2 
...     print(a , " <= " , b)
...     print(a , " 小于或等于 " , b)
... 
5  <=  10
5  小于或等于  10

第一行含有一个 多重赋值,变量 a 和 b 同时得到了新值 5 和 10,右手边的表达式是从左到右被求值的。

if 条件判断只要它的条件(这里指 a > b)为真就会执行区块 1,不然就执行区块 2。Python 和 C 一样,任何非零整数都为真,零为假。这个条件也可以是字符串或是列表的值,事实上任何序列都可以;长度非零就为真,空序列就为假。

区块 1, 2 是缩进 (indent) 的,缩进是 Python 组织语句的方式。在交互式命令行里,你得给每个缩进的行敲下 Tab 键或者(多个)空格键。实际上用文本编辑器的话,大多数的专业文本编辑器都有自动缩进的设置。交互式命令行里,当一个组合的语句输入时, 需要在最后敲一个空白行表示完成(因为语法分析器猜不出来你什么时候打的是最后一行)。注意,在同一块语句中的每一行,都要缩进相同的长度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值