
Python
文章平均质量分 54
seven-soft
十几年工作经验,软件破解、软件反编译、网络抓包;精通c、c++、java语言,熟悉eclipse、Microsoft Visual Studio、XCODE 开发环境,精通wince和Android开发。精通嵌入式CPU软件开发。
展开
-
5.7 Python字典
字典是Python 语言中唯一的映射类型。映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系。字典就像一个地址簿,在那里你只通过知道他/她的名字,就可以找到地址或联系人详细信息。也就是说,我们使用键*(姓名)与值**(细节)相联系。注意,键必须是独一无二的,就像如果有两个完全相同的名字的人,你无法找到正确的信息。注意,字典的关键字你只能使用不可变的对象(比如字符串),你可原创 2016-07-02 06:50:59 · 329 阅读 · 0 评论 -
4.1 Python模块的概念
您已经看到如何通过一次定义函数在程序中重用代码。如果你想在其它程序中重用一定数量的函数,你将写什么?正如你可能已经猜到了,答案是模块。编写模块有各种各样的方法,但是最简单的方法是创建一个以.py 为扩展名、包含函数和变量的文件。编写模块的另一种方式是使用编写Python解释器本身的本机语言,例如,你可以使用(C语言:http://see.xidian.edu.cn/cpp/)编写模原创 2016-07-01 07:39:40 · 267 阅读 · 0 评论 -
3.14 Python文档字符串
Python有一个叫文档字符串(documentation strings)的好特性,通常用缩写名docstrings来指定。 文档字符串是你应该使用的一个重要工具,它对程序文档有助,令其容易理解。令人惊讶的是,当程序实际运行时,我们甚至可以从例如一个函数返回文档字符串。文档字符串举例:def printMax(x, y): '''打印两个数中的最大值。 两个值原创 2016-07-01 07:38:55 · 1427 阅读 · 0 评论 -
3.13 Python return语句
return 语句用来从函数中return(返回),也就是说跳出函数。同样,我们也可以从函数中选择性地返回一个值。return语句举例:def maximum(x, y): if x > y: return x elif x == y: return '两个数相等' else: return yprint(maximu原创 2016-07-01 07:38:25 · 449 阅读 · 1 评论 -
3.12 Python只有关键字的参数
如果我们想要指定特定的关键字参数作为只有关键字的参数,而不是位置参数,它们可以被声明在星号参数后。例如:def total(initial=5, *numbers, extra_number): count = initial for number in numbers: count += number count += extra_number原创 2016-07-01 07:37:20 · 779 阅读 · 0 评论 -
3.11 Python变量参数
有时你可能想定义一个函数,它可以获取参数的任何值,这可以通过使用星号(*)实现:def total(initial=5, *numbers, **keywords): count = initial for number in numbers: count += number for key in keywords: count += ke原创 2016-07-01 07:36:42 · 568 阅读 · 0 评论 -
3.10 Python参数关键字
如果你有一些有许多参数的函数,您想要指定参数中的一些,那么,你可以通过为参数命名来为它们赋值——这叫做参数关键字——我们使用名称(关键字)而不是位置(我们一直使用的)来指定函数的参数。这有两个优势,一是,使用函数容易,因为我们不需要担心参数的顺序。二是,如果其他参数有默认参数值,我们可以只给我们想赋值的参数赋值。参数关键字举例:def func(a, b=5, c=10原创 2016-07-01 07:35:57 · 367 阅读 · 0 评论 -
3.9 Python默认参数
对于一些函数,你可能想要一些参数是可选,即在用户不希望为它们提供值时使用默认值,这在默认的参数值的帮助下完成的。你可以在函数定义中通过在参数名称后使用赋值操作符(=)后跟默认值来指定默认的参数值。注意,默认参数值应该是一个常数。更准确的说,默认的参数值应该是不可变的——这在后面的章节中做了详细解释。现在,只要记住这点。函数默认参数举例:def say(messa原创 2016-07-01 07:35:06 · 352 阅读 · 0 评论 -
3.8 Python函数中的局部变量和全局变量
局部变量你在函数定义中声明的变量,他们与在函数外使用的其它同名变量没有任何关系,即变量名称对函数来说是局部的。这叫变量的范围。所有变量都有它们被声明的块的范围,从名称定义的点开始。局部变量定义举例:x = 50def func(x): print('x等于', x) x = 2 print('局部变量x改变为', x)func(x)print('x一直是'原创 2016-07-01 07:34:14 · 646 阅读 · 0 评论 -
3.7 Python函数的参数
一个函数可以带参数--你提供给函数的值,利用这些值该函数可以做一些事情。这些参数就像变量除了当我们调用函数时这些变量的值已经被定义,当函数运行时,它们已经有了指定的的值。参数是在函数定义中在一对括号中指定,之间用逗号分隔。当我们调用这个函数,我们以同样的方式提供这些值。注意使用的术语——在函数的定义中给出的名字叫形参,而在函数调用时您提供的值被称为实参。带参函数定义举例:原创 2016-07-01 07:33:10 · 434 阅读 · 0 评论 -
3.6 Python函数
函数是重用的程序片段。它们允许你给一块语句一个名字,允许您在你的程序的任何地方使用指定的名字运行任何次数。这就是所谓的函数调用。我们已经使用了许多内置函数,如len和range。函数概念可能是任何有价值软件中最重要的块(在任何编程语言中),所以,我们将探索函数的各各方面。定义函数使用def关键字。在这个关键字之后是标识函数的名字,其次是在一对括号中可以附上一些变量名,最后在行的末尾原创 2016-07-01 07:32:01 · 731 阅读 · 0 评论 -
4.2 Python模块的导入
Python使用 import 语句导入模块,它的语法如下所示:import module1import module2 :import moduleN也可以在一行内导入多个模块, 像这样import module1, module2, ..., moduleN但是这样的代码可读性不如多行的导入语句。 而且在性能上和生成 Python 字节代码时这两种做法原创 2016-07-01 07:40:36 · 289 阅读 · 0 评论 -
4.3 Python获取模块名称
每个模块都有一个名字,在模块中的语句能够找出它所在的模块的名字。这对于搞清楚模块是否正在运行或被导入这样的特殊用途是很方便的。正如前面提到的,当一个模块被第一次导入时,其所包含的代码被执行。我们可以通过使用这个,根据模块是否被自己使用或从另一个模块被导入,使模块以不同的方式起作用,这些可以通过使用模块的 __name__属性来实现。例子 (保存为 using_name.py):原创 2016-07-01 07:41:17 · 3499 阅读 · 0 评论 -
5.6 Python元组
实际上元组是跟列表非常相近的另一种容器类型。元组和列表看起来不同的一点是元组用的是圆括号而列表用的是方括号。而功能上,元组和列表相比有一个很重要的区别,元组是一种不可变类型。由于元组类型跟列表类型有着如此多的共同之处,为了避免太多重复信息,我们会讲解元组和列表在应用时的区别,然后讨论一下元组的不变性以及其他独特的特性。创建一个元组并给它赋值创建一个元组并给他赋值实际上跟创建一个原创 2016-07-02 06:50:24 · 299 阅读 · 0 评论 -
5.5 Python列表
像字符串类型一样,列表类型也是序列式的数据类型,可以通过下标或者切片操作来访问某一个或者某一块连续的元素。然而,相同的方面也就这些,字符串只能由字符组成,而且是不可变的,而列表则是能保留任意数目的Python 对象的灵活的容器。列表不仅可以包含Python 的标准类型,而且可以用用户定义的对象作为自己的元素。列表可以包含不同类型的对象,而且要比C 或者Python 自己的数组类型都原创 2016-07-02 06:49:35 · 311 阅读 · 0 评论 -
5.4 Python字符串格式化
字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。语法如下:format_string % string_to_convertformat_string为格式标记字符串,形式为“%cdoe”;string_to_convert 为要格式化的字符串,如果是原创 2016-07-02 06:48:57 · 311 阅读 · 0 评论 -
5.3 Python字符串深入探讨
Python中的字符串是不可变类型,就是说改变一个字符串的元素需要新建一个新的字符串。字符串是由独立的字符组成的,也是一种序列,上节中讲到的序列的通用操作方法也适用于字符串。例如:通过切片操作顺序地访问子串;通过len()求字符串的长度等;通过in或not in操作符判断字符串中是否存在某个字符。Python里面没有字符这个类型,而是用长度为1 的字符串来表示这个概念,当然原创 2016-07-02 06:48:19 · 506 阅读 · 0 评论 -
5.2 Python序列的操作
本节向您介绍一些序列通用的操作。下表列出了对所有序列类型都适用的操作符。操作符是按照优先级从高到底的顺序排列的。序列类型操作符操作符说明len(seq)获得序列的长度seq[index]获得下标为index 的元素seq[index1:index2]获得下标从index1 到index2原创 2016-07-02 06:47:22 · 439 阅读 · 0 评论 -
5.1 Python序列
在Python中,有这样一种类型,它们的成员有序排列的,并且可以通过下标访问到它的一个或者几个成员,这类Python 类型统称为序列。常见的序列包括:字符串(普通字符串和unicode 字符串)列表元组因为这些类型其实都是由一些成员共同组成的一个序列整体,所以我们把它们统称为序列。序列类型有着相同的访问模式:它的每一个元素可以通过指定一个下标的方式得到。而多个元素可原创 2016-07-02 06:46:28 · 292 阅读 · 0 评论 -
4.7 Python包的导入
假定我们的包的例子有如下的目录结构:Phone/ __init__.py common_util.py Voicedta/ __init__.py Pots.py Isdn.py Fax/ __init__.py G3.py Mobile/原创 2016-07-01 07:49:33 · 348 阅读 · 0 评论 -
4.6 Python包
现在,你必须开始观察组织你的程序的层次结构。变量通常在函数内部。函数和全局变量通常在模块内部。如果你想组织模块?这就牵涉到了包的概念。包实际上是一个文件夹,它包含了若干模块,使用一个特殊的__init__.py 文件,指示Python这个文件夹是特殊的,因为它包含Python模块。假设你想创建一个叫做'世界'的程序包,分装'亚洲'、'非洲'等等,分包按序包含'印度'、'马达加斯加'原创 2016-07-01 07:48:42 · 323 阅读 · 0 评论 -
4.5 Python dir()函数
您可以使用内置的dir()函数列出一个定义对象的标识符。例如,对于一个模块,包括在模块中定义的函数,类和变量。当你给dir()提供一个模块名字时,它返回在那个模块中定义的名字的列表。当没有为其提供参数时, 它返回当前模块中定义的名字的列表。dir() 函数举例:>>> import sys # 获得属性列表,在这里是sys模块的属性列表>>> dir(sys)['原创 2016-07-01 07:47:12 · 296 阅读 · 0 评论 -
4.4 Python创建模块
创建自己的模块是很容易的,你一直在这样做,始终都是!这是因为每个Python程序就是一个模块。 你只需要确保它有一个.py扩展名。下面的例子会让你明白。例子(保存为mymodule.py):def sayhi(): print('嗨,这是我的模块在讲话。')__version__ = '0.1'上面的是模块的一个示例。正如您可以看到的,和我们通过的Python原创 2016-07-01 07:42:33 · 338 阅读 · 0 评论 -
3.5 Python range()函数
如果你需要一个数值序列,使用内建函数range() 会很方便,它产生等差级数序列。以下代码生成长度为5的数列:for i in range(5): print(i)输出:01234注意:默认情况下,range() 的起始值是 0。当然,可以让range() 的起始值定为某一个数,也可以指定一个不同的增量(甚至可以为负;有时这原创 2016-07-01 07:31:12 · 2594 阅读 · 0 评论 -
3.4 Python break和continue
break语句和continue语句都用来跳出循环。break语句break语句是用来跳出一个循环语句,即停止执行一个循环语句,即使循环条件还没有成为False或序列的项目没有被完全遍历。很重要的一点是,如果你跳出for或while循环,任何相应的循环else块是不执行的。例如:while True: s = input('输入一些东西 : ') if原创 2016-07-01 07:30:26 · 491 阅读 · 0 评论 -
2.2 Python数字
Python 支持四种基本数字类型,它们分别是:int (有符号整数)long (长整数)float (浮点值)complex (复数)下面是一些例子:类型举例int0101 84 -237 0x80 017 -680 -0x92long29979062458L -84140原创 2016-06-30 10:00:03 · 381 阅读 · 0 评论 -
2.1 Python注释
注释是#符号右边的任何文字,它对读程序的人有很大注释用处。例如:print('Hello World') # 注意:print是一个函数或者:# 注意:print是一个函数print('Hello World')在你的程序中,你尽可能使用有用的注释:解释设想解释重要决策解释重要细节解释你在试图解决的问题解释程序中你在努力克服的问题,等等。原创 2016-06-30 09:59:19 · 300 阅读 · 0 评论 -
1.8 Python help()
如果您需要快速获取任何的Python函数或语句的信息,那么您可以使用内置的“help”(帮助)功能。这是非常有用的,尤其是当使用翻译提示符时,例如,运行‘help(print)”——这将显示print函数的帮助--用于打印东西到屏幕上。注意:按q退出帮助。类似地,您可以获得Python中几乎任何事情的信息,使用“help()”去学习更多关于使用“help”本身的信息!如果你原创 2016-06-30 09:58:37 · 289 阅读 · 0 评论 -
1.7 Python源文件
现在让我们回到编程。每当你学习一种新的编程语言时,有一个传统,你编写和运行的第一个程序是“Hello World”程序——当你运行它时,它所做的只是说“Hello World”。正如Simon Cozens(神奇的"Beginning Perl"的作者)所说,这是“向编程神祈求帮你更好学习语言的传统咒语。”开始你选择的编辑器,输入以下程序并将其保存为“hello.py’。如果你使用原创 2016-06-30 09:57:43 · 972 阅读 · 0 评论 -
1.6 Python编辑器
我们不能在每次想要运行一些东西的时候都要在解释器提示符下输入我们的程序,所以我们必须把它们保存为文件,这样我们可以任意次地运行我们的程序。要创建我们的Python源文件,我们需要一个可以输入并保存它们的编辑软件。一个优秀的程序员的编辑器将使你写源代码文件的生活更容易。因此,选择一个编辑器确实至关重要。你必须选择一个编辑器,就像你选择要买的汽车一样。一个好的编辑器会帮助您很容易地编写Pyth原创 2016-06-30 09:56:59 · 426 阅读 · 0 评论 -
1.5 输出Hello World
现在,我们将看到在Python中如何运行一个传统的“Hello World”程序。这将教你如何写、保存和运行Python程序。使用Python运行你的程序有两种方法——使用交互式解释器提示符或使用一个源文件。现在,我们将看到如何使用这两种方法。使用解释器提示符在您的操作系统中打开终端(如上节所示),然后,输入“python”按回车键,打开Python提示符。一旦你启动p原创 2016-06-30 09:56:05 · 466 阅读 · 0 评论 -
1.4 Python的安装
在Windows上安装到Python官网(http://www.python.org/)下载最新版本的Python安装包。安装过程和其它基于Windows的软件类似。注意:当提示某些“可选”组件的时候,不要不选。DOS提示符如果你想要在Windows命名行,例如DOS提示符,使用Python,那么你需要正确设置PATH变量。对于Windows 2000、XP、200原创 2016-06-30 09:55:22 · 293 阅读 · 0 评论 -
1.3 Python 2与Python 3
如果你不关心Python 2和Python 3的区别,可以跳过这一节。但是必须知道你所用的版本。2008年,这部教程为Python 3重写过,是使用Python 3的最早的教程之一。不幸的是,这对于那些读着本教程却在使用Python 2的读者感到困惑,反之亦然。但慢慢地,大家都转移到了Python 3。所以,在本书中你将要学习使用Python 3,即使最终你还想用Python 2。原创 2016-06-30 09:54:21 · 388 阅读 · 0 评论 -
1.2 Python的特点
尽管Python 已经流行了超过15 年,但是一些人仍旧认为相对于通用软件开发产业而言, 它还是个新丁。我们应当谨慎地使用“相对”这个词,因为“网络时代”的程序开发,几年看 上去就像几十年。当人们询问“什么是Python”的时候,很难用任何一个具象来描述它。人们更倾向于 一口气不加思索地说出他们对Python 的所有感觉,这些特点究竟 又是什么呢?为了让你能知其所以然,我们下面会对这些特点原创 2016-06-30 09:53:21 · 612 阅读 · 0 评论 -
2.3 Python字符串
字符串是字符的一个序列,字符串通常只是一串单词。在你写的每一个Python程序中都要使用字符串,因此要注意以下部分。单引号你可以使用单引号例如'Quote me on this'指定字符串。所有的空白,例如空格和制表符都按原样保留。双引号在双引号中的字符串和在单引号中的字符串工作起来完全一样。例如"What's your name?"三重引号您可以使用三原创 2016-06-30 10:01:57 · 331 阅读 · 0 评论 -
2.4 Python标识符
标识符是电脑语言中允许作为名字的有效字符串集合。其中,有一部分是关键字,构成语言的标识符。这样的标识符是不能做它用的标识符的,否则会引起语法错误(SyntaxError 异常)。合法的Python 标识符Python 标识符字符串规则和其他大部分用C 编写的高级语言相似:第一个字符必须是字母或下划线(_);剩下的字符可以是字母和数字或下划线;大小写敏感。标识符不能以数字开头原创 2016-06-30 10:02:45 · 355 阅读 · 0 评论 -
3.3 Python for in循环
for..in语句是另一个循环语句,它迭代一个对象的序列,例如经历序列中的第一项。在后面的章节,我们将会看到更多关于序列的细节。现在,你需要知道的是一个序列只是一个有序的项目的集合。例如 (保存为 for.py):for i in range(1, 5): print(i)else: print('for循环结束')输出:1234fo原创 2016-07-01 07:29:33 · 1266 阅读 · 0 评论 -
3.2 Python while语句
while语句是被称为循环语句的一种。只要条件为真(true),while语句允许您多次执行一个语句块。while语句可以有一个可选的else子句。例如:复制纯文本新窗口number = 23running = Truewhile running: guess = int(input('输入一个整数: ')) if guess == number:原创 2016-07-01 07:27:49 · 373 阅读 · 0 评论 -
3.1 Python if else语句
if 语句是用来检查一个条件:如果条件为真(true),我们运行一个语句块(你为if块),否则(else),我们执行另一个语句块(称为else块)。else子语句是可选的。例如(保存为 if.py):number = 23guess = int(input(‘请输入一个整数:’)) #等待输入整数if guess == number: print('恭喜,你猜对原创 2016-06-30 10:08:04 · 709 阅读 · 0 评论 -
2.11 Python字典
字典是Python 中的映射数据类型,工作原理类似Perl 中的关联数组或者哈希表,由键-值(key-value)对构成。几乎所有类型的Python 对象都可以用作键,不过一般还是以数字或者字符串最为常用。值可以是任意类型的Python 对象,字典元素用大括号({ })包裹。如果您熟悉JSON,那么字典和JSON是类似的。>>> aDict = {'host': 'eart原创 2016-06-30 10:07:20 · 246 阅读 · 0 评论