python学习笔记(一)
1) 为了支持中文字符,需要在文件头加上 “# _*_ coding: utf-8 _*_”的声明。
2) 除了单双引号,python还支持三引号。在三引号内部,可以自由使用单双引号。单双引号都是不能折行的(除非在行尾加上\表示字符串未结束,这点和js一样),但三引号可以折行。三引号的目的应该是为引入大段文字而设。
3) 如果不希望字符串被转义,可以使用自然字符串,即在字符串前加上r或R,即可让字符串不被转义。
=============================
print 'hello \' world' #=> hello ' world
print r'hello \' world' #=> hello \' world
=============================
4) python可以在一行内写多条语句,语句之间用“;”做间隔,但事实上,python和ruby一样,为了让程序更清晰易读,更鼓励用户在一行只写一条语句,不要使用分号。
5) \可以让语句折行继续。
=============================
s = "你好 \
阿当"
print \
s #=> 你好 阿当
=============================
6) python支持字符串的*运算,表示被重复多少次。
=============================
s = "阿当" * 3
print s #=>阿当阿当阿当
=============================
7) python支持冥运算**。
=============================
n = 2 ** 3
print s #=>8
=============================
8) python支持取整除//。
=============================
print 4 / 3 #=>1
print 4 / 3.0 #=>1.333333
print 4//3.0 #=>1.0
=============================
9) python的布尔运算符为not 、 and 和 or。!、&&、||这几个运算符python不支持。另外,True和False都是首字母大写的,true、false在python中都不认识。
10) python有两种运行方式,一种是进入python的交互式命令行,另一种是python xxx.py。这点和ruby一样,ruby也有irb交互式命令行。只是两者的退出方式不一样,irb退出输入exit就可以,python要看运行平台,在linux下按ctrl+d退出,在windows下按ctrl+z+enter。
11) python的输入会自动加上一些东西,让工程师感到“幸福”,比如 print "hello", 123,输出时会在hello和123之间自动加上一个空格,又比如print "123";print "456",输出时,123和456会分成两行,不需要生动加\n进行换行。说是让工程师感到“幸福”,我怎么觉得有点越权呢,我不想让它加空格,不想让它换行怎么办呢?
12) python没有switch语句,我们只能使用if-elif-else多写几个分支,@_@。
13) python的elif还真是奇怪。。。想想我都学写几咱else if了??else if、elseif,ruby的elsif就已经很奇怪了,python的elif更奇怪。python很注重缩进,不像其它语言喜欢用{}或者then do来界定一段代码块,它使用缩进来界定。
=============================
#百度空间自动去了我的缩进,所以用~代表缩进
n = 5
if n > 10 :
~print "它大于10"
elif n > 5 :
~print "它大于5"
else :
~print "它不大于5"
=============================
2) 除了单双引号,python还支持三引号。在三引号内部,可以自由使用单双引号。单双引号都是不能折行的(除非在行尾加上\表示字符串未结束,这点和js一样),但三引号可以折行。三引号的目的应该是为引入大段文字而设。
3) 如果不希望字符串被转义,可以使用自然字符串,即在字符串前加上r或R,即可让字符串不被转义。
=============================
print 'hello \' world' #=> hello ' world
print r'hello \' world' #=> hello \' world
=============================
4) python可以在一行内写多条语句,语句之间用“;”做间隔,但事实上,python和ruby一样,为了让程序更清晰易读,更鼓励用户在一行只写一条语句,不要使用分号。
5) \可以让语句折行继续。
=============================
s = "你好 \
阿当"
print \
s #=> 你好 阿当
=============================
6) python支持字符串的*运算,表示被重复多少次。
=============================
s = "阿当" * 3
print s #=>阿当阿当阿当
=============================
7) python支持冥运算**。
=============================
n = 2 ** 3
print s #=>8
=============================
8) python支持取整除//。
=============================
print 4 / 3 #=>1
print 4 / 3.0 #=>1.333333
print 4//3.0 #=>1.0
=============================
9) python的布尔运算符为not 、 and 和 or。!、&&、||这几个运算符python不支持。另外,True和False都是首字母大写的,true、false在python中都不认识。
10) python有两种运行方式,一种是进入python的交互式命令行,另一种是python xxx.py。这点和ruby一样,ruby也有irb交互式命令行。只是两者的退出方式不一样,irb退出输入exit就可以,python要看运行平台,在linux下按ctrl+d退出,在windows下按ctrl+z+enter。
11) python的输入会自动加上一些东西,让工程师感到“幸福”,比如 print "hello", 123,输出时会在hello和123之间自动加上一个空格,又比如print "123";print "456",输出时,123和456会分成两行,不需要生动加\n进行换行。说是让工程师感到“幸福”,我怎么觉得有点越权呢,我不想让它加空格,不想让它换行怎么办呢?
12) python没有switch语句,我们只能使用if-elif-else多写几个分支,@_@。
13) python的elif还真是奇怪。。。想想我都学写几咱else if了??else if、elseif,ruby的elsif就已经很奇怪了,python的elif更奇怪。python很注重缩进,不像其它语言喜欢用{}或者then do来界定一段代码块,它使用缩进来界定。
=============================
#百度空间自动去了我的缩进,所以用~代表缩进
n = 5
if n > 10 :
~print "它大于10"
elif n > 5 :
~print "它大于5"
else :
~print "它不大于5"
=============================