python的一些基本语法
不像Java,C/C++以花括号{}来区分语句块.Python是以缩进来表示语句块,同一缩进级别为同一级别的语句块.一个脚本文件中的0级缩进是文件加载的时候就会被执行的语句,
如print.开启一个新的缩进需要使用:(冒号),代表下一级别的语句块,如条件,循环或者函数定义.缩进最好使用四个空格.而且要注意缩进要一致,使用空格就全都用空格,
使用Tab就都使用Tab,混用就可能得到缩进错误:IndentationError: unindent does not match any outer indentation level
最后,务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错。
操作符
与Java和C中十分类似, +(加), -(减), *(乘), /(除), %(求余), **(指数运算), = (赋值).以及减便运算,如 +=, -=, *=和/= 等。 赋值运算与其他语言一致。 逻辑操作 > < <= >= != ==与其他语言一样.
不一样的有not逻辑非,and逻辑与和or逻辑或。
注释与文档
一行当中,从#开始地方就是注释.不会影响下一行。 ""引号放在文件的开头,函数的开头或者一个类的开头,就是文档注释,与Java中的/** ... */作用和目的是一样的。
折行
如果一行太长了,写不下了,就需要在下一行接着写,这时可以使用\来告诉Python,下一行继续.
一行写多个语句
Python是一个语句放在一行,行尾可以选择性的加上;但如果想在一行放多个语句,就需要用;来分隔语句: a = 1; b = 2; c = 3; 虽然这在语法上可行,但不是一个好习惯,绝大多数的编程规范都是要一行写一个语句.
基本数据类型
- int
- long
- bool
- float
与Java中非常接近.可以近似认为一致.bool的值是True和False,或者0(False),非0就是True
输出
用print
加上字符串,就可以向屏幕上输出指定的文字。比如输出‘hello, world‘
,用代码实现如下:
>>> print ‘Hello World!‘ Hello World! >>> print "Hello World!" Hello World!
print
会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的
>>> print ‘one‘,‘two‘,‘three‘,‘four‘ one two three four
print
也可以打印整数,或者计算结果
>>> print 100 100 >>> print 100+200 300
将计算和字符串结合print
>>> print ‘100 + 200 = ‘,100+200 100 + 200 = 300
输入
>>>raw_input("\n\nPress the enter key to exit.") #"\n\n"在结果输出前会输出两个新的空行。一旦用户按下键时,程序将退出
将输入结果当做变量输出
>>>name = raw_input(‘please enter your name: ‘) >>>print ‘hello,‘, nameplease enter your name: ABChello, ABC
Python标识符
在python里,标识符有字母、数字、下划线组成。
在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
python中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;
以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
Python保留字符
下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。所有Python的关键字只包含小写字母
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
多行语句
Python语句中一般以新行作为为语句的结束符,但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:
>>> total="one,"+... "two,"+... "three" >>> print total one,two,three
>>> one="you" >>> two="are" >>> three="the" >>> four="best" >>> str=one+two+... three+... four >>> print str youarethebest >>> str=one,two,... three,... four >>> print str (‘you‘, ‘are‘, ‘the‘, ‘best‘)
语句中包含[], {} 或 () 括号就不需要使用多行连接符。如下实例:
>>> days = [‘Monday‘, ‘Tuesday‘, ‘Wednesday‘, ... ‘Thursday‘, ‘Friday‘] >>> print days [‘Monday‘, ‘Tuesday‘, ‘Wednesday‘, ‘Thursday‘, ‘Friday‘]
Python 引号
Python 接收单引号(‘ ),双引号(" ),三引号(‘‘‘ """) 来表示字符串,引号的开始与结束必须的相同类型的。
其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。
单引号(‘ ):
>>> sentence = ‘This is \‘ a sentence.‘>>> print sentence This is ‘ a sentence.
双引号(" ):
>>> sentence = "This is ‘ a sentence." >>> print sentence This is ‘ a sentence.
三引号(‘‘‘ """)
>>> paragraph = """This is \‘ a paragraph. It is ... made up of multiple lines and sentences.""" >>> print paragraph This is ‘ a paragraph. It is made up of multiple lines and sentences.
Python注释
python中单行注释采用 # 开头
python没有块注释,所以现在推荐的多行注释也是采用的 #比如:
# First comment >>> print "Hello, Python!"; # second comment
Python空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
同一行显示多条语句
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:
>>> name="ABC";print nameABC
多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
如下实例:
# print absolute value of an integer: a = 100 if a >= 0: print a else: print -a