这一篇文章主要介绍一些python的基础知识,包括算法、数字和表达式、变量、语句、获取用户输入等。
什么是算法
什么是计算机编程呢?简单的来说,计算机编程就是告诉计算机如何做。
而算法只不过是流程或菜谱的时髦说法,详尽的描述了如何完成某项任务,以便于计算机更好的执行。
例如下面的菜谱,鸡蛋火腿肠:
- 先取一些火腿肠
- 再加些火腿肠和鸡蛋
- 如果喜欢吃辣,加些辣味火腿肠
- 煮熟为止
- 记得每隔10min检查一次
这个菜谱很简单,但是具有一定的结构性。它由一系列必须按顺序执行的操作说明组成,其中有些可以直接完成;有些需要特别注意;还有些需要重复。
算法也是一样,由对象(原料)和语句(操作说明)组成。
数和表达式
1、交互式Python解释器可以当作计算器使用,支持简单的数学运算:
>>> 2+2
4
>>>
2、在Python中,除法运算的结果为小数,即浮点数:
>>> 1 / 2
0.5
>>> 1 / 1
1.0
>>>
3、Python中的 整除运算(//
)可以丢弃小数部分,注意这里并不是四舍五入:
>>> 10 // 3
3
>>> 10 // -3
-4
>>> -10 // 3
-4
>>> -10 // -3
3
4、Python中求余/求模****运算(%
)表示取余数:
>>> 10 % 3
1
>>> 10 % -3
-2
>>> -10 % 3
2
>>> -10 % -3
-1
- 基于除法运算的原理和上面的取整运算,就很容易理解最终的余数是多少了。
- 对于有负数的除法,记住:余数不能为0。例如 -10 / 3 = -3··· -1 或 -10 / 3 = -4··· 2,显然正确的计算方法为后者。
- 取模用于条件判断很有用,例如上面菜单中10mim检查一次可以通过 x % 10 == 0 是否成立来实现。
5、Python中乘方/求幂运算通过多个 *
实现:
>>> 2 ** 3
8
>>> -3 ** 2 # 乘方运算的优先级比求负高,等价于-(3**2),所以结果是-9
-9
>>> (-3) ** 2
9
6、十六进制、八进制和二进制
>>> 0xaf # 十六进制写法
175
>>> 0o10 # 八进制写法
8
>>> 0b1011010010 #二进制写法
722
- 这些表示方法都以0开头
- x表示十六进制
- o表示八进制
- b表示二进制
变量
在Python中变量(variable)是表示(或指向)特定值的名称,这一过程也称为赋值(assignment),赋值之后就可以使用变量了:
>>> x = 3 # 给变量x赋值
>>> x * 2 # 使用变量x
6
- 注意,Python变量没有默认值,所以使用变量前必须给变量赋值
- 在Python中,变量/名称/标识符只能由字母、数字、下划线构成,且不能以数字开头
语句
print语句
>>> print('Hello World!')
Hello World!
>>> print(2 * 2)
4
>>> 2 * 2
4
- 在交互式模式中,执行乘法表达式和print语句中执行表达式的语句没有差别,这是因为解释器总是会将表达式的值打印出来(实际上是打印repr的内容)。如果在非交互式模式中表达式结果不会自动打印出来,必须通过print语句才能展示。
- print实际上是一个函数,所以print语句本质上是函数的调用
- print语句会改变屏幕显示外观
赋值语句
>>> x = 3
>>>
>>> print(x)
3
>>>
- 赋值语句和表达式的差别更明显,因为赋值语句不是表达式,它们没有可供交互式解释器打印的值
- 执行赋值语句后,交互式解释器只是再次显示提示符。唯一的区别是有一个名称为x的新变量,与值3关联
- 赋值语句会改变变量
if语句
>>> if 1 == 2: print('One equals two')
...
>>> if 1 == 1: print('One equals one')
...
One equals one
>>>
>>> time = 120
>>> if time % 60 == 0: print('On the hour!') # 可以检查以分钟为单位的时间是否是整点
...
On the hour!
>>>
- if语句可在给定条件满足时执行特定的操作(另一条语句),一般使用相等运算符(==)表示相等性检查
- if条件后面需要加上冒号与后面的语句分开,条件不满足时什么都不做,条件满足时候将执行冒号后面的语句
所有语句都有一个根本性的特征:执行修改操作。
在所有的编程语言中,赋值语句都是最重要的语句。变量就像临时“存储区”(类似于菜谱中的锅碗瓢盆),其真正的威力在于无需知道它们存储的值就能操作它们。
其实变量就是数学中的代数思想,而赋值过程就是我们为了更具体的说明问题给字母一个具体的数字来便于运算。
获取用户输入
在Python中,input()函数可以用来获取用户的输入。
>>> input('The meaning of life: ')
The meaning of life: 42
'42'
>>>
>>> x = input('x: ')
x: 66
>>> y = input('y: ')
y: 88
>>> print(int(x) + int(y))
154
>>>
- 从上面的例子可以看出,input()函数括号中引号内容是用户输入的提示信息,回车之后会打印在屏幕上;继续键入的内容会被input(以文本或字符串的方式)返回,并打印出来
- 通过int()函数可以将输出的数字字符串转换为整数。