您的位置:首页 > 编程语言 > Python开发

Python语法概览

2015-09-10 15:21 591 查看

一 变量

不需要声明,变量的赋值操作既是变量声明和定义的过程,使用前都必须赋值,变量赋值以后该变量才会被创建。

同时赋值:a = b = c = 1

分别赋值连写:a, b, c = 1, 2, “john”

1.1 数据类型

标准的数据类型

Numbers(数字)

String(字符串)

List(列表)

Tuple(元组)

Dictionary(字典)

数值类型:

int(有符号整型)

long(长整型[也可以代表八进制和十六进制])

float(浮点型)

complex(复数)

长整型:小写”L”,建议用大写”L”,避免与数字”1”混淆。

复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

1.2 字符串

截取一段子串的话,可以用到变量[头下标 : 尾下标],返回一个新的对象

加号(+)是字符串连接运算符

星号(*)是重复操作。

str = 'Hello World!'

print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串


1.3 列表

数组很像

1. 使用最频繁,可以完成大多数集合类的数据结构实现。

2. 支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。

3. 列表用[ ]标识。

4. 截取[头下标:尾下标],从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

5. 列表是允许更新的

1.4 元组

只读的数组

1. 元组用”()”标识。内部元素用逗号隔开。

2. 但是元素不能二次赋值,相当于只读列表。

3. 也可以用[]截取。

4. 元组是不允许更新的。

1.5 元字典

还是key -> value

列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用”{ }”标识。字典由索引(key)和它对应的值value组成。

dict['one'] = "This is one"
dict[2] = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


1.6 内置数据类型转换

将数据类型作为函数名,返回一个新的对象



二 运算符

2.1 算术运算符

+

-

*

/

% 取模 - 返回除法的余数

** 幂 - 返回x的y次幂

// 取整除 - 返回商的整数部分

2.2 比较运算符

== != <> > < >= <=

2.3 赋值运算符

= += -= = /= %= *= //=

2.4 位运算符

& | ^ ~ << >>

2.5 逻辑运算符

and or not

2.6 成员运算符

in:如果在指定的序列中找到值返回True,否则返回False。

x 在 y序列中 , 如果x在y序列中返回True。

not in:如果在指定的序列中没有找到值返回True,否则返回False。

x 不在 y序列中 , 如果x不在y序列中返回True。

2.7 身份运算符

用于比较两个对象的存储单元

is:判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1

is not:判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

2.8 运算符优先级



三 语句

3.1 条件语句

if 判断条件:
执行语句……
else:
执行语句……


if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……


python 并不支持 switch 语句

多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

3.2 循环语句

while 循环

while 判断条件:
执行语句……


使用 else 语句:else 中的语句会在循环正常执行完执行

for 循环

循环可以遍历任何序列的项目,如一个列表或者一个字符串。

for iterating_var in sequence:
statements(s)


序列索引迭代:

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
print 'Current fruit :', fruits[index]

print "Good bye!"


使用 else 语句:else 中的语句会在循环正常执行完执行

嵌套循环: 可以在while循环体中嵌套for循环

for 循环嵌套语法

for iterating_var in sequence:
for iterating_var in sequence: statements(s)
statements(s)


while 循环嵌套语法:

while expression:
while expression:
statement(s)
statement(s)


break 语句:打破了最小封闭for或while循环。

continue 语句:跳出本次循环。

pass 语句:pass是空语句,是为了保持程序结构的完整性。不做任何事情,一般用做占位语句。

四 重点类

常用的类,具体查看相关API.

1. Math:可以使用del语句删除一些数字对象引用。

2. 字符串:Python不支持单字符类型,单字符也在Python也是作为一个字符串使用

转义字符:自行搜索

3. Lists:列表是Python中最基本的数据结构

4. 元组

5. 字典

6. 日期时间

五 函数

5.1 定义

def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]


5.2 按值传递参数和按引用传递参数

所有参数(自变量)在Python里都是按引用传递。如果你在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。

5.3 参数类型

命名参数:使用命名参数就可以传参数的时候以任意顺序传参:
printme( str = "My string");


缺省参数:
def printinfo( name, age = 35 ):


不定长参数:
def functionname([formal_args,] *var_args_tuple ):
星号(*)的变量名会存放所有未命名的变量参数

5.4 匿名函数

使用 lambda 来创建匿名函数:
lambda [arg1 [,arg2,.....argn]]:expression


5.5 return语句

return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None

5.6 变量作用域

全局变量

局部变量

六 模块

简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。

6.1 import模块

import module1[, module2[,... moduleN]


6.2 From…import

Python的from语句让你从模块中导入一个指定的部分到当前命名空间中。

from modname import name1[, name2[, ... nameN]]


例子:

#要导入模块fib的fibonacci函数
from fib import fibonacci


6.3 From…import*

把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:

from modname import *


6.4 定位模块

当你导入一个模块,Python解析器对模块位置的搜索顺序是:

1. 当前目录

2. 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录

3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/

模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

6.5 PYTHONPATH变量

作为环境变量,PYTHONPATH由装在一个列表里的许多目录组成。PYTHONPATH的语法和shell变量PATH的一样。

在Windows系统,典型的PYTHONPATH如下:

set PYTHONPATH=c:\python20\lib;


在UNIX系统,典型的PYTHONPATH如下:

set PYTHONPATH=/usr/local/lib/python


6.6 命名空间和作用域

命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。

如果要给全局变量在一个函数里赋值,必须使用global语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 语法