运行python
Python程序是有解析器来执行的,解析器启动后将会出现一个命令提示,在此可以开始程序输入,进入简单的读入-求值循环。
In [1]: print "Hellow World"
Hellow World
Python的交互式模式是最有用的功能之一,以交互方式使用时,特殊变量_用于保存最后一次运行的结果,此变量只在交互模式下才有定义
In [2]: 1+2
Out[2]: 3
In [3]: _+2
Out[3]: 5
Python源文件是普通的文本文件,后缀通常是.py,字符#表示整行都是注释。在命令行中执行python文件,会启动解析器,并在控制窗口运行程序
>python test.py
Hello World
变量和算数表达式
python是一种动态类型的云烟,在执行过程中,可将变量名称绑定到不同的值,而且这些值可以属于不同的类型。赋值运算法的作用仅仅是在名称和值之间创建一种关联,尽管每种值都有一种类型,但是变量名称是无类型的。例如
In [2]: a = 1
In [3]: b = 0.1
In [4]: a = a * (a + b)
In [5]: a
Out[5]: 1.1
a的初始值是整型,但最后的结果是浮点型,这里不是a的类型改变了,而是a引用的值的类型变了。
一条语句的结束可以通过换行或者一行上使用分号来间隔开来。
while语句的对随后的表达式进行测试,然后决定是否执行主体,主体是由缩进来表示的,Python不会指定缩进量,只要在一个代码块中保持一致就可以了,最常见是使用4个空格。
在程序输出时,可利用字符串格式化运算符%控制对齐
In [6]: a = 1.2
In [7]: b = 1.01
In [8]: print "%.2f %.2f" % (a, b)
1.20 1.01
格式化字符串包含比普通文本和特殊的格式化字符串序列,如“%d“、 ”%s”和“%f”用于指定特定整型、字符串型、或浮点型数。特殊的字符包括用于指定宽度和精度的修饰符,如“%3d”将一个整数格式化为在一个宽度为3的列中右对齐,而“%.2f”将一个浮点型格式化为小数点后出现两位数字。也可以利用format()函数单独格式化每部分
In [16]: print format(a, ".3f"),format(b, ".2f")
1.200 1.01
format方法还可以用于一次格式化多个值
In [24]: print "{0:.3f} {1:.2f}".format(a, b)
1.200 1.01
In [25]: print "{1:.3f} {0:.2f}".format(a, b)
1.010 1.20
条件语句
if与else语句可以进行简单的测试,测试条件返回结果都是True或False
if a<b:
print "a<b"
else:
pass
主体用缩进表示,else子句是可选的,pass表示占位,空子句。使用不二类型的表达式or,and,not
if a < b and c=="1" and \
(age>4 or grade >90):
print "a<b"
else:
pass
上面的反斜杠\表示连接下一行的代码,当一行代码太长时,可利用行尾添加\
Python没有专门的switch和case语句,当有多个测试用例时,可以使用elif
if a < b:
print "a<b"
elif a==b:
pass
else:
pass
文件输入和输出
打开并读取文件内容
# coding: UTF-8
file = open("link.txt")
line = file.readline()
while line:
print line, #后面跟的','表示忽略换行符
#print(line, end = '')
line = file.readline()
file.close()
上述代码中第一行是进行编码声明,识别程序中的中文,注意的是声明必须与文件保存时用到的编码一致,否则很大概率会出现代码解析异常,现在的IDE一般会自动处理这种情况,但是文本编辑器就要小心。
open打开一个新的文件对象,调用该对象的方法readline()读取文件一行,包括换行符,读到文件结尾时返回空字符串。
如果程序在这样的数据集中进行循环,那么通常就称为迭代,可用专门的for语句来执行
for line in open("link.txt"):
print line,
另外,print>>可以指定一个文件,将输出到文件中,使用’w’写方式打开文件
file = open("link.txt",'w')
print >>file, 'hello'
该语法只能在Python2中使用,也可以使用文件对象函数write()方法
file = open("link.txt",'w')
file.write('hello')
如果想读取控制台输入,则
# coding: UTF-8
import sys
sys.stdout.write("Enter your name:")
name = sys.stdin.readline()
在Python2中可以使用
# coding: UTF-8
name = raw_input("Enter your name:")
字符串
字符串可以有三种表示方法,单引号、双引号、三引号
a = 'Hello'
b = "Li"
c = """ny"""
单引号和双引号必须在一个逻辑行上,而三引号可以之间的内容都属于字符串,可以出现在多行。
In [1]: print """hello
...: world"""
hello
world
字符串存储在一个以0开始,使用整数索引的字符序列总,可以使用索引运算符来获取其中的一个字符
In [5]: a = "Hello world"
In [6]: a[4]
Out[6]: 'o'
使用切片运算符可以获取子字符串s[i:j]