Python:入门笔记之list slices计算方法、匿名表达式、CGI、数据类型及应用领域
2015-01-09 16:31
1011 查看
今天有时间,加了个python群,遇到个问题,然后延伸出一系列问题,有关slice,step及仔细研究了下stride的计算方法,结果搞了2个小时左右,期间主要查找各种资料然后理解,这个过程比较慢。。入门就是痛苦啊,闲话不多说了,直接上问题上代码:
针对这个计算,我的理解是string后面跟的[]里面是index,表示对string中字符的索引。
比如[0:n]表示string的中第一个到第n-1个字符,是用0来表示第一个字符的位置。
如果不写开头或结尾,就默认从头开始,或直到最后。例如[:3]其实就是[0:3],就是[0],[1],[2]这三个;[3:]则代表第四个到最后一个。然后如果index中时负数,则表示从后往前算,倒着数。
注意一点,前后索引都是从0开始计算。
slice 有关片的计算
临时届值b=[-1:-2] 实际计算值为[], 故,不存在此界值;
有关片的计算,之前一直很糊涂,一直以为是分步计算,有一个中间值,后来仔细查了查,才明白是没有中间值的,这其中有一个步长的概念
起点,终点,步长
Python支持列表切割(list slices),可以取得完整列表的一部分。支持切割操作的类型有str, bytes, list, tuple等。它的 语法是...[left:right]或者...[left:right:stride]。
假定nums变量的值是[1, 3, 5, 7, 8, 13, 20],那么下面几个语句为真:
nums[2:5] == [5, 7, 8] 从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素。
nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最后一个元素。
nums[:-3] == [1, 3, 5, 7] 从最开始的元素一直切割到倒数第3个元素。
nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回所有元素。改变新的列表不会影响到nums。
nums[1:5:2] == [3, 7] 从下标为1的元素切割到下标为5的元素但不包含下标为5的元素,且步长为2。
add=lambda x, y : x + y
Python匿名函数之lambda表达式
1. lambda表达式用于创建小型的匿名函数,此函数在创建时不需要使用def关键字。
2. lambda表达式可以带有任意数量的参数。
3. lambda表达式不能访问全局变量,只能访问自身参数
4. lambda表达式不能使用print语句输出结果。
lambda表达式只有一句,形式如下所示:
lambda [var1, [var2,...]]:expression
求和的lambda表达式如下所示:
sm = lambda var1, var2:var1 +var2
print sm(10, 20)
程序输出结果为:
30
CGI 意思为 Common Gateway Interface,。一种基于浏览器的输入、在Web服务器上运行的程序方法。CGI脚本使你的浏览器与用户能交互.这个脚本通常象服务器和系统中其他程序如数据库的桥梁。
可执行脚本。
PS:此文仅做记录交流,不做他用。未经允许不得转载。
========================================================================================================================
==============================================我是分割线=================================================================
========================================================================================================================
下面是在百度百科里找的一些基础,有助于培养自己的技能知识,就贴出来了,没兴趣的可以不看。
Python数据类型:
Python内置丰富的数据类型。与Java、C++相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python 3.x):
除了各种数据类型,Python语言还用类型来表示函数、模块、类型本身、对象的方法、编译后的Python代码、运行时信息等等。因此,Python具备很强的动态性。
Python应用领域:
系统编程:提供API(Application
Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft
SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet
及BitTorrent. Google都在广泛地使用它。
Web编程:应用的开发语言,支持最新的XML技术。
多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories
off)风格的AVG游戏,故命名为PYMO。
黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
用Python写简单爬虫。首先,要通过urllib2这个Module获得对应的HTML源码。
通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。
PS:此文仅做记录交流,不做他用。
参考资料:http://baike.baidu.com/view/21087.htm
>>> a="python" >>> print(a[::-1]) nohtyp >>> >>> print(a[:-1]) pytho
针对这个计算,我的理解是string后面跟的[]里面是index,表示对string中字符的索引。
比如[0:n]表示string的中第一个到第n-1个字符,是用0来表示第一个字符的位置。
如果不写开头或结尾,就默认从头开始,或直到最后。例如[:3]其实就是[0:3],就是[0],[1],[2]这三个;[3:]则代表第四个到最后一个。然后如果index中时负数,则表示从后往前算,倒着数。
注意一点,前后索引都是从0开始计算。
<span style="font-size:18px;">a=[2,3,1] print a[-1:-2:-1]</span>
slice 有关片的计算
临时届值b=[-1:-2] 实际计算值为[], 故,不存在此界值;
有关片的计算,之前一直很糊涂,一直以为是分步计算,有一个中间值,后来仔细查了查,才明白是没有中间值的,这其中有一个步长的概念
起点,终点,步长
Python支持列表切割(list slices),可以取得完整列表的一部分。支持切割操作的类型有str, bytes, list, tuple等。它的 语法是...[left:right]或者...[left:right:stride]。
假定nums变量的值是[1, 3, 5, 7, 8, 13, 20],那么下面几个语句为真:
nums[2:5] == [5, 7, 8] 从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素。
nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最后一个元素。
nums[:-3] == [1, 3, 5, 7] 从最开始的元素一直切割到倒数第3个元素。
nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回所有元素。改变新的列表不会影响到nums。
nums[1:5:2] == [3, 7] 从下标为1的元素切割到下标为5的元素但不包含下标为5的元素,且步长为2。
add=lambda x, y : x + y
Python匿名函数之lambda表达式
1. lambda表达式用于创建小型的匿名函数,此函数在创建时不需要使用def关键字。
2. lambda表达式可以带有任意数量的参数。
3. lambda表达式不能访问全局变量,只能访问自身参数
4. lambda表达式不能使用print语句输出结果。
lambda表达式只有一句,形式如下所示:
lambda [var1, [var2,...]]:expression
求和的lambda表达式如下所示:
sm = lambda var1, var2:var1 +var2
print sm(10, 20)
程序输出结果为:
30
CGI 意思为 Common Gateway Interface,。一种基于浏览器的输入、在Web服务器上运行的程序方法。CGI脚本使你的浏览器与用户能交互.这个脚本通常象服务器和系统中其他程序如数据库的桥梁。
可执行脚本。
PS:此文仅做记录交流,不做他用。未经允许不得转载。
========================================================================================================================
==============================================我是分割线=================================================================
========================================================================================================================
下面是在百度百科里找的一些基础,有助于培养自己的技能知识,就贴出来了,没兴趣的可以不看。
Python数据类型:
Python内置丰富的数据类型。与Java、C++相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python 3.x):
类型 | 描述 | 例子 | 备注 |
---|---|---|---|
str | 一个由字符组成的不可更改的有串行。 | 'Wikipedia' "Wikipedia" """Spanning multiple lines""" | 在Python 3.x里,字符串由Unicode字符组成 |
bytes | 一个由字节组成的不可更改的有串行。 | b'Some ASCII' b"Some ASCII" | |
list | 可以包含多种类型的可改变的有串行 | [4.0, 'string', True] | |
tuple | 可以包含多种类型的不可改变的有串行 | (4.0, 'string', True) | |
set, frozenset | 与数学中集合的概念类似。无序的、每个元素唯一。 | {4.0, 'string', True} frozenset([4.0, 'string', True]) | |
dict | 一个可改变的由键值对组成的无串行。 | {'key1': 1.0, 3: False} | |
int | 精度不限的整数 | 42 | |
float | 浮点数。精度与系统相关。 | 3.1415927 | |
complex | 复数 | 3+2.7j | |
bool | 逻辑值。只有两个值:真、假 | True False |
Python应用领域:
系统编程:提供API(Application
Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft
SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet
及BitTorrent. Google都在广泛地使用它。
Web编程:应用的开发语言,支持最新的XML技术。
多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories
off)风格的AVG游戏,故命名为PYMO。
黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
用Python写简单爬虫。首先,要通过urllib2这个Module获得对应的HTML源码。
<span style="font-size:18px;">import urllib2 url='http://www。baidu。com/s?wd=cloga' content=urllib2.urlopen(url).read()</span>
通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。
PS:此文仅做记录交流,不做他用。
参考资料:http://baike.baidu.com/view/21087.htm
相关文章推荐
- OGNL表达式循环List<String[]>类型数据的方法
- Delphi XE2 之 FireMonkey 入门(29) - 数据绑定: TBindingsList: 表达式的 Evaluate() 方法
- python入门,数据类型及方法
- Python笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格
- python 入门学习笔记之基本语法与基本数据类型
- 5-Python3从入门到实战—基础之数据类型(列表-List)
- Python把csv数据写入list和字典类型的变量脚本方法
- Python入门笔记(2)_ 数据类型及取整运算 round,floor,ceil
- Python学习笔记(二):语句、数据类型(快速入门篇)
- Python笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格
- python数据类型dict、list、str、tuple互换方法
- Python入门学习笔记1(变量、运算符、数据类型I)
- Python的入门与进阶的学习笔记之Python基本数据类型
- Python学习入门基础教程(learning Python)--6 Python下的list数据类型
- python基本数据类型list,tuple,set,dict用法以及遍历方法
- Python入门笔记 之 基本数据类型和变量
- python3 入门 个人学习笔记 基本数据类型
- python 基础2 编码转换 pycharm 配置 运算符 基本数据类型int str list tupple dict for循环 enumerate序列方法 range和xrange
- python笔记(一)常用数据类型和方法
- 【零基础入门学习Python笔记005】闲聊之Python的数据类型