《python基础教程》学习笔记(一) 基础知识篇
python让我觉得很方便使用的地方是他有很多的集成库,使用只需调用接口即可,省去了很多麻烦,而且完全交互式,可以随时发现问题。
每一种编程语言的入门都是从数字表达式、语句、字符串、条件和循环等入手,而python在语句方面都是很简洁省事,变量的定义,句尾结束符都省略。
一、数字和表达式
python的编译器是交互式的,完全可以当作计算器使用,比如输入
>>> 2 + 2 4
直接输出结果4,常用的算术运算符功能和计算器的相同。但是,这里有个潜在的陷阱,就是整数除法。(3.0版本之前)
>>> 1/2 0
这显然不是我们想要的结果,原因是因为整数除于整数,小数部分被截取了,解决这个问题有两种方法,一是使用浮点数计算(float), 学习过其他语言的都明白这原理。 >>> 1.0/2.0 0.5
另一种是如果希望python只执行普通的除法,可以在程序前加上以下语句:
>>> from __future__ import division >>> 1/2 0.5
注意:这里的__future__是双下划线,初学容易看成是单下划线而出错。
而此时,要想执行取整的操作,是使用双斜线。
>>> 7//2
3
就算是浮点数,也会执行整除:
>>> 7.0//2.0
3.0
另一个取余运算符%和其他语言无异,省略。最后一个要提一下的是运算符是幂运算符(**):
>>> 2**3
8
注意:幂运算符比取反的优先级要高,所以-3**2等同于-(3**2),看下面例子:
>>> -3**2
-9
>>> (-3)**2
9
二、变量
学习过其他语言的都清楚,在使用变量之前都需要定义这个变量属于什么类型,而在python中非常容易理解,变量基本上就是代表某值的名字。比如说希望x代表8,只需执行>>>x = 8, 此时运行>>> x*2 会得到结果16.
注意:变量可以包括字母、数字和下划线,但不能以数字开头命名。
三、语句
表达式与语句的区别:表达式就是某件事,而语句是做某件事(即告诉计算机做什么)。区别例子如下:
>>> 2*2
4 #表达式
>>> print 2*2
4 #语句
赋值和打印结果都是语句,可以看出语句的一般性特征:他们改变了事物。
四、获取用户输入
我们编写程序通常是让别人来使用的,需要获取用户的输入值,这时就有个非常好用的input函数:
>>> x = input(“x : “)
x : 34
>>> y = input(“y : ” )
y : 42
>>>print x * y
1428
input括号里面的内容将作为提示信息显示给用户。
五、函数
前面提到的print、input都是函数,幂运算符**也有相应的函数pow代替:
>>> 2**3
8
>>> pow(2,3)
8
python里面有很多函数,它们可以做很奇妙的事情。也可以自己定义一个函数。因此,像pow等标准函数称为内建函数。
六、模块
可以以把模块想象成导入到python以增强其功能的扩展。需要使用特殊的命令import来导入模块。例如前面的__future__模块,又或者是math模块,在我们求平方根用到sqrt函数时就需要导入math模块。
>>>from math import sqrt
>>>sqrt(4)
2
七、注释和字符串
- 在python中使用的注释符是井号#,在注释符后的文字代码不被执行。
- 单引号和转义符
在我们表示字符串时,通常会使用单引号或是双引号,两者区别不大,但是如果遇到了两者混合,比如某人说的一句话,这时就需要小心:
>>>”Let\’s go”
“Let\’s go“
>>>\'”Hello”, she said\’
\'”Hello”, she said\’
或者你也可以使用转义字符反斜杠“\”,
>>>\’Let\\’s go\’
“Let\’s go”
- input与raw_input的比较
看下面一段程序:
>>>name = input(“Please input your name: “)
>>>print “Hello, ” + name + “!”
乍看之下觉得程序应该运行的很顺利,但是你尝试输入Anne, 程序会直接报错,解决问题的办法就是输入“Anne”,一字符串的形式,而这样会造成很大的不便,因为你不可能要用户在输入字符时还谨慎小心地再加上引号。因此,便有raw_input这个函数的存在,他会把所有的输入当作原始数据(raw data),然后将其保存在变量中。
>>>name = raw_input(“Please input your name: “)
>>>print “Hello, ” + name + “!”
此时在运行程序并输入字符便不会出错。一般情况下请使用raw_input,除非你对input有特变的需要。