对Python应用程序进行简述说明

开发 后端
这的确是一个中肯的建议,对于那些从来没有学习过编程或者并非计算机专业的编程学习者而言,Python应用程序是最好的选择之一。

经过长时间学习Python应用程序,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西,学习Python应用程序时,你可能会遇到Python应用程序问题,这里将介绍Python应用程序问题的解决方法。

在所有有名的形参的后面可以有两个特殊的形参,一个以*args的形式命名,一个以**kw 的形式命名。有了*args形式的形参后函数在调用时就可以在正常的能匹配的实参表后面输入任意个数的参数。

这些参数组成一个序表赋给args形参,不能匹配的关键字参数组成一个字典赋给kw形参。在任意个数形参之前可以有0到多个正常的参数。例如:

  1. def cheeseshop(kind, *arguments, **keywords):  
  2.     print "-- Do you have any", kind, '?'  
  3.     print "-- I'm sorry, we're all out of", kind  
  4.     for arg in arguments: print arg  
  5.     print '-'*40  
  6.     for kw in keywords.keys(): print kw, ':', keywords[kw]  
  7. cheeseshop('Limburger', "It's very runny, sir.",  
  8.            "It's really very, VERY runny, sir.",  
  9.            client='John Cleese',  
  10.            shopkeeper='Michael Palin',  
  11.            sketch='Cheese Shop Sketch')  

因为许多人的要求,Python应用程序中加入了一些在函数编程语言和Lisp中常见的功能。可以用lambda 关键字来定义小的无名函数。这是一个返回其两个参数的和的函数:“lambda a, b: a+b” 。Lambda形式可以用于任何需要函数对象的地方。

从句法上讲lambda形式局限于一个表达式。从语义上讲,这只是正常的函数定义的句法甜食。像嵌套函数定义一样,lambda形式不能访问包含其定义的作用域中的变量,但审慎地使用缺省参数之可以绕过这个限制。例如:

  1. >>> for n in range(2, 10):  
  2. ...     for x in range(2, n):  
  3. ...         if n % x == 0:  
  4. ...            print n, 'equals', x, '*', n/x  
  5. ...            break  
  6. ...     else:  
  7. ...          print n, 'is a prime number'  
  8. ...   
  9. 2 is a prime number  
  10. 3 is a prime number  
  11. 4 equals 2 * 2  
  12. 5 is a prime number  
  13. 6 equals 2 * 3  
  14. 7 is a prime number  
  15. 8 equals 2 * 4  
  16. 9 equals 3 * 3  
  17. >>> 

关于文档字符串的内容与格式正在形成一些惯例。***行应该为简短的对象目的概括说明。为了简明起见,这一行不应该提及对象的名字或类型。因为这些可以通过其他途径得知(当然如果对象名字就是一个描述函数操作的动词则当然可以提及其名字)。着以行应该用大些字母开始,以句点结尾。

如果文档字符串中有多行,第二行应该是空行,把概括说明与其它说明分开。以下的行可以是一段或几段,描述对象的调用方法,它的副作用,等等。Python的扫描程序不会从多行字符串中去掉缩进空白,所以处理文档的工具需要自己处理缩进。只要遵循如下的惯例就可以有利于缩进空白的处理。

在***行之后的***个非空白的行决定整个文档字符串的缩进数量(我们不用***行,因为它经常是直接跟在表示字符串开始的引号后面)。文档字符串中除***行以外的各行都要删除等价于此行的缩进量的空白。对制表符将扩展为空格后再删除。

Python应用程序内置的另一个有用的数据类型是字典。字典在其它语言中有时被称为“关联记忆” 或“关联数组”。字典不象序列,它不是用在一个范围之内的数字下标来索引,而是用键值来索引,键值可以是任何不可变类型。

字符串和数值总可以作键值。如果序表只包含字符串、数值或序表则序表也可以作键值使用。列表不能用作键值,因为列表可以用其append()方法就地改变值。***把字典看成是一系列未排序的“键值:值”的集合。

在同一字典内键值是互不相同的。一对空大括号产生一个空字典:{}。在大括号内加入用逗号分开的“键值:值”对可以在字典内加入初始的键值和值对,字典在输出时也是这样显示的。

对字典的主要操作是以某个键值保存一个值,以及给定键值后查找对应的值。也可以用del删除某个键值:值对。如果用一个已有定义的键值保存某个值则原来的植被遗忘。用不存在的键值去查找会出错。

【编辑推荐】

  1. 有关Python系统文件进行介绍指导
  2. 如何正确的使用Python函数
  3. Python 构建工具进行详细介绍分析
  4. PythonAndroid浅析Python优势所在
  5. 如何使用Python模块解析配置文件?
责任编辑:chenqingxiang 来源: 计世网
相关推荐

2010-03-01 10:30:29

Python应用程序

2010-02-22 15:49:35

Python应用程序

2010-02-07 10:21:27

Android应用程序

2010-02-22 17:46:57

Python应用程序

2010-02-02 15:37:11

2010-01-04 09:51:52

ADO连接对象

2010-03-01 18:01:45

Python环境变量

2010-02-26 09:55:22

Python应用程序

2010-02-26 10:55:53

Python系统程序

2009-12-18 17:29:40

ADO.NET应用程序

2010-11-03 15:10:04

SilverlightSilverlightWindows Pho

2011-08-22 09:59:16

2011-06-13 09:38:00

BingiPhoneApp Store

2010-02-22 15:13:01

Python模块

2010-03-03 17:56:44

Android应用程序

2010-03-01 13:13:02

Python应用线程

2020-05-28 09:51:11

Web安全WAF漏洞

2010-01-04 13:56:50

ADO.NET应用程序

2010-03-05 14:52:09

Android应用程序

2010-01-22 10:44:10

VC++应用程序
点赞
收藏

51CTO技术栈公众号