Python软件已经安装成功有很长一段时间了,也即或多或少的了解Python似乎也很长时间了,也是偏于各种借口,才在现在开始写点总结。起初接触Python是因为公司项目中需要利用Python来测试开发的接口,于是开始了解这门解释性,面向对象,带有动态语义的高级语言,或是脚本语言,或是胶水语言。便在网上找了一个现成的Python爬虫,在本地测试运行成功,将新浪上面的所有博客地址扒取下来。真心想从基础学起,自己写个,于是,有了这份基础总结,项目模块的开发将在下一篇博文中贴出。敬请关注!

本博文仅记录自己学习Python过程中的点滴,与诸位喜欢Python的菜鸟朋友分享。本博文版权归作者和博客园所有,欢迎转载,但请保留本博文的出处。作者:itRed  联系邮箱:it_red@sina.com   博客链接:http://www.cnblogs.com/itred  GitHub链接: https://github.com/itRed

一.Python产生

    1989年圣诞节,阿姆斯特丹,Guido van Rossum 开发而成。

二.Python的特征

  1. 语言简单;
  2. 解释性和编译性;
  3. 面向对象编程;
  4. 高级语言(无需考虑如内存管理一类的底层知识);
  5. 可扩展性和可嵌入性(很好的和C,C++,JAVA等);
  6. 免费开源;
  7. 可移植性;
  8. 丰富的库。

三.Python的文件类型 

  1. 源代码:以'py'为扩展名的文件,该文件由Python程序进行解释,不需要编译;
  2. 字节代码:Python源代码经过编译后生成扩展名为’pyc’的文件;

    编译方法:

      >>>import py_compile
     >>>py_compile.compile(文件名.py)

  3. 优化代码:经过优化后的源文件,扩展名为’.pyo

    编译方法:

      >>>python –o –m py_compile 文件名.py

四.Python重点笔记

正是因为python比较简单,所以很多关于很多语言都比较常见的语法在这里就不再赘述了。只是介绍一些比较有特点的基础知识。

  1. 查看变量的内存位置:
    >>>a=2
    >>>id(a)

  2. 求幂运算符(**):

    >>>2**3
    8

  3. 整数除法(//):

    >>>3.0//2
    1.0

  4. 复数表示法(Complex):

    >>>c=3.14j

  5. 序列:主要包含字符串,列表,元组等。

  1. 元组(“()”)

    (1)     元组案例

    >>>t=(‘red’,20,’male’)
    >>>t[0]
    'red'
    >>>t[1]    20
    >>>t[2]
    'male'
    >>>t
    ('red', 20, 'male')

    (2)     空元组:newtest=()

    (3)     单元素元组:newtest2=(2,)  *必须要加逗号

  2. 列表(”[]”)

    (1)     序列是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。可以对元素进行赋值操作。

    (2)     列表的组成包含了多个以逗号分隔开的数字或字符串。

    (3)     案例:

      >>>list1=['red',’test’,’张三’]
      >>>list2=[1,2,3,4,5]
      >>>list3=['str1',’str2’,’str3’]
      >>>listred=[‘red’,20,’male’]
      >>>listred[0:3]
      ['red',20,’male’]

    (4)     空序列:

        >>>list=[]

    (5)     列表的基本操作:

      取值:切片和索引,list[]

      添加:list.append()

      删除:del(list[])

        List.remove(list[])

      修改:list[]=x

      查找:var in list

     1. Python控制流程

      就Python的语法而言,基本具有一般语言通用的。判断语句,for循环语句,switch语句等等。都是十分基础的。用几个简单的案例来说明Python这样简单的语言效果会更好。

                   >>>for x in 'hello':
…… print x
h
      e
      l
      l
      o
      >>>st='hello'
      >>>for x in range(len(st)):
      …… print st[x]
        (输出结果同上)

2. if语句:

              >>> x=0
     >>> if x==0:
     ... print ''
     ... else:
     ... print ''
     ...
     0

     3. 索引(迭代序列指数):遍历每个项目的另一种方法是由序列本身的偏移指数(索引)。迭代就是重复执行一个命令。

      >>>fruits=['banana',’apple’,’orange’]
      >>>for index in range(len(fruits)):
      … print 'fruit:',fruits[index]
      … print ‘finish’

      4. 字典的遍历:

      >>> d = {1:111,2:222,3:333}
      >>> for k,v in d.items():
      ... print k,v
      ...
      1 111
      2 222
      3 333
      >>>

      5. 函数

    函数就是为了完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它起一个名字。

    可以通过函数名在程序的不同地方多次执行,这通常就是函数的调用,可以不用在所有的地方重复性地编写这些语句。

    函数分为自定义函数和预定义Python函数,自定义函数是用户自己编写的函数,预定义函数是指系统自带的函数,还有一些第三方编写的函数,如其他程序员编写的一些函数,对于这些现成的函数,用户可以直接拿来使用。

  def 函数名(参数列表):  #可以没有参数列表
     函数体

案例:

  >>> def f(x):
  ... print x
  ...
  >>> f(10)
  10
  >>> f('hello')
  hello
  >>> f([1,2,3,4])
  [1, 2, 3, 4]
  >>>
  >>> def f(x,y):
  ...   print x,y
  ...
  >>> f(1,2)
  1 2
  >>> f('a','b')
  a b
  >>>
  >>> t=['name','red']
  >>> def f(x,y):
  ...   print "%s:%s" % (x,y)
  ...
  >>> f(*t)
  name:red
  >>>
  >>> def f(name='name',age=0):
  ...   print "name:%s" % name
  ...   print "age:%s" % age
  ...
  >>> f()
  name:name
  age:0
  >>> t=(30,'red')
  >>> f(*t)
  name:30
  age:red
  >>> d={'name':'red','age':20}
  >>> f(age=20,name='red')
  name:red
  age:20
  >>> f(**d)
  name:red
  age:20
  >>>

五.  总结 

    本片博文仅仅是Python基础的一部分,本人认为是重点中的重点,作为菜鸟级的Python爱好者,基础往往是走向大神的门槛。只有将基础烂熟于心,方可写出高效而且简洁的代码。对于使用这些基础的知识开发Python的简单模块将在下一篇博客中详细介绍,谨以此文献给奋斗中的自己!

  邮箱:it_red@sina.com
个人博客: http://itred.cnblogs.com
版权声明:本文版权归作者和博客园共有,欢迎转载,但请在文章显眼位置标明文章出处。未经本人书面同意,将其作为他用,本人保留追究责任的所有权利。

Python笔记之不可不知的更多相关文章

  1. Python笔记之不可不练

    如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...

  2. boost.python笔记

    boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...

  3. 20.Python笔记之SqlAlchemy使用

    Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...

  4. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  5. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  6. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  7. python笔记 - day8

    python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...

  8. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  9. python笔记 - day7

    python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...

随机推荐

  1. [转]利用URLConnection来发送POST和GET请求

    URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接.程序可以通过URLConnection实例向该URL发送请求.读取U ...

  2. MFC中如何画带实心箭头的直线

    工作中遇到话流程图的项目,需要画带箭头的直线,经过摸索,解决:思路如下: (1) 两个点(p1,p2)确定一个直线,以直线的一个端点(假设p2)为原点,设定一个角度 (2)以P2为原点得到向量P2P1 ...

  3. 使用NUnit为游戏项目编写高质量单元测试的思考

    0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...

  4. 在centos7上安装ClamAV杀毒,并杀毒(centos随机英文10字母)成功

    前言 上传文件的时候发现总是失败,查看top发现有个进程一直cpu占用80%以上,而且名称还是随机数.kill之后,一会儿又重新生成了.突然发现居然没有在服务端杀毒的经历.在此处补齐. 安装clama ...

  5. bzoj1723--前缀和(水题)

    题目大意: 你难以想象贝茜看到一只妖精在牧场出现时是多么的惊讶.她不是傻瓜,立即猛扑过去,用她那灵活的牛蹄抓住了那只妖精.     "你可以许一个愿望,傻大个儿!"妖精说.     ...

  6. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  7. SpringMvc中的数据校验

    SpringMvc中的数据校验 Hibernate校验框架中提供了很多注解的校验,如下: 注解 运行时检查 @AssertFalse 被注解的元素必须为false @AssertTrue 被注解的元素 ...

  8. [PHP源码阅读]count函数

    在PHP编程中,在遍历数组的时候经常需要先计算数组的长度作为循环结束的判断条件,而在PHP里面对数组的操作是很频繁的,因此count也算是一个常用函数,下面研究一下count函数的具体实现. 我在gi ...

  9. 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群

    前言:       由于公司项目需要,最近开始学习一下分布式存储相关知识,确定使用FastDFS这个开源工具.利用周末的时间在虚拟机上搭建了分布式存储系统,在搭建过程中,发现网上的资料说的并不是很全, ...

  10. [APUE]不用fcntl实现dup2函数功能

    dup2的函数定义为: #include <unistd.h> int dup2(int src_fd, int new_fd); 自己实现dup2函数有几个关键点: 1,检查给定的源fd ...