对于Python学习研究总结之谈

开发 后端
比较复杂了吧。如果不熟悉面向对象的概念的,可能会觉得晕,我来解释一下,所谓Python学习研究是把数据和操作数据的函数放到同一个类中去。

除去让人觉得Python学习研究外,当然由切实的好处。比较浅显的是你能够表达一定的层次关系,类与类之间能够有包含和继承的关系。而且对象能够把数据和操作数据的函数放在一起,能够比较清晰。

先是回忆一下字符串字符串既能够用""也能够用''。然后是很有特色的%操作,起到格式化字符串的作用,前面仅仅在字符串中有一个%s,现在有%d和%s两个,分别代表插入十进制数值和字符串于%x标记的位置处。

然后是列表列表是顺序的序列,用append在后面附加,也能构用索引值索引。所以我们完全可以用一个变量保存len(contact_list)得到的长度,然后一个个的遍历。

不过这里展示了另外一种非常方便的方法。而且值得注意的是append()中的参数,Python学习研究我使用了contact.copy(),你可以尝试着把copy()给去掉,观察结果你就知道了所谓的append是怎么干的了。

特别是你对指针之类的东西很有感觉的话(但是在Python中是没有指针这个概念的)再来看看字典字典是键(key)和值(value)的对应组合成的无序的序列。所以你存的时候要指明键(name或者phone),而且取的时候也是一样的。

接下来是判断if是很好用的,==表示判断两个是否相等,=表示把右边的赋给左边的。而且可以直接判断字符串是否相等,这个太方便了,如果你曾经用过strcpy()的话,就知道了。elif是表示else if的意思,如果if不满足就判断elif的条件是否满足,最后是到else中去。

循环是个主体while和for都是循环。不过这里while就没什么说的了,又是很经典的while 1,死循环,然后必须在里面用break来跳出。for和C中的for是不一样的,for in才是一个完整的语句,指的是从一个能够逐一取值的序列中(比如list),一个一个的取出值赋给for后面指定的变量中,直到取空,循环结束。

其实回想一般用C中的for的经历,也大体如此。而且你还可以用for i in range(1,100)来指定一个范围从多少到多少。可以说for in充分体现了python的体贴周到,用起来很直观,不会绕弯。

接下来就是运行了,Python学习研究大家慢慢调试吧。下次可能是讲异常处理,因为我觉得在深入到使用各种高级的要素之前,先要学会怎么去处理异常。最常见的异常应该是input(),然后你给出的输入是一个无法转换为数字的字符串了,那么我们就要来处理它。

Lesson 8 Python中的错误检测写程序什么最重要?完成功能最重要。但是程序中难免要有用户的输入,对于这些写的时候未可预知的因素中间可能出现的错误,一般称作异常。

对于异常情况的处理,不同语言有不同的做法,比如检查函数的返回值之类的,但是那种办法会把代码弄成一团浆糊。Python在这个方面是比较先进的,我们从一个例子来看看:

  1. Traceback (most recent call last):  
  2.   File "<pyshell#4>", line 1, in -toplevel-  
  3.     input()  
  4.   File "<string>", line 0, in -toplevel-  
  5. NameError: name 'sdfsdf' is not defined 

【编辑推荐】

  1. 如何使Python嵌入C++应用程序?
  2. 深入探讨Ruby与Python语法比较
  3. Python学习资料介绍分享
  4. Python学习经验谈:版本、IDE选择及编码解决方案
  5. 浅析Python的GIL和线程安全
责任编辑:chenqingxiang 来源: 博客园
相关推荐

2010-02-05 17:10:01

Android Ado

2010-02-22 09:43:42

学习Python语言

2010-02-02 13:37:12

如何学习Python

2010-02-07 15:12:24

学习Android

2010-01-21 18:00:59

C++语言

2010-01-18 10:53:26

2010-02-06 13:36:57

学习Android程序

2010-01-27 16:52:31

C++语言学习

2010-01-26 17:53:05

C++入门学习

2010-01-15 15:13:28

C++概述

2010-02-24 09:39:25

Python交互式

2010-01-25 11:21:01

C++语法

2010-01-04 10:14:04

ADO.NET对象模型

2010-03-02 14:37:05

Android开源语言

2010-02-05 15:47:00

Android JDK

2011-07-04 13:49:17

2009-12-23 10:07:57

学习WPF

2010-07-16 17:56:18

CMD Telnet

2010-08-05 15:05:44

NFS挂载

2009-11-16 15:32:05

PHP数组函数
点赞
收藏

51CTO技术栈公众号