Python语法概览

一 变量

不需要声明,变量的赋值操作既是变量声明和定义的过程,使用前都必须赋值,变量赋值以后该变量才会被创建。
同时赋值: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语句

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值