python基础1--小结篇

   如果有别的编程语言基础,python属于极好上手的一门语言。应用上,用“自取所需”来描述,最为贴切。

   首先,放上一些推荐。

安装上:

1、python3.5.1(推荐官网直接下载,自带IDLE),安装不麻烦,记得增加环境变量即可

2、编辑器:sublime 其实,并没有使用很多,但是推荐的人超多 ,破解版网上很多,按资源下载即可

3、IDE: 强推 pycharm 对JetBrains软件执着的热爱  方便又美观 网上能找到找到注册码,学生用edu邮箱可以免费使用,当然,支持正版!

熟悉上:

语言学习秉持一句话:无论多简单的代码,坚持自己敲一遍~

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

     这是廖雪峰的教程网址,对python的学习,笔者以这份教程加上 O'Reilly系列的 introduction python 共同学习,基本所有代码都自己敲过一遍。以下是对于一些关键点做一些整理。虽然,很多细碎的知识点仍旧不是很清楚。

     首先在初步学习之后,贴出python个人体会较深的几个特点:

1、简单

Python是一门简单而文字简约的语言。阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语。Python的这种伪代码特性是其最大强项之一,它可让你专注于解决问题的办法而不是语言本身。

2、容易学习

正如你即将看到的,Python非常容易上手。就像刚刚提到的,Python具有格外简单的语法。

3、免费开源

Python是一个FLOSS(自由/自由与开源软件)的例子。在一些简单的条款之下,你可以自由地分发这个软件的拷贝,阅读其源代码,修改它,或者将其 一部分用到新的自由程序中。FLOSS是基于共享知识社区的概念,这是Python如此好的原因之一——它是由那些希望看到更好的Python的社区创建 和不断改进的。

4、高级语言

当你使用Python编写程序时,你永远不需要担心低级细节,比如你的程序管理内存的使用等

5、面向对象

Python同时支持面向过程和面向对象编程。在面向过程语言中,程序围绕着过程或者函数(只不过是可重复使用的程序片段)构建。在面向对象语言中,程序 围绕着对象(数据和功能的组合)构建。Python具有非常强大但是过于简洁的执行面向对象编程的方式,特别是相对于C++或者Java这种大型语言来 说。

    接下来,说一下自己的体会。前四点,是显而易见的。但是,在面向对象理解的问题上,python似乎要比Java强一些。反正对于个人来说,Java的面向对象上理解了挺久,在这边应用起来就比较顺畅了。对于继承、多态等问题上,有较好的应用。

    另外,它还有很多强大的特点,但是笔者现阶段还未应用到大型工程,所以对可移植性等并没有深刻体会。在扩展库上,下一篇会说明。

    下面是对python基础知识做一个脉络梳理,可以作为学习提纲:

1、数据类型:booleans (True & False) integer  float  string

2、数据结构:list  tuple dictionary sets 属于基础又常见的 注意每种数据结构各自的方法,如append delete等 introducing python 这本书写的非常具体,可以作为一本工具书使用

看下面这个例子:区别一下

当然,数据结构不是独立的,可以混合使用嵌套,具体例子,自行学习

3、代码结构  for  if  while 用法 注意规范,和别的语言区分开(笔者犯得最多的错 就是漏了好多冒号,希望写惯了C++的盆友们注意啦~)

4、函数

    函数可以说是编程的灵魂。首先需要知道函数规范,另外,也牵涉到几个问题:

(1)参数问题,python函数参数分为:必选参数 默认参数 可变参数 关键字参数 和 命名关键字参数,把这五类参数的问题弄清楚,对编程极有裨益

(2) Gather Positional Arguments with *      Gather Keyword Arguments with **

(3)函数嵌套什么问题就不多说,大家在实践中慢慢领悟

(4)强调一下:lambda函数,匿名函数,使用频率还蛮高(放一下用法:可以很好节约定义)

 (5)这里提出两种特殊的容器:generators 和 decorators

推荐两篇文章,分析的很不错

generators:http://www.jb51.net/article/63929.htm

decorator:http://blog.csdn.net/wklken/article/details/8118942

5、模块

对于模块可以import 整个,也可以只引入部分,模块化调试会更高效一些

6、类(面向对象)

第一个关键点:继承 A(object) or A(B)

第二个关键的:调用方法

第三个关键点:【super】 Use super() when the child is doing something its own way but still needs something from the parent (as in real life).

常用__name__表示不可修改的变量

常见用法

(1)property属性  一般针对私有变量,或者为了做一些规范检查

     两大作用

  • 将类方法转换为只读属性
  • 重新实现一个属性的setter和getter方法

     两种方式

  • property(get_name, set_name)
  • @property
    ... def name(self):
    ... print('inside the getter')
    ... return self.hidden_name
    ... @name.setter
    ... def name(self, input_name):
    ... print('inside the setter')
    ... self.hidden_name = input_name

(2)特殊方法

例子:

     其他细节不一一赘述。希望大家好好看看书和教程,不妨多看几遍,每一遍会有不一样的体会

 

posted @ 2016-07-29 18:05  biyoner  阅读(199)  评论(0编辑  收藏  举报