可爱的python之语句与语法

2009年11月15日  |  5:25 下午分类:python  |  

注释(#)

python中的注释是以#开头的,不像c++中有/**/之类的多行注释。

继续(\):表示继续上一行,通常情况下,一行表示一个语句,一行过长的语句可以使用\进行分解

语句块(:):在c#/php/javascript/c++中,对于复合语句是用{}来标识,而在python中,是用:配合缩进来实现语句块,如:

if a>0:
    #todo
else:
    #todo

所有的复合语句(if/for/while/)或类定义、函数定义都要用:配合缩进实现。python中的缩进不光是一种代码风格,更是一种代码标准,不同的缩进层次代表不同的语句体。

一行多条语句(;): 我们可以在一行中书写多条语句,每一条语句用;分开,这是python允许的,但从代码可读性上考虑,尽量避免这种写法。

如:

import sys;x=y=1;

与其它语言一样,python的赋值操作符同样是用=号表示,python可以支持多元赋值

x=1
m=n=2
a,b,c,d=1,2,'python',[1,2,3] #很有趣的多元赋值
x=y=x+1
print x
print m,n
print a,b,c,d
print x,y
#output
2
2 2
1 2 python [1, 2, 3]
2 2

要注意的是:python不支持大多数语言所支持的自增(++)自减(–)运算符,也就是a++或a–在python中是错误的,只能a=a+1(a+=1)或a=a-1(a-=1)。

在python中,代码重用是通过“模块”来实现的,类似于c#中的程序集或c++中的头文件,模块是以模块名+.py组成,但要注意,模块名最好不要与系统模块同名,如定义一个xml.py就不是一个好主意。

引入一个模块用import关键字,对应的在c#中就是using,java中是import,php中是include,正确引入以后,就可以使用该模块中的方法或变量了(调用的方法可能会有所不同,会在后面说明)。

输入和输出:

输出用print语句,输入用raw_input,raw_input用来接收用户输入,接收到的数据均以字符串的形式表示。具体语法可以通过dir(‘raw_input’)查看。
终止程序运行,可用sys模块的exit()方法。

一个py程序都会有一个主方法,该方法通常会命名为main(),但这不是绝对的,如何运行我当前的.py文件?

只需判断__name__这个超级变量的值即可,如果是直接运行.py文件,则__name__的值就是__main__,否则就是该.py文件的文件名。

m.py(m模块)

#coding:utf-8
import sys
import os

print __name__

if __name__=='__main__':
    print 'this is'+__name__

如果直接运行m.py文件,则输出:
__main__
this is__main__
请按任意键继续. . .

2.py

#coding:utf-8
import m

if __name__=='__main__':
    pass

此时在2.py中引用m模块,可以看到m模块中的__name__变量值为模块名m

m
请按任意键继续. . .

pass关键字表示什么也不做,在上面的代码中是不能省略的,这是语法的要求,虽然在c#中可以if(a){},但python必须用pass关键字填充。

切片操作符[start:stop:step],在dir(str)时,我们会发现没有熟悉的subString方法

['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__
ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__g
t__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__
', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '
__rmul__', '__setattr__', '__str__', 'capitalize', 'center', 'count', 'decode',
'encode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isdi
git', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lst
rip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit'
, 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', '
translate', 'upper', 'zfill']

那我们如何获取指定的字符串的一部分?此时,切片操作符就派上用场了。

a='abcdefg'
print a[0:3] #abc
print a[:3]  #abc
print a[0::2]  #aceg
print a[::-1]   #gfedcba
print a[2:-3]  #cd

切片操作符同样适用于列表与元组,功能一样。

转载时务必以超链接形式标明文章原始出处和作者信息。

相关文章

  • 暂无相关日志

1位领导已批示 关于 “可爱的python之语句与语法”

  1. 仁心博客 发表于: 十一月 17th, 2009 8:45 下午

    学习下了

    [回复Ta]


发表您的评论

2412151751091918111201478131663