最近换了部门,项目上各种脚本都是用python写的,虽然大学毕业之前自学过一段时间,其实也就是了解一点基础的语法,根本没有用过,而且以前工作中用的也是perl,现在借着这次重新学习的机会整理一下学习的笔记,主要也是对一些平常的用法进行一下总结和保存,以便以后需要的时候查阅。
一、基本知识
python不使用c语言中的花括号来表示语句块,而是使用缩进,也就是tab键,一般来是在函数定义,类定义和一些控制语句的结尾以:(冒号)来作为缩进的开始。
if a>b:
print a
...
else:
...
print b
处于同一级的代码缩进量必须保存一致,否则会导致运行出错或者出现逻辑错误。
一般来说一条语句都是占一行的,结尾不需要加;(分号),当然加了分号就可以将两条语句写在一行,和shell中是相同的。如果缩进语句只有一行,那么就可以将其直接写在分号之后。
a=1;b=2
if a>b:
print “greater one is “;print a
else:print b
python中的注释语句都是#开头的,这和shell里面也是一样,但是只注释一行,大段的注释可以使用三个单引号或者双引号前后包围,引号必须成对出现,别前面单引号后面双引号的,不过三个单引号和双引号还能表示大段的字符串。
'''
comment start
...
...
...
comment end
'''
"""
comment start
...
...
...
comment end
"""
str = """This is
one
sentence!"""
上面这个例子中是有换行的,如果单行很长的话可以用“\”来分成几段,或者是一对圆括号来前后包围。
str = """This is \
one \
sentence!"""
str = ("This is "
"one "
"sentence!")
还有一点比较重要的就是python中的单引号和双引号是没有区别的,都是用来包围字符串的,这样在单引号中使用双引号就不需要转义,反之亦然。所以要在字符串中输出某个变量的值就需要做一点的变化。
num = 1
print "Number is", num
print "Number is %d" %(num) #不加括号也是可以的,如果是字符串的话当然就是%s了
print "Number is "+str( num ) #这里使用了函数str将num转换为字符串,然后利用字符串对象重载的+方法将两个字符串连接起来。
python 中的基本输入函数为raw_input(), 返回输入的字符串:
name = raw_input( "pleaseinput name:" )
基本的输出语句为print
,注意这里不是函数,print
可以输出python
中所有的数据类型而不需要事先指定其要输出的类型,当然特殊需要除外。
raw_input()和print都是2.6以及之前版本的用法,3.0以后变成input()和print()了,注意这里的print已经变成了内置函数,所以在使用的时候必须要加上括号。
最后说说ide,python的ide很多,用过几个以后感觉SPE和WingIDE比较好用,SPE缩进的竖线让人看的更清楚,但是自动补齐的功能只能是在输入.之后才会出现相应的属性和方法;而Wingide是一款商业的软件,需要授权的,不过强大的网友还是能找到破解的方法的,用起来感觉好很,自动补齐很全面(注意是tab键),要是再能加上SPE显示缩进对其的竖线就更完美了。eclipse+devPy没怎么用,主要是不太会配置加上运行稍微有点慢;windows下的PyScripter也不错。vim什么的我就不说了,上手和配置还是有一定难度,当然强大的功能是毋庸置疑的。反正自己喜欢哪个就用哪个,ide就是图个方便,真正开发还是得靠自己。