Python-语法

Python-语法

sf2gis@163.com

2015年1月1日

 

1 基本语法

单行多语句与多行单语句:单行多语句使用;分隔。多行单语句使用\换行。

标识符:与C相同(大小写敏感)。

不支持重载标识符。

语句层次通过缩进来体现。

获取帮助:help(函数名)。

入口函数:当.py文件被执行时,此模块的名称(__name__)将被设置为__main__,通过判断此名称,可以确保当前模块的执行状态。

参考:http://python.usyiyi.cn/python_278/tutorial/datastructures.html

1.1 注释:

独立注释:#

文档字符串注释:在函数、文件、模块的首行添加一行字符串,充当注释,可以用来自动生成文档。

1.2 基本类型

1.2.1bool

1/True 、0/False。

1.2.2字符串(ansi型):

字符列表组成。索引从0开始,负值索引表示从右向左。单字符表示字符串长度为1。

使用单引号或双引号(意义相同)。\为转义字符。

’’’三引号用于定义多行字符串(自动加入\n换行),其中可自由使用单行字符串’’/””。

续行字符:用于行尾的\。

使用print打印字符串。

r/R前缀可以取消转义字符为显示字符。

两个相邻的字符串字面值自动合并。支持+串联,*重复,\换行。支持列表操作【start,end】取部分列表(包括start,不包括end)(start默认值0,end默认值为全部长度)。

len()返回长度。

无法编辑,只能创建新值。注意:字符串值是只读的。

1.2.3Unicode字符串:

使用u/U前缀声明的字符串就是unicode编码的。encode():Unicode-》ansi,decode()相反。

1.2.4print

 打印字符串。如果添加后缀逗号,则不换行。

1.3 操作符

+-*%/(整除,如果两个int操作,则floor整除,如果有浮点数参与,则是浮点除,默认使用double型浮点数),

//(用于整除,无论何种类型都是floor整除)。

**:幂

=:赋值,变量要求先定义后使用。

_:只读型快捷变量,用于表示最近一次操作的结果,定义此变量将会屏蔽全局变量。

in:判断是否在容器中。

del:一切对象的删除功能。

not:否定前缀。

is:相同判断。

and:并。

or:或。

< > ==:比较运算符,可以连续比较。相当于and连接共享操作值。不同类型的比较,只比较类型名。

type():获取类型。

不运行++ --

1.4 流程控制

选择:if…elif…else。无switch…case。

循环:for it in list。whilecond。+else。continue。break。

范围函数:range(start,end,step):生成等差数组列表。

占位语句:pass。

2 函数定义

2.1.1声明

2.1.1.1  def 函数名(参数)

第一行为简介,之后与doxygen相同。默认返回None。可以定义默认值,但默认值只计算一次,如果默认值为容器,则可能会有添加多次。可以使用关键字参数。可以使用可变参数,*name表示一维容器。**name表示字典类型。

return 返回值。

2.1.1.2  lambda表达式: 返回一个匿名函数。

目标:单行函数的简洁写法,尽量不要使用。

方法:lambda表达式

格式:lambda 参数:方法。

参考:http://www.cnblogs.com/evening/archive/2012/03/29/2423554.html

示例:

g=lambda x:x+1

g(1)

>>>2

或者

lambda x:x+1(1)

>>>2

3 容器

参考:http://hi.baidu.com/xifanwu/item/349ea5e269e8aff12a09a4c7

3.1 列表list

可变数组。

使用【】或list()生成。

由【】包裹,逗号分隔声明。支持索引和切片。可读写。可以为切片赋值改变列表。支持+,append(),len()。

3.1.1方法

append,extend,insert,remove,pop,index,count,sort,reverse。

3.1.2应用

3.1.2.1  stack

append()+pop()

3.1.2.2  queue

使用collections.deque,append()+popleft。

3.1.2.3  函数式编程

内置函数:filter,map,reduce,sum(seq)

filter(f,seq):过滤,返回结果为true的输入容器。

map(f,seq):映射,返回所有输入序列的结果。

reduce(f,seq):递减,逐次输入,并返回最终结果。

3.1.2.4  列表解析:快速构建列表

计算规则为由左向右依次深入。可以进行各种复杂的组合。

3.2 元组tuple

只读型常量列表。用()表示,可以混合类型。

使用()或tuple()创建。

只有一个值的元组,用(value,)表示。

3.2.1序列拆分

将元素中值依序列拆分后赋予变量列表。

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弗里曼的小伙伴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值