可爱的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
切片操作符同样适用于列表与元组,功能一样。
学习下了
[回复Ta]